Windows. Windows is the final boss in my Colemak journey, and I have finally beaten it.
My Colemak journey started a couple of years ago. After a bit of learning and overcoming some issues I have been happily using Colemak on my Linux system full time.
For work however, things have not been quite so comfortable. I have ranted about trying to use Colemak on Windows for work before. The best option I found was to use AutoHotKey and Portable Keyboard Layout.
Without Admin access on my work laptop I had some issues with getting the AutoHotKey Colemak script running, although using Portable Keyboard Layout worked. Or at least it worked as long as I remembered to start the app after logging in. It doesn’t work at the login screen so I had to use the laptop’s keyboard for that.
Prior to actually doing any work I had to upload the Portable Colemak app to each of the remote Windows systems I access, yet when the remote screen locked I couldn’t use Colemak to enter the password so had to use the laptop’s keyboard again.
While this worked enough to only slightly annoy me on a daily basis, the bigger gripe was the inability to remap Capslock to Control and Escape. On Linux I have been doing this using the xcape tool, there is no way of achieving the same in Windows that I’ve found (without admin access).
Then one morning it suddenly dawned on me, could I do this in the keyboard firmware? The short answer, yes.
For both my custom keyboards, one using VIA/QMK and the other ZWK, I could define a Mod-Tap key to replace Capslock with Control/Escape. This was a game changer for my work system and also got me thinking, what would happen if I configure Colemak at the firmware level?
It turns out that this does exactly what I hoped. Colemak now works on Windows at every level without any apps or config changes. The same is true on my Linux system, which means I don’t need my custom keymap or the xcape tool.
Irritatingly this didn’t occur to me before, but modifying the firmware has made working in Windows so much better as well as allowing me to cut out some config changes from my Linux system.
Windows smashed, finally.