The DMOTE

A split, concave, columnar keyboard

In the first half of 2018 I was curious to see if I might remedy {{article|DMOTE rationale|label=some problems I perceived in standard keyboards}}. I designed and built the DMOTE, short for “Dactyl-ManuForm: Opposable Thumb Edition”.
{% figure "DMOTE #2, top-down view" %} That’s the second complete unit. You’re supposed to reach all the keys, except the two facing you, without moving your wrists. {{static_embed|atcl/dmote020_thumb.webm}} My direct inspiration is in the name: Tom Short’s [Dactyl-ManuForm](https://github.com/tshort/dactyl-keyboard), itself a hybrid of Matthew Adereth’s [Dactyl](https://github.com/adereth/dactyl-keyboard) and Jeff Gran’s [ManuForm](https://github.com/jeffgran/ManuForm). The latter resembles the first commercially produced typewriter, the Hansen [Writing Ball](https://en.wikipedia.org/wiki/Hansen_Writing_Ball), but even the ManuForm requires its user to press the thumb keys at an angle. Fixing that was my primary impetus when I started modifying Short’s design in January. I kept the concave finger clusters, distantly inspired by Lillian Malt’s 1970s innovations in [Maltron](https://en.wikipedia.org/wiki/Maltron) keyboards. Professional CAD applications tend to be needlessly arcane: path dependent at worst and verbose at best. [OpenSCAD](http://www.openscad.org/) is a lot more fun, but it does have some warts and not enough power. I was therefore happy to adopt Adereth’s approach to case design: Generate OpenSCAD code programmatically from a better language. CAD, being geometry, is logical enough to bring out the strengths of the functional programming paradigm. {% figure "DMOTE #2, side view" %} I learned [Clojure](https://en.wikipedia.org/wiki/Clojure) by cleaning up Short’s fork of Adereth’s original. My only prior experience with [Lisp](https://en.wikipedia.org/wiki/Lisp_(programming_language)) was superficial contact with [Scheme](https://en.wikipedia.org/wiki/Scheme_(programming_language)) in a computer science course. Clojure is not the old dragon. I came to think of it as Python without the classes and statements: Elegant, more internally consistent than anything I had seen, and more pragmatic than terser functional stars like Haskell. With [Parinfer](https://shaunlebron.github.io/parinfer/) handling the parentheses, Clojure was a joy to work with. Case printed, I cast the wrist rests in RTV silicone, then I wired up and flashed the {{image_link|DMOTE #1, glamour shot|label=first working example}} of the DMOTE in early May. This article was written on that first “production” unit (blue case) and updated on the second unit (burgundy case) in October. {% figure "DMOTE #2, corner view" %} Here’s some typing, with a notebook computer flanked by the keyboard for demonstration purposes. {{static_embed|atcl/dmote020_typing.webm}} I thank my predecessors and collaborators in the Git log for sharing their excellent work, [as I share mine](https://github.com/veikman/dactyl-keyboard). I am most grateful to a friend, Fredrik Hedgren, who did a great job printing my prototypes and teaching me that process. I eventually bought my own filament and borrowed a printer at work; I thank my colleagues at [Icomera](http://www.icomera.com/) for that opportunity. When it came time to wire up the first unit, I benefited from the sage advice of Matias Sjögren. In 2020, I replaced a third DMOTE with an improved, albeit more bulky design: {{article|The Concertina}}.