I got a Kinesis Advantage 2 recently! It's great! But the stock layout (see appendix) has some problems:
- I don't like cmd and ctrl being on the tiny buttons. I have to move my hands too much.
- I don't like escape being in the function row. Needs to be somewhere easier to reach.
- There are no media or volume keys bound by default.
- Let's be honest, I never use home, end, page up, or page down. Almost everywhere I need to do those, I use cmd-left, cmd-right, space, and shift-space or readline shortcuts like
c-e
andc-a
. They're easier to reach for me on most keyboards. - I really really really want a hyper key. It's easy to get to on most layouts (since the modifiers are all together) but not here. We also don't have a special switch, so we'll have to modify the software. Easy enough, right? (wrong.)
I've ended up with the following layout, which you can load onto your Advantage 2 by opening the v-drive and putting b_qwerty.txt
in there. Activate it at hotkey layer "b" (for Brian!)
┌───────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐
│ + = │ │ 1 │ │ 2 │ │ 3 │ │ 4 │ │ 5 │ │ 6 │ │ 7 │ │ 8 │ │ 9 │ │ 0 │ │ _ - │
└───────┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───────┘
┌───────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐
│ tab │ │ q │ │ w │ │ e │ │ r │ │ t │ │ y │ │ u │ │ i │ │ o │ │ p │ │ | \ │
└───────┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───────┘
┌ ─ ─ ─ ┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐
cmd │ a │ │ s │ │ d │ │ f │ │ g │ │ h │ │ j │ │ k │ │ l │ │ ; │ │ ' " │
└ ─ ─ ─ ┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───────┘
┌───────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐
│ shift │ │ z │ │ x │ │ c │ │ v │ │ b │ │ n │ │ m │ │ , │ │ . │ │ / │ │ shift │
└───────┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───────┘
┌───┐ ┌ ─ ┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐
│ ` │ emo │ ◁ │ │ ▷ │ │ △ │ │ ▽ │ │ [ │ │ ] │
└───┘ └ ─ ┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘
┌ ─ ┐ ┌ ─ ┐ ┌ ─ ┐ ┌ ─ ┐
crl hyp esc
└ ─ ┘ └ ─ ┘ └ ─ ┘ └ ─ ┘
┌───┐ ┌───┐ ┌ ─ ┐ ┌ ─ ┐ ┌───┐ ┌───┐
│ │ │ │ alt a-` │ │ │ │
│bs │ │del│ └ ─ ┘ └ ─ ┘ │ret│ │spa│
│ │ │ │ ┌ ─ ┐ ┌ ─ ┐ │urn│ │ce │
│ │ │ │ c-d c-c │ │ │ │
└───┘ └───┘ └ ─ ┘ └ ─ ┘ └───┘ └───┘
Legend:
Dotted outlines are keys I've changed away from the QWERTY/Mac defaults.
crl
:ctrl
c-d
,c-c
:ctrl
plus that keya-backtick
: my system shortcut to bring the terminal into focushyp
: hyper! This is cmd+shift+alt+ctrl plus a single keystroke. No software isdumbbrave enough to use this key combo by default, so it's safe to put global hotkeys there. I have a bunch!emo
:ctrl-cmd-space
, the macOS system emoji picker default shortcut.
In addition:
- F9:
hyper-s
, which opens my quick music switcher in Alfred. - F10: pause/play
- F11: previous track
- F12: next track
- F13: mute
- F14: volume down
- F15: volume up
- 2017-11-16: Hey guess what? If you mess around with keys the firmware can get in an inconsistent state until you cycle power to the keyboard by unplugging it. When I created these, it apparently thought that
lalt
waslctrl
. So I had to changelalt
back. Odd. - 2017-11-17: because of the last fix, rebinding
home
tolalt
was triggering the hyper macros. Now it'sralt
, which does what I want. - 2017-11-20: Add missing
hyper-space
andhyper-enter
bindings. How could I have forgotten those? They're literally my favorites! - 2017-12-04: Swap ctrl and cmd. I think they're more or less equivalent, but I use ctrl a lot more so it's nicer to have on the home row.
- I want the top left key in the left thumb cluster to be
c-g
(a handy Emacs companion toesc
). But I can't make the keybinding stick! Something about it being a modifier key, maybe. I've noticed the firmware version I'm using seems to have some hangups about reassigning regular keys to modifier keys in macros and vice versa.
┌───────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐
│ + = │ │ 1 │ │ 2 │ │ 3 │ │ 4 │ │ 5 │ │ 6 │ │ 7 │ │ 8 │ │ 9 │ │ 0 │ │ _ - │
└───────┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───────┘
┌───────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐
│ tab │ │ q │ │ w │ │ e │ │ r │ │ t │ │ y │ │ u │ │ i │ │ o │ │ p │ │ | \ │
└───────┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───────┘
┌───────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐
│ caps │ │ a │ │ s │ │ d │ │ f │ │ g │ │ h │ │ j │ │ k │ │ l │ │ ; │ │ ' " │
└───────┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───────┘
┌───────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───────┐
│ shift │ │ z │ │ x │ │ c │ │ v │ │ b │ │ n │ │ m │ │ , │ │ . │ │ / │ │ shift │
└───────┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───────┘
┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐
│ ` │ │ § │ │ ◁ │ │ ▷ │ │ △ │ │ ▽ │ │ [ │ │ ] │
└───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘
┌───┐ ┌───┐ ┌───┐ ┌───┐
│crl│ │alt│ │crl│ │cmd│
└───┘ └───┘ └───┘ └───┘
┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐
│ │ │ │ │hom│ │p-u│ │ │ │ │
│bs │ │del│ └───┘ └───┘ │ret│ │spa│
│ │ │ │ ┌───┐ ┌───┐ │urn│ │ce │
│ │ │ │ │end│ │p-d│ │ │ │ │
└───┘ └───┘ └───┘ └───┘ └───┘ └───┘
@BrianHicks thanks for sharing this, it helped me setting up my kinesis.
I am curious, what do you use
C-c
andC-d
for so much to warrant giving them their own bindings?