Emacs Keyboard Design Strategy

Keyboard design is a delicate balance between the subtlety of poetry and the simplicity of a sledgehammer.

Here is how I scoped down millions of permutations into something more manageable that may result in an actual keyboard within the next year.

Step 01: Talk Yourself out of Doing It

  • You already know how to use a keyboard?
    • If yes: There are already excellent keyboards and layouts ready for you to use
      • You can use them faster than creating it up yourself
  • Do you need a new keyboard?
  • Do you need a new key layout?
    • If yes: There are already excellent key layouts
      • To name a few: Dvorak, Colemak, Workman
      • You can use one faster than making a new one yourself
  • Do you need firmware?
    • If yes: ErgoDox-EZ and its progeny are probably fine
  • If you answered no to any of these questions
    • Go back and read all literature and research everything out there additionally everything also not in the list
    • You will use later
    • Take good notes because you will discover what you value
      • My findings are in a sub-heading
  • If after reading everything, familiarizing yourself with all offerings, thought through the entirety of everything
    • You still want to design your own keyboard
      • Then be sure you’ve studied everything available
      • Move on to the next heading

Things that I Learned that I Value

  • QWERTY Layout
    • Fast
    • Already know it
    • Won’t scare the heck out of anybody I pass the keyboard
    • Don’t care of it slows me down, it is fast enough
  • Grid layout
    • When is the last time you used a staggered keypad on your cellphone or smartphone because it didn’t want you typing too quickly?
    • Yup this one bugs me. Grid layout, no stagger.
  • Custom letter layout
    • Fascinating topic
    • Fun statistical analysis
    • Only works for one person, I want it for my friends and family
    • So no
  • Flat rectangle
    • Split keyboards are nice
    • I guess they cost more, so less friends can easily have them
    • I don’t need one
    • So no split keyboard
  • Led
    • I love them on the MBP
    • So if I can have them, great
  • Switches
    • Cherry MX and Alps look great for quiet, and tactile loud
  • Caps
    • Sculpted
    • Ridges for home
    • See light through them at night
  • Emacs pinky
    • Not sure science backs it up; but my hands back it up
    • Maximize use of thumb/index/middle fingers
  • Biomechanical studies / ergonomic keyboard
    • Things like ulnar rotation
    • I will ignore
    • There are real studies
    • I’m not doing one
    • I’m just using a grid
  • Firmware
    • No I don’t want to use ArmPit Scheme
    • No I don’t want to use MicroPhython
    • No I don’t want to use the LEDs for games like Breakout and Pong
    • Yes I want to use an existing, stable, powerful option like ErgoDox uses this and that looks powerful, supported, and open.
  • Programmable
    • I’d rather not have to program it and have everything there already
    • Symbol keys should provide access to everything
    • That said reprogrammable is great… maybe if it is Massdropped

Step 02: Define Some Simple Measure of Success

  • How will you know when you’ve successfully designed your perfect keyboard?
    • When I’ve defined my measure for success and reached it
  • Who is your audience?
    • Me: gift
    • My family: gift
    • My friends: gift
      • Want to be able to hand it to people and have them use it on their computer
        • Without special software
        • With USB
        • With legends and indicator so it is clear what is happening
    • Other Emacs users
    • Other LaTeX users
    • Other programmers: Lisp, APL
  • What programs will you use it with?
    • Everything typical of the OS
    • Emacs so provide all meta keys
  • What operating systems will you use it on?
    • OS X
    • Windows
    • Linux
  • Have you tried and failed every possible way and are convinced that you need a custom keyboard?
    • I’ve spent hundreds of hours over the years tweaking my configuration for the different keyboards I’ve used. The Dell ISO and the MacBook Pro are the best. No matter what I try, I can’t make them he same, and I can’t move around the keys.
    • Modifiers are great for helping my friends and family do stuff without switching to different layers. That is the obstacle, modifiers are complicated enough anyway.
    • The Planck would be perfect if it were 8 columns by 16 rows!
      • Can make it do what I want, use layers or not

Step 03: Keyboard Modeling

  • If you can’t get what you want out of the keyboards above then you want something unique and uncommon. That is fine, I do to. For me the easiest way is to buy a large matrix reprogrammable keyboard.
  • I chose the XKE-128.
  • Model, develop, prototype, revise, retry, restart
  • This keyboard gives you a place to make the mistakes instead of wasting your precious time and money during your own personal learning process

Step 04: Implementation

  • Two possible paths
    • Pre-package the keyboard
      • Non programmable
      • Certified
      • Available for purchase on Amazon
    • Do it yourself
      • Same as a Planck, but bigger, talk to Planck


For now I’ll test out my ideas and document the why’s and the results. Can’t wait.

The grid-layout is perfect for what I want; just bigger.

Leave a Reply

Your email address will not be published. Required fields are marked *