Keyboard Pants

A year and a half ago, I left Apple, which among other things gave me a lot more time for personal projects. In particular, last March I put a tremendous amount of effort into getting Swift running on Mac OS 9. Which made me happy and proud, but which also had an extremely deleterious effect on my body. And I didn’t really get the message, but continued stressing myself into April and May, and as a consequence, I now have chronic RSI: repetitive strain injury.

This really stinks.

What this means is that typing and similar actions will result in my wrists, forearms, elbows, and/or shoulders aching, twinging, or worse if I do “too much”. What is “too much”? Last August, I basically couldn’t type more than an hour per week without feeling something in my body get worse. These days, I can do about a full week’s of work, but need to mostly stay off the computer on weekends to rest those muscles. And I’m a programmer, so my work pretty much always involves typing.

Let me say it again: this really stinks.

I’ve always said it’s important to have hobbies outside your vocation. But most of my hobbies are still on the computer. Not being able to use a computer means I can’t work on personal programming projects, music projects arranged in GarageBand, fiction projects that I’d need to type up…not to mention the completion of the Swift Runtime blog series I’d been working on. And it’s not just typing; I need to be careful about phone usage, e-reader usage, and musical instrument usage as well. (I am really glad that physical books still seem to be okay.) On top of all this, it happened in 2020, so all of my social hobbies (theater performance, going to shows) were cut out as well.

This really stinks. Between the awful things going on in the world and the sudden inaccessibility of my usual hobby/escapism projects, I could feel my baseline happiness level drop quite a bit.

I’m coming to terms with the fact that I have most likely permanently limited my abilities, like an RPG item that decreases your mana maximum in turn for a short-term burst of damage. The one thing I haven’t done—and I know it’s important—is to see a physical therapist, but hey, Covid has been a thing.

Workplace Alterations

So what have I done? Well, mostly started taking all the ergonomic suggestions seriously:

  • Got a proper office chair. I don’t do any sort of mid-form/long-form typing on the couch or bed anymore.

  • Got a split, tentable keyboard, so that my hands don’t need to twist as much to type.

  • Got a sit/stand desk converter (thanks, Filip!), and started standing more often to rotate between “good” positions.

  • Got wrist braces, which helped a lot. (Despite having had piano lessons as a kid, I’m not good at keeping my wrists straight.) Note that you’re not supposed to wear these all the time, or you’ll atrophy your muscles, so I take them off whenever I’m not typing.

  • I’ve long used a trackpad instead of a mouse, which anecdotally feels better.

  • Have some exercises I can run through, particularly for “tennis elbow”, which matched some of my earliest symptoms. I should be better about doing these, because you have to do them before you’ve over-stressed your arm, not after.

  • My craftsman girlfriend made me a footrest for when I am sitting, because the table I’m using as a desk is higher than ideal.

  • Experimenting with voice control. macOS’s default Voice Control is pretty good for getting around macOS, but not for actually typing things. The industry-leading Dragon isn’t available for macOS anymore. Talon has been the best of the up-and-coming free projects I’ve experimented with, but it would take me quite a while to use it for actual writing or programming, and learning any sort of voice control is frustrating. Also, my voice gets tired!

  • Experimenting with using a game controller. It’s not great; joystick maneuvering of the mouse is clunky, and then I don’t have a keyboard at the end of it, and it’s still an activity where I need to watch for stress. But it might make it possible to play games that don’t officially support a controller.

  • Moving some activities to phone or tablet that would have been laptop activities before.

These are all good things, I think, and having many alternatives is important if things get any worse for me. But alternate input ideas continue to interest me, because I’d love to regain more capacity to work on hobbies.

Keyboard Pants

At some point, I had an idea. The usual standing desk posture requires your shoulders, elbows, and wrists to get your hands to a keyboard in front of you. What if you had the keyboard at a neutral position instead?

Okay, not quite like that. But I convinced myself that this was an idea worth exploring, at least, so I got my hands on a Matias Ergo split keyboard (thank you very much, Adam!) and considered how to attach them to my legs. My craftsman girlfriend had the clever idea to reuse the screws for the wristplate, driving them through belt webbing to make simple loops I could put on my belt. And…

...the webbing stayed on with no problem...

...and the whole thing can be adjusted on my belt.

Does it look dorky? Absolutely. Does it help ergonomically? …only kinda. See, with a normal keyboard you can get to, say, the function keys by changing the angles of your shoulder and elbow. But with this, you can only go “further” by bending down, or hunching in, or something else that’s going to stress the shoulders. I’ve learned to mount the keyboard a little higher than I would otherwise for this reason…but now I need to be careful that I’m not bending my wrists to get at the home row.

I consider this a successful trial, but there are several improvements that could be made:

  • A smaller keyboard, still split, would ease the vertical problem, reduce the amount of movement I have to do to press a key, and be less weight on my waist.

  • The cord between halves is annoying but livable, but this particular keyboard also has a cord to connect to the computer. It turns out I turn or wander away from my laptop a lot, and I’ve had to get used to disconnecting myself first. Bluetooth would obviate this entirely.

  • This all helps with the keyboard but not with the mouse, and while I can live keyboard-only for coding and text-chat, it’s much less convenient for web browsing, and in particular web-based code review. It’s possible there are already shortcuts and/or extensions to help with this, and I can look into Mouse Keys…but maybe I should just stick a trackpad somewhere on my body as well.

And if all else fails, there are always other input methods I can try. I may never get back to the capacity I had two years ago, but it’s worth it to me to see what I can do.