the quest for the perfect keyboard layout for emacs
So after you get an ergonomic keyboard, is there something else you can do to improve the efficiency and make the typing more comfortable? There sure is….the first to do is to learn to touch type. If you are a hunt-peck-and-hunt typist then it is probably a wise move to invest some time in learning to touch type.
Another important factor in making the typing process more comfortable is the layout of the keyboard itself. The most commonly used layout is QWERTY which almost everybody is familiar with. It works pretty well for most people but is definitely not the most efficient or the most comfortable by any standards.
If you are planning to learn to touch type then this is as good as a time to learn a new layout as well. There is nothing wrong with QWERTY …..billions of people use it every single day….and it is omnipresent. So you could very well learn to use that. But there are several other layouts out there that are several times better than the QWERTY.
Alternate Keyboard Layouts
There are several other layouts that have been developed over the years which are better suited for modern day usage. Some of the "popular" ones in no particular order are:
These are only a few of the layouts of the several hundreds that have been developed. Almost all of them are way better than the QWERTY layout so you cannot really go wrong with any of them. So pick one that looks most comfortable to you and start learning…….unless you want to learn the best layout that is customized just for you and is the most efficient to your needs….
The Rabbit Hole
This is where I started to go nuts. I wanted to find the single best layout that was the most comfortable to type on. The speed was not a top criteria to start with, at least not for me. I want to type at a reasonable speed to be efficient but I mostly wanted it to comfortable. I assume that if I can get to around 50 or 60 wpm with a high accuracy that will suffice for me. I did not have a need to be super fast or to break world records.
I started out with Colemak. If anything, it did convince me that it is much more comfortable to type on than the traditional layout. So what about the other ones, are they even more comfortable? There was only one way to find out. So I switched to Halmak to give that a try.
Along the way I found out some things that means comfort to me. I noticed that my pinkie fingers are a tad shorter than average relative to the ring and middle fingers. That meant that I was moving my wrists outward to reach the top left and right keys and that was somewhat uncomfortable. I can easily curl the pinky to hit the lower key in the bottom row.
Another quirk was that I can easily extend my middle finger to reach the top row but it is really hard to curl it to reach the bottom row. This is probably true for many people…I am guessing. Having to curl the middle finger involved having to lift up the whole hand off the keyboard and breaking whatever little rhythm I had while typing.
Looking at the parameters used to calculate the efficiency and effort of different layouts, I came to the conclusion that these were not the issues faced by the general population. Also I read about how it was difficult for many people to extend their index fingers sideways …..but somehow I didn't find that to be hard (at least as of today). So that meant that these layout were meant for most people but not all of them.
Also most layouts were optimized for standard keyboards that are staggered. But I had a split keyboard with an ortho-linear layout. Although it is quite possible to adapt a layout to the split keyboard, it won't be the most efficient because it was not designed for it and/or just for it…
Does that mean I have to go about doing it myself?
Deeper and Deeper
So if I were to find the most comfortable layout for me then I will need to come up with one myself or have to find the one that comes the closest to what I want. So how do I go about that? Most keyboard analyzers seem to have a fixed set of generalized rules ….but I wanted to set quirky rules that fit me.
Also, I figured out that testing against a general corpus of words is probably not going to be the best way to test what works for me. I do a bit of programming, mostly in Java and some Javascript and shell scripts and some HTML and python. The words I commonly use and my vocabulary is going to be different than that of Shakespeare and Dickens.
Another of my issues was that I use Emacs extensively which is known for some of the hardest key bindings known to mankind. I wanted a layout that made the Emacs keybindings easy to use.
Good thing that I can code a little bit. So as any self respecting programmer would do, I set about writing my own analyzer …..because that is what the world needed at this time. The analyzer itself is the topic for another post, but I could tell you that I did come up with a layout that seem to work out well for my requirement and it is not something for everybody.
If you think you need a layout that works best for your needs….then you need to build it yourself.