Ortho-Linear Emacs and VI Keyboard Design 8

For creating key-binding name-spaces (key-spaces), modifier keys, key-chords (single and dual key) and Hydras each have unique strengths. For my use case, I wanted a bigger modifier key-space so I started there with Super.

Although Super is supposed to be reserved non-native packages, it is already getting scarfed up because the native key-spaces are painfully overcrowded. To top it off, when you run Emacs on Windows, Windows intercepts a bunch of key-presses for itself and never sends them to Emacs. Yea you can disable some, but not all and it is irritating. For my configuration, this is a showstopper issue and all of workaround are too painful. I enjoy using modifier keys, so I turned to Hyper.

Initially I thought it would be simple as buying a keyboard with Hyper on it. Wrong. Wrong. Compared to the painful workarounds out there to reproduce Hyper on a keyboard without it, building a keyboard with Hyper on it seemed like walk in the park in comparison. Although I’ve battled the urge to design and assemble a keyboard for years because I know that someone else has done it better, this weekend I finally broke-down and indulged myself with some mock-ups.

They key top legend is busy if not simple and its laid out like this

  • Left Side
    • Top: Press the key with Shift
    • Bottom: Press the key without any modifier
  • Right Size
    • Top: Press the key with Fn and Shift
    • Bottom: Press the key with Fn

This 8th mock-up feels perfectly suited for me.

keyboard-layout-8.png

The thing that I like about is that:

  • It has a familiar QWERTY layout
  • No typewriter slowdown junk
  • Power keys are all operated with the power fingers
  • Mostly symmetrical
  • Shift and Function handle everything that I want
  • Greek alphabet in order, so simple
  • No need to program and reprogram, super simple
  • Key-chord has taught me the power of the power-finger two-button press, so Function and Option do fine as single keys, combining with nearby keys for common actions
  • No finger-killing put every modifier key in one row
  • It is an ANSI 104 without: ScrollLock, BreakPause and duplicate keys
  • For my VI friends, Escape is an easy-to-reach two-finger press using Fn
  • Someone has surely laid it out this way already, so I can buy it from them

If you want to see this is in the editor, paste it into the awesome keyboard layout editor.

[{x:2.5},"!\n1\nF11\nF1","@\n2\nF12\nF2","#\n3\nF13\nF03","$\n4\nF14\nF04","%\n5\nF15\nF05",{x:0.25,w:2},"Caps Lock\nTab\n\nEsc",{x:0.25},"^\n6\nF16\nF06","&\n7\nF17\nF07","*\n8\nF18\nF08","(\n9\nF19\nF09",")\n0\nF20\nF10"],
[{x:2.5},"Q\nq\nΑ\nα","W\nw\nΒ\nβ","E\ne\nΓ\nγ","R\nr\nΔ\nδ","T\nt\nΕ\nε",{x:0.25,a:7},"⌘","&#8997",{x:0.25,a:4},"Y\ny\nΖ\nζ","U\nu\nΗ\nη","I\ni\nΘ\nθ","O\no\nΙ\nι","P\np\nΚ\nκ"],
[{x:2.5},"A\na\nΛ\nλ","S\ns\nΜ\nμ","D\nd\nΝ\nν","F\nf\nΞ\nξ","G\nv\nΟ\nο",{x:0.25,a:7},"Fn",{a:4},"BkSp\nDel",{x:0.25},"H\nh\nΠ\nπ","J\nj\nΡ\nρ","K\nk\nΣ\nσ","L\nl\nΤ\nτ",":\n;\nΥ\nυ"],
[{x:2.5},"Z\nz\n&Phi;\n&phi;","X\nx\n&Chi;\n&chi;","C\nc\n&Psi;\n&psi;","V\nv\n&Omega;\n&omega;","B\nb",{x:0.25,a:7,w:2},"Shift",{x:0.25,a:4},"N\nn","M\nm","<\n,\n{\n[",">\n.\n}\n]","?\n/\n|\n\\"],
[{y:0.25,x:2.5},"~\n`","PgUp\n↑","PrSc\nIns",{a:7},"Meta","Control",{x:0.25,w:2},"Space",{x:0.25},"Control","Meta",{a:4},"_\n-","PgUp\n↑","+\n="],
[{x:2.5},"Home\n←","PgDn\n↓","End\n→",{a:7},"Hyper","Super",{x:0.25,w:2},"Enter",{x:0.25},"Super","Hyper",{a:4},"Home\n←","PgDn\n↓","End\n→"]

This didn’t take too much time, but I probably spent a little too long on it :).

Addendum: <2016-04-16 Sat>

Re-published because I broke my RSS feed syndicated for Planet Emacsen and @hober fixed it. Thank you @hober.


6 thoughts on “Ortho-Linear Emacs and VI Keyboard Design 8”

Leave a Reply

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