Split programmable keyboards

Switching from the dusty $9.95 standard keyboard to a modern alternative came suddenly for me and it was a no-brainer. Since firing-up Emacs on that happy day more than ten years ago, I was constantly in need of new fingers to press the modifier keys. I've settled with the palm press method which worked as advertised and it has served me well over the years, but I've developed back, shoulder and wrist pain as a consequence. After switching to a QMK-based split programmable keyboard more than two years ago, all that pain went away. This is my personal story and opinion on how I came to use these keyboards of the future, why I think the mouse and classic keyboards are detrimental to one's health and how touch typing helped me in the process.

Cheap plastics and deformed bodies

I have searched in vain and for a long time for new keyboard designs to satisfy my need for extra keys around the most versatile weapons in the fingers arsenal, the thumbs. I've looked for keyboards with two keys instead of that colossal spacebar, one key for the spacebar itself, one for Control, for example. Or some extra keys on the side of the keyboard, just beneath the spacebar. Or anything new and ingenious besides the useless clean-and-tidy-desk wireless keyboards, for that matter. No luck. I've searched online and in all electronic shops that happened to cross my way. The best that I got were gaming keyboards. They've had colorful leds, fancy keycaps for the wasd keys, and the single feature that I could be merry about, mechanical switches. Other than that, the same design was present everywhere with no real improvements or new ergonomic concepts. I did run across the Ultimate Hacking Keyboard (UHK) and the Kinesis in the online forums and my heart warmed a bit. But the UHK had horrible delays and I couldn't quite be convinced to take the big jump that the Kinesis apparently required, so I've decided to wait a bit. It was 2015 or so and the kinds of keyboards that you can find now, in 2022, were nowhere to be dreamed of back then. Today, there are no excuses, but back then…

I've had the cheapest piece of plastic my boss could afford to buy me at work, as some guy put it (I forget who), and a mechanical keyboard at home. Since it was so noisy, I was scared to bring it at work. Besides, the design of this keyboard was the standard one. I was already spending all my coding hours in Emacs and I was using the palm-press method where you press the Control keys not with your fingers but with the palm of your hands. The palms become like an extra finger, and in the world of keyboard-driven text editors that is a gift worthy of Croesus himself.

At the same time, I was experiencing some strange things with my clothes. Every shirt I owned suddenly decided to have a production defect. While walking down the street it was obvious to me that the buttons or the zipper were not vertically aligned. The first button was around my neck and in the center of my body, but once my eyes looked down, the last button was always pulling to the right side. So I though that was a shirt design decision gone wrong. No matter how much I've pulled and straightened them, they always reached back in the same invalid position after a few steps. And that happened to all my clothes. I've ignored this problem at first, since I didn't know what to make of it, or if it really was a problem, but I've paid close attention to it. In the end, unsurprisingly, I couldn't find anything wrong with the clothes. The cut was perfect on all of them.

After a few more years of spending my time in computer rooms, I've started to develop wrist pain. A friend who is into these things concluded there is actually nothing wrong with my wrist, but my forearm muscles are contracted in an unnatural way. He suggested some stretching exercises and things became better for a while. But then I got shoulder pain and, eventually, back pain near my spine and close to my right shoulder. I became really worried now. I've never had any back pain in my life and I was a young and relatively active person, except the sitting down sessions. Some magic fingers detected that my muscles were unnaturally contracted. Massages became my medication for a while, but they were good for ten minutes after which I was in the same pain scenario. Luckily my girlfriend noticed one day, between the massage sessions, that my back was not really straight; it had an s-shape to it and it was leaning to the right; my shoulders were uneven and the muscle around the right shoulder, the trapezius, was slightly more developed than the left one. In a matter of minutes, the wrist, shoulder, back and the wrong clothes suddenly lead me to the right conclusion: I did not sit straight at my computer, even though I thought I do. I was leaning heavily on the right side due to palm-pressing the Control key with some painful consequences developed over the years. From that moment on, I knew I had to get rid of this cheap piece of plastic and I began to earnestly look for alternatives, regardless of how much time it would take me to master a new kind of keyboard.

