Close

Keyboard Layout and Layers

A project log for Lattice60

Custom Ortholinear 60-ish Percent Mechanical Keyboard

primenumber1PrimeNumber1 04/30/2023 at 03:390 Comments

The layout and key functions of this keyboard have evolved substantially since its initial use. Since I run the QMK firmware on the Pro Micro, I have fine-grained control over the behaviour of every key. The changes I made over time, aimed to reduce finger movement and increase typing comfort – to a point where some of the keys of the board remain used altogether (those keys would be eliminated in a v2 of the Lattice keyboard). I expect more changes to the firmware to be pushed to my Github repo in the future.

The current firmware compiles with QMK v0.17.

Optimising Keyboard Layers

I went with Colemak-DH as the base layout and incorporated the NEO layer 3 for symbols, similar to what has been done by Jan Lunge. Just like him, I also added one layer for navigation and numbers. Then I made the following modifications for a more seamless interaction between the layers:

Reducing Finger Movement

QMK gives many options to reduce the travel distance of the fingers. The keys I found most straining were the far-away ones which I had to reach with my right pinkie. Here are my attempts to keep by fingers as close to their natural position as possible:

Tuning QMK Parameters

The behaviour and timing of QMK keystrokes has been adjusted precisely. A caveat of overloading keys with so many functions is that an unintended action might be triggered. The following adjustments reduce the chance of that happening:

QMK offers a function get_tapping_term() that allows the user to specify tapping terms for individual keys. It can also be applied to Tap Dances. I increased the tapping term for Caps Lock, because my left pinkie sometimes wasn't fast enough to double tap within 175 ms.

Learning How to Type with a New Layout

Rewriting the muscle memory for Colemak and the new key positions took quite a bit of time. Even doing minor changes to the layers, like the ones mentioned above, needed at least 1 to 2 weeks to be fully incorporated into my typing habits. I wouldn't recommend making drastic changes too often.

I started learning Colemak using keybr.com. Instead of real words, you are asked to type common letter combination in the English language. They start off with only a few fingers and add more one by one. Then I moved on to monkeytype for the following progression:

  1. Typing of lists of words, with all lower-case letters to reinforce the letter combinations.
  2. Adding capitalisation and punctuation.
    But I felt that, after a while, the word lists are quite repetitive and and didn't help to improve my day-to-day typing.
  3. Using extra long (called thicc) quotes to diversify the vocabulary and also practice endurance.
    But after a few months I got bored of typing the same quotes over and over again.
  4. Saving chapters of books, which I wanted to read anyways, as custom Long Text (Book Mode). This mode allows you to interrupt the typing (and generate a result) even before the text is completely finished. I usually upload one chapter as a single Long Text and break after each section, which give me continuous typing sessions of 20 to 30 minutes.

Discussions