After various experiments in rigging up more ergonomic mice, Iโ€™ve accepted that the primary contributor to my wrist pain is the traditional keyboard which traps the wrists at a strained position.

I finally had the clarity of mind to step back and reassess things from a blank slate. Literally, I stepped back, held out my hands in the air at what felt like the most relaxed position, and declared that this is where the keyboard must be; that no longer will I contort myself to meet the keyboardโ€”the keyboard must come to me.

The resulting setup is a bit of an oddity, which admittedly I enjoy as much for that quality as for its successful therapeutic effect:

ErgoDox with aluminum top plates and black keys in a vertical configuration

The keyboard is split into two halves, each mounted vertically on opposing sides of a makeshift stand. The stand is a chamfered cube constructed from PolyConstructo hexagons, an educational toy intended for classroom use that I had on hand from a past Settlers of Catan project. Atop the structure is a conveniently flat surface that serves well as phone rest:

Hexagon stand for ErgoDox

Adhesive foam pads harvested from an environmentally harmful paint-by-number kit damp the rattle of the phoneโ€™s haptic feedback:

Rainbow adhesive foam squares
Hexagon stand for ErgoDox

The keyboard is an ErgoDox that I assembled from a kit with some guidance from helpful community members at the Vancouver Hackspace.

I chose to use unlabeled keys because the keyboard is fully programmable. To start, Iโ€™ve designed a layout that has familiar Colemak letter keys,

โ€œSoftware Colemakโ€ layer

and specialized โ€œshiftโ€ keys that bring symbols, numbers, and arrow keys into easy reach:

โ€œSymbolโ€ layer
โ€œNumberโ€ layer
โ€œNavigationโ€ layer

My typing has been slower as I get used to the new layout, but as pointed out by a fellow ErgoDoxer at the hackspace, typing speed typically isn't the limiting factor when coding; most time is spent just thinking anyway.