Non-symmetrical tools and body postures in front of the display

Do me a favor and type in the correct position in front of the computer into your favorite search engine. Make sure to check the pictures section (here is a "correct computer position"). Really, just browse some of these so you won't say I'm a deceiver. Those pictures are worth of the Climate Change opening ceremony. They look good, but the daily reality is quite different.

How do these people manage to keep the perfect body posture while using these keyboards, which are obviously the wrong tool for the job? If you try to keep your shoulders open and your hands parallel to your body while using such a keyboard, you'll notice your wrists are horribly bent. That is pain waiting to happen. If you, on the other hand, try to keep your wrists straight while typing on such a keyboard, your hands are not parallel to your body anymore and you'll naturally bend your back and bring your shoulders in. These fake pictures always make me wonder. They are like the burger commercial where everybody is skinny, healthy and happy even though they eat poison and clear their throats with degreasers. It just doesn't add up.

Speaking of which, why is nobody using the deadly mouse in these pictures? I've had a colleague who liked very much to click on stuff and discover flaws and bugs in the code-generator tools. She was a really good detective in that way. Two years into the job she had wrist surgery due to the unbearable wrist pain she developed. She was in her twenties. Now, I haven't used the mouse so intensively for a long time, so this is a bit unscientific of me but it is still based on the same personal observation that non-symmetrical tools and a non-symmetrical body position in front of the display is not the way to go. In a mouse-intensive work, your mouse using arm is farther away than your other arm leading to a lack of symmetry. With time, your mouse hand and wrist are slowly taking over the task of supporting your whole upper body.. This adds a constant pressure on your wrist, forearm and shoulder. The perfect position, if using a mouse, would ideally be mouse in one hand and keyboard in another, both at the same distance from the center of your display. But due to their different sizes and different functionalities, this is not possible. If you're working in an open space, check your colleagues that do mouse intensive work. Look at their backs, ask about their wrists or even about their fingers.

My borrowed solution to palm-press the Control keys solved the problem of extra-fingers, but as I was to notice much latter, if you put your fingers on the home row (asdf and jkl;, respectively), the distance from the fingers to the control keys is different for the two hands. A case of lack of symmetry, again. The left Control is closer, the right Control is farther away. So I naturally assumed a non-symmetrical body position where my right hand had a different angle than the left while on the keyboard, a slightly outward position. Over time, I came to lean heavily on that hand and develop my muscles unevenly, put extra pressure points on my wrist and forearm and develop all the nice surprises I was telling you about. My conclusion is that if you don't have symmetrical tools and a nice balanced posture in front of your computer, you're asking for trouble, and with the standard keyboard and mouse, assuming you do daily work, that is simply not possible not matter how much you try.

I think the industry as a whole has no wide-applicable solutions to the real issue that computers are damaging to one's body. The only solution that I've found is to use these programmable keyboards, but these are not for everybody since they involve serious effort to change one's ways, program them and learn how to use them. Other than that, we're stuck with these devices for good or for worse. The defense of the industry is to sugar it all up and present nice but completely useless pictures of how one is supposed to use these devices. In case something goes wrong nobody takes any blame. In all these years that I've worked with a standard contract, I've never seen any risks associated with the kind of work we did developing software in front of the computer all day. In the hazards section, which has to comply with the EU laws and correctly inform the employee of the risks involved in performing the job, similar to labels on foods, there was always the same line that surprised me: "Office work: no hazards involved".

How to check your back

How to check your back for signs that something is wrong before the pain starts kicking in? Obviously, with a specialist. Other than that, check the signs on your clothes and take a good look in the mirror without your shirt on. But instead of going straight for the mirror for a pose, relax your body and your arms and walk around and do a few steps like you do when you walk down the street. Otherwise, the natural tendency is to make yourself look as good as you can while looking in a mirror, similarly to what we do when we're taking pictures of ourselves. You need to find you natural posture instead, not the best posture of all time. Once you take a few steps and you feel you're relaxed enough, freeze your upper body and then look into the mirror. If your back is not straight, you will see it plainly.

Start with touch typing for a pain free future

