My way of inputting text into computers has always been some degree of messed up. This comes at a cost.
At first I never learned to touch type. I went through university doing some kind of arbitrary combination of muscle memory and looking down at the keyboard every now and then to coordinate my fingers. Not very efficient.
At this point, I was (like everyone else around me) using Swedish Qwerty:
Moving abroad
After university, I moved to the UK and started working as a software engineer. Work provided me with a laptop with an UK Qwerty layout. Shortly thereafter I figured that if I’m going to touch computers for a living I might as well try to do it properly. I decided to learn touch typing. Fingers on the home row, making sure to press the correct key with the correct finger. Things of that nature. I was on the track to start inputting letters into the computer a Normal, Proper way.
Of course I messed this up almost immediately. I decided since I’m going to learn this, why not try that ergonomic alternative, the Dvorak layout?
It took me years to realize what a mistake that was. But to start with I was pretty happy with my choice. Dvorak feels nice to type! The way you mostly bounce between consonants on the right and vowels on the left. The ‘rolling’ when you type the ‘th’, ‘ch’, ‘wh’ digrams.
I bought my first specialized keyboard too, the TypeMatrix:
I liked typing with the Dvorak layout and ended up averaging just below 90 WPM on Typeracer. Certainly quick enough for typing not being a bottleneck when programming. But the problems started to appear. The small annoyances.
Is the OS set to Dvorak layout or do I need to change the mode on my keyboard so it sends scancodes that emulates to Dvorak? Is the OS then set to US Qwerty so that the Dvorak emulation is correct or will there be subtle differences due to regional Qwerty variants?
What if I don’t have my special keyboard at hand?
How do I write an email in Swedish? Is Swedish Dvorak installed on this machine or do I need to set it to Swedish Qwerty and use Dvorak emulation on my keyboard? Where does Å, Ä and Ö end up then?
Moving back to Sweden
Some 3 and a bit years later, I moved back to Sweden. Using Swedish Qwerty was out of the question at this point. I was in too deep with Dvorak. Unlearning it and relearning Qwerty would be brutal. And the positioning of the special characters I would need to relearn too after years of getting accustomed to their position in the English layouts.
Now, back in Sweden I found myself needing to type in Swedish way more often once again. It was time to for my input method to get even more messed up.
I got an Ergodox EZ. It is QMK-based, so you can define your own keyboard layouts and use a layer system to switch between them. My keyboard now has 3 different base layers I can switch between:
- Normal layer. The scancode layout matches what a normal keyboard would have, so if my OS is set to Dvorak then I type Dvorak. If I switch to Swedish Dvorak then that’s what I type instead.
- Dvorak emulation layer. Only works with the OS set to US Qwerty.
- Swedish Dvorak emulation. Only works with the OS set to Swedish Qwerty.
This works, but it is so janky. Having to constantly monitor what the OS layout is and ensuring that your keyboard’s mode matches is so annoying. And having to rebind keybinds in every game is not something I want to do, so I would just make sure to switch to US Qwerty before launching a game. (Fun fact: many games do not handle the OS layout changing during runtime.) This means that my OS would need to be set up to juggle three layouts, Dvorak, Svorak and US Qwerty. Juggling layouts is incredibly annoying. The flavor of the annoyance varies depending on the OS. There are like 3 different ways you can set your keyboard layout on X11, all with subtle differences. This is not counting any additional keyboard layout mechanism that your desktop environment (if any) layers on top of all this.
I kept going like this until one day I needed to make my method of making letters appear in a computer even stranger.
Speaking letters into the computer
I got RSI in my wrist and started using Talon Voice. I could write a whole blog post about just that (and I likely will), but the gist of it is that it uses voice input to interact with the computer, including writing text. The image above shows my phonetic alphabet I use to input individual letters. (I call it my alphabet because I have altered it from the phonetic alphabet that comes with the stock community config.) The voice recognition allows for inputting words and sentences in one utterance, but sometimes you need to type individual letters too in which case you use the phonetic alphabet.
This is what I use in my daily work to write code. I’ve gotten pretty good at it.
Now, my wrists have healed and restricting myself to use Talon for work is sufficient for me to be able to use a keyboard and mouse for stuff outside work without hurting my wrists. For instance when using Blender 3D.
I start using Blender
Blender is really hard to use without keyboard shortcuts. Eventually you realize that there are a few very often used operations for which you need to use the keyboard shortcuts to speed things up. Grabbing, Scaling, Rotating around the X or the Y or the Z axis. Insetting faces. Duplicating things. Xeleting things. Making ctrl-roop cuts.
One senses a pattern. All the most frequent keys are on the left hand so you can keep your right hand on the mouse the whole time. I, the Dvorak user, wish I could do that too. Unfortunately the frequent keys are spread all over the keyboard for me. Time to start inputting letters in a new, messed up way.
(Update 2024-11-06: The above picture might not display correcly if you are reading this in an RSS reader, in which case you should imagine the above image but mirrored.)
My keyboard now has a new layer in which I can hold down a modifier key with my left thumb, causing my entire Dvorak layout to be mirrored. BAM! All letters are available to me on my left hand!
I’ve tried to write stuff using this monstrosity using only my left hand. It works but takes a lot of concentration and is way slower. I have not yet tried using it in Blender, but I will put in an effort this weekend. I think it has potential though, there is no need to get a high WPM using this, just a matter of getting a bit of muscle memory established for the common operations. I’m hopeful! A nice part of it is that if I move my right hand from the mouse to the keyboard, the keyboard will just function normally and I can input text the way I’ve always done it. This is good if I want to search for a specific function or node in the node editor for instance.
So yeah. These are the efforts I put myself through all because of one decision a decade ago: Learning Dvorak and getting in too deep to be able to unlearn it in favor of Qwerty. But hey, as long as I can program my keyboard to be the correct level of messed up to suit me, I’ll be able to get by.
If you ever want to use my computer, good luck. And remember not to swear too loudly or Talon Voice will interpret that as input.