Nine keyboard layout tweaks

· keyboards · geekery ·

Now that I have settled in to using my Nine keyboard (see Part one and Part two), I have been thinking about small tweaks to the layout. I think that you need to use a layout for a reasonable amount of time before you figure out what really works and does not work for you. In my case, I wanted to rethink the one-shot aspects of the second alpha layer.

I had more or less adopted Ben Vallack’s layout completely, just adding a function key layer and tweaking one or two positions for symbols and so on. Notably, I kept his arrangement for the second alpha layer. He has a clever one-shot setup for this layer, whereby the second alpha layer is disabled as soon as a single key on that layer is tapped. This prevents a problem where you are slow to let go of the layer key and so accidentally get more than one keypress on the second layer when you only wanted one, and means that you can roll quickly through the keys without worrying too much about timing.

However, everything is a trade-off. Making the second alpha layer one-shot means that in order to type more than one character from the second alpha layer successfully, you need to press the layer key, then (say) ‘b’, then release the layer key, press it again then press ‘b’ again. I found this key ’twiddling’ quite cumbersome and slow for my fingers, both for entering text and for issuing commands (for example in normal mode in neovim). I wondered how it would work for me if I converted the layer key to a standard momentary layer key. In other words, the layer would be engaged for as long as I held the key, then would disengage when I let it go.

I set it up and have been using the new layout for a week or so. It does make typing feel much more fluent for me, though of course I then experience the opposite trade-off, and accidentally get additional characters on the second layer for some combinations. For example, entering a second layer character from the left half of the keyboard then wanting ’e’ (on the right half of the keyboard) seems to be occasionally problematic, so I end up with ‘v.’ or ‘k.’ instead of ’ve’ or ‘ke’. It happens more frequently when I am tired and typing sloppily, so I am hopeful that I will eventually train myself to avoid the error and release the layer key more snappily on those combos. I’m not certain that I will stick with this change, but it feels much more natural for my typing style so far, and my accuracy tends to be better.

Changing to a momentary layer meant that I could simplify a few other things. I no longer need a separate layer for uppercase versions of the characters on the second alpha layer, so I was able to reclaim one of the thumb keys. The only slight issue was that I needed somewhere to put the comma, as that had no equivalent on the first alpha layer. I put that on the right inner thumb key, and moved my ‘meh’ key as a hold on that key. I was surprised how quickly I adapted to this. To round things up, I made the thumb keys more consistent on all layers, so that the inner thumb on the left half always acts as shift on hold (and switches to the base alpha layer on tap), and the inner and outer thumbs on the right do Option and Command respectively on most layers other than the alphas. I removed the repeat key, as I found it hard to remember to use it, and I no longer need it now that repeated key combinations involving the second alpha layer are easier to repeat. To repeat Cmd+Z for example (which was previously really tricky), I can hold the shift key and top row index key (Shift and Cmd), then the outer right thumb key for alpha layer 2, then tap ‘z’ as many times as I need while holding the other keys. Neovim normal mode commands like ‘j’, ‘k’, ‘w’, and ‘b’ are even simpler to repeat by holding the right thumb key and tapping the required key.

If you are curious about the changes, you can see the current keymap in the GitHub repo. This ridiculous little keyboard continues to delight me. I recently reused the components from the Piano keyboard to make a second Nine keyboard for work with my two remaining PCBs, which does not have a fancy case for now. I am currently using it semi-wirelessly (the left side is connected to the computer by a USB-C cable and the right connects to the left via Bluetooth) because one of the batteries from the Piano is no longer working. It is surprisingly useful like that, but I will probably eventually get another battery so I have the flexibility to use it fully or partially wireless.