For about a year and a half now, I have used a nonstandard keyboard layout, colemak-dh. I wrote about my initial transition here. A year and a half is probably enough time for some ~reflections~.
My main goal in transitioning to this layout was not speed – it was comfort (when typing words, not code). At then end of a few hours mashing a qwerty layout, I would notice hand fatigue and myself becoming frustrated typing at the keyboard at the end of the day. It’s safe to say that mission has been accomplished; if anything, I sometimes feel guilty I don’t type more in order to experience those sweet, sweet handrolls.
That’s not to say there’s been no challenges:
- I must remap keys or use a qwerty board for games
- I must remap interfaces that I plan to use long term
- I lost the ability to touch type at full speed on qwerty
- I depend on running software to change the layout or having a physical board on me with colemak-dh bindings
For software keyboard remapping, autohotkey has me covered on windows, and setxkbmap has me covered on linux (granted, I had to do some tweaking to get a no-root-needed solution). In other cases I’m at the mercy of the software I’m provided to allow me to remap actions to keys. Luckily that’s mostly emacs, which lets me map things on a grand scale. For hardware keyboard remapping, I’m currently just relying on a configured pok3r keyboard that I can take with me for more adhoc situations.
The next step on this “typing journey” is really just to get better at writing and communication. Typing in comfort means nothing if I don’t do it, and deciding to put this much effort into it is sort of a commitment to “work” – at the end of the day I am writing for other people, including my future self.