My customizations for the firmware of the Keyboardio Model 01 keyboard.
I plan to very heavily cater to my own very specific needs here, but I may also use this as the starting location to useful functionality that will eventually be spun into standalone plugins useful to the larger community.
There are a couple unobvious factors that have led to some of the decisions made herein:
-
While I believe that the caps lock key is useful and has its place, I don't believe it needs to be easily reached. I am not using my caps lock key as a caps lock. I use a Windows utility called WinCompose with my caps lock key set to act as a compose key. Caps lock is toggled by pressing both shift keys together. I'd set it to something more obscure, but I will still occasionally be using a normal keyboard.
-
I have no qualms against very heavy modification of my keyboard, but I've already done that in the past before receiving my Model01. While I'm not using the same modifications (e.g. having a numpad under my right home row removes any need to mess around with number row placement) those modifications have informed my layout on this keyboard.
-
I'm a heavy Vim user. It's one of many applications that will likely inform what I do with my layouts and modes. Vim in particular will heavily inform the default layer/mode. Other applications, like games such as Dwarf Fortress, will inform other modes or even receive dedicated modes.
-
The LEDs weren't a big part of why I bought the Model01. When I first began looking into getting one, I emailed Keyboardio about the possibility of saving costs by omitting them. They answered that they only add something like $10 to the total cost, so you may as well at this price point. I completely agree. One of the things I had at first wished the Model01 had was an LCD screen, like the Ergodox Infinity, but I realized individually addressable lights under each key could actually be more informative, and that more fluently. This is all to say that I have a more utilitarian view of how the lights should be used. I'll still leave in some eye-candy color modes for showing the device off, though.
This project can be compiled and used using the instructions found here (Linux, Mac).