The majority of users use just two to fingers to type anything on the keyboard. In that case, they probably don't know where each key is either and they have to crane their necks like a seagull feeding their chicks whenever they have to type anything. That spells disaster for that nice position at the keyboard. All the above mentioned pictures assume that you know your keys by heart and you can focus straight into the display 100% of the time. But this is not the case. It takes practice and motivation to learn to use the keyboard properly. And 'properly' here can only mean 'as efficient as possible given the given circumstances'.

This is why touch typing is so important. In the fewest words, touch typing means knowing where each key is on your keyboard and pressing each key with as little effort as possible without actually looking at the keyboard. How does that help? Firstly, you begin to take control of your keyboard in this way. You begin using all your fingers and giving each finger its fair share in the daily toil of pressing keys up and down. It lets you concentrate on what is on the screen since that is the important and changeable part. The keyboard is still the same, it doesn't change, it makes no sense to check it from time to time. After a while you won't even notice the keyboard is there. You just think about what you want to write, and the text is already there, similar to riding a bike.

How do you learn it? You repeat it mechanically. There is not much science to it. There are plenty of tutorials and tools online so I won't bother here and move straight to he last piece of the puzzle.

Split and programmable keyboards

After some serious searches I finally took the dive and decided to invest the time and change my typing habits to somehow get rid of that non-symmetrical position in front of the display, and hopefully with it, get rid of the wrist and back pain. It worked! I now use a split, mechanical, programmable keyboard (qmk) for all my computer work, pain free, for more than two years. There are hundreds of models to chose from, from the minimalistic Corne to the Ergodox that I'm using. qmk is just he software that powers all the functionality of these keyboards. There might be others, but I haven't tried them so I can't say anything about them.

I honestly and literally shed a tear when I've unboxed the keyboard, plugged it in, and saw with my very own eyes that tapping a key (pressing and releasing) acted like a normal key, but holding that very same key acted as a Control key or any other modifier of my own choosing. This was the solution I've looked for in all these years of pain and suffering. I couldn't stop talking to my wife about all the nice features the keyboard had, so excited I was. She didn't care much but she was happy I was happy and on the road to hopefully being pain free so she shared my enthusiasm. Every guest we've had HAD to know about my magical keyboard and its tricks. It was a joyride. I've instantly imagined having access, from the home row, to all the modifiers, eternal life and instant wisdom…ok, I didn't dream that far. But besides the last two, my dreams were not frustrated.

Perfect balance and symmetry, at last

The split nature of the keyboard is indeed not strictly a feature of a programmable keyboard and in theory any keyboard could be split, like the UHK that I've mentioned above. But this is a feature that is mostly present on these type of keyboards.

With a split keyboard you have two symmetrical halves, one for each of your hands, placed at some distance from each other. Each half contains the same number of keys so if you place them correctly on your desk, that is, at the same distance from the middle of your body or your display, you have that nice position where the hands are parallel to each other so the wrists are not bent while typing, your chest is open, your back is not rounded and your shoulders are even since now there is nothing to throw off your balance while you stand in front of the display. All this right out of the box, without doing anything special.

Extra thumb keys

The big spacebar is now gone and is replaced by at least two keys for each of your thumbs. This means that extra features are now available and there is no need to palm-press and introduce pressure points as a result.

A programmable keyboard

What does it mean that the keyboard is programmable? On a standard/classic keyboard, each and every key does the same thing from its birth on the production line to its death in some landfill. There is indeed an OS option to change what the OS interprets the key to be, but that is quite different. For example, we can instruct the OS to treat the CapsLock as a Control key, but that change is only visible to the Operating System. They keyboard will send the exact same code as it did before. Other than switching keys between them, you are left with the same keyboard and with its limitation.

With a programmable keyboard, each key can be set to do whatever you want. You can have a rather useless keyboard where all the keys just send 'j' or you can imitate a classic keyboard, if you so wish. But the extra benefit is that you're not limited to each key sending only a character or number or special symbol. There are many clever combinations for all tastes.

How do you program it? In C. You modify the source code, build it and flash it on your keyboard. So it does take a little effort in contrast to the plug and play nature of a classical keyboard. The process also differs a bit depending on the manufacturer. But there are also GUI tools that offer a nicer interface if you don't want to get messy with C, like the Oryx. They don't offer the full functionality, but they are really intuitive and easy to use. And of course, I'm liking these new keyboards so much that I wrote an Emacs package called mugur that implements all the major functionalities and generates C code ready to be flashed on the keyboard.

Same key doing multiple things

Notice how when you tap 'j', for example, on a classical keyboard it sends the corresponding character. If you press 'j' in quick succession or your hold it for a little while or if you press it at the same time with another key, say 'k', nothing extraordinarily happens? You get the same 'j' in all cases. Not so for a qmk keyboard.

You can configure a qmk keyboard so that when you tap 'j' it sends the corresponding character, 'j', but when you hold it it might act as a Control key, or it might change your whole keyboard to a different layer (talking about layers in a minute), or if you press 'j' and 'k' at the same time it might send a totally different keycode like '1' or even "Hello, j and k!" (no, that is not a typo!), or if you hold it for a given time it might send the uppercase variant, "J", or taping it twice or trice in quick succession can send, again, whatever else you want from the above. These are only some of the configuration options, but there are more. Don't be scared, if you want, you can so configure your keyboard that it acts exactly like a classic keyboard. But then again, this would be paying extra for the wild dolphin 'infested' beaches for your holiday and then staying in the hotel swimming pool the whole week.

Layers

Layers can be activated by just holding or tapping a key. What is a layer? It is a way of having multiple keyboards of the exact same make and type on your desktop, each one having the exact same number of keys but for different purposes. It is somewhat similar in style with the NumLock key, that is, when it is on, you have the numbers from 1-9 available, when it is off you have the PageUp, PageDown, etc. It is similar but it affects your whole keyboard and you can have as many layers as you want. Actually, 255 layers is the limit on qmk, but that should be enough. I'm using one layer for all the numeric characters, one layer for the movement, one for media keys, etc. Following the example from above, you can have 'j' acting like a layer when held and this layer would transform your left half of the keyboard into number keys.

Macros, excellent documentation and many more

This is not the place for a tutorial, the online documentation and Thomas Baart's qmk basics are excellent places to start, but I will only let you know about macros, which are single keys that when pressed can send any other combination of keys you want. For example, you can have a key for your email address, you can have a key that sends an alt+Tab then sends a string, like an url, for example, and then sends Enter. The possibilities are endless. What more can you want from a keyboard, anyway?

Change the keycaps and key switches

Lastly, most of these keyboards support changing not only the keycaps but the actual switches. You know, the mechanical things that actually make contact and register the key press. There are a lot of various switches on the market, from silent one to clicky ones to anywhere in between. It depends on your needs. I hear these are similar to choosing the perfect saddle for your road bike. There is no such thing. It depends on the user, you'll have to try a few to settle for the perfect one. But, similar to the pressure points that I've observed from palm-pressing, these mechanical switches help against it. On a crappy keyboard, once you've pressed your key so as to make contact, the key can go no further. That is pressure on your fingers and hands. With a mechanical key, you can fly over the keyboard as you would do on a piano. There is no need to fully press the key for it to be registered. It's like having puffy pillows that you can just touch and dance on. Again, this relieves you a bit from that killer of joints: pressure. I've used mechanical keyboards for many years, so I can't attest now to the difference it makes vs a non-mechanical keyboard, but I've seen what pressure can do to your joints.

Conclusion

My back is still slightly bent after all this time, but at least there is no more pain and the shirts are starting to look normal. It is much easier to break something than to fix it, so it will take some time.

And yes, true story, my boss did come to me one day offering "presents", as he put it. They were for my good behavior and excellent technical skills proven in the heat of battle: a wireless, cheap, see-thru bendable $9.95 keyboard and mouse combo! But you don't have to wait for your boss to take care for your health. Be prepared and start using professional tools as soon as possible, exercise your body, eat healthy, sleep soundly and enjoy a long and beautiful career in front of the keyboard.