Created
March 2, 2013 18:10
-
-
Save tavisrudd/5072309 to your computer and use it in GitHub Desktop.
A partial list of the Kinesis Advantage / Controllermate / Emacs keybinding tweaks I've done.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Remapped on kinesis itself | |
-------------------------------------------------------------------------------- | |
caps lock -> backspace (freq use) | |
backspace -> right gui/windows (freq use) | |
left alt -> return/enter (very infreq use) | |
right ctrl -> return/enter (freq use) | |
right gui/windows -> left gui | |
enter -> right gui (infreq use) | |
left ctrl == left gui/windows | |
because I use the kinesis mac mode (=m) | |
(freq use) | |
(is then remapped immediately to f4) | |
Always remapped in controllermate (applied after kinesis hardware remaps) | |
-------------------------------------------------------------------------------- | |
left gui (aka left ctrl) -> f4 | |
(see above) | |
right gui -> activate Thumb Mode 1 (silences all other keys) | |
(real keys = backspace & enter already remapped by kinesis) | |
delete forward -> activate Thumb Mode 2 (silences all other keys) | |
(by left thumb) | |
right-arrow -> left ctrl | |
left-arrow -> left alt | |
end -> left gui/windows | |
page-down -> right gui/windows | |
down-arrow -> right alt | |
up-arrow -> left ctrl | |
# I also do some funky changes with these to make underscore more | |
# handy, while keeping hyphen as top level key: | |
\ -> underscore | |
shift hyphen -> backslash \ | |
backtick -> tilda | |
left backslash -> backtick | |
(aka insert) | |
Thumb Mode 1 (very freq use) | |
-------------------------------------------------------------------------------- | |
I also have a usb numeric keypad positioned under my right foot that | |
has most of its keys remapped to activate Thumb Mode 1. So this could | |
also be called big-toe mode Under my left foot I have the kinesis | |
foot pedal mapped to right-shift. Using toe-mode allows me to use | |
these macros without tiring out my thumbs. | |
v -> backspace | |
=/+ -> capslock | |
' (apostrophe) -> return/enter | |
# general navigation in emacs and bash, etc | |
j -> left-arrow | |
k -> down-arrow | |
l -> right-arrow | |
i -> up-arrow | |
; -> page-down | |
p -> page-up | |
m -> home | |
, -> end | |
s -> ctrl left-arrow | |
d -> ctrl down-arrow | |
f -> ctrl right-arrow | |
e -> ctrl up-arrow | |
# macros for Awesome WM | |
0 -> gui+enter | |
1 -> gui+1 | |
2 -> gui+2 | |
3 -> gui+3 | |
4 -> gui+4 | |
5 -> gui+5 | |
6 -> gui+6 | |
7 -> gui+ctrl+return | |
8 -> gui+ctrl+k | |
9 -> gui+ctrl+j | |
# I also used to have these two: | |
# . -> gui+k | |
# / -> gui+j | |
# but I'm currently experimenting with this intead: | |
. -> ( | |
/ -> ) | |
# macro for gnu screen | |
u -> C-o (my screen command key rather than C-a) | |
# macros for Emacs | |
right shift -> C-l | |
q -> [f5] (doubles as refresh in browser) | |
x -> C-x C-s | |
w -> [f4] (faster to reach) | |
right ctrl -> C-x C-s | |
right gui -> C-x v = (vc-diff, I usually just type this out) | |
[ -> C-x C-f | |
] -> M-x (remapped by emacs to smex) | |
down-arrow -> C-s | |
up-arrow -> C-r | |
b -> C-x b | |
g -> C-g | |
t -> [f7]-0 (which toggles the mark) | |
o -> C-x o | |
space -> M-/ | |
a -> C-space | |
(this is awesome in combination with my navigation keys above | |
and quick access to C-y and M-w) | |
backslash (right pinky)-> C-y | |
hyphen (right pinky) -> M-w | |
Thumb Mode 2 (less freq use) | |
-------------------------------------------------------------------------------- | |
# macro for nested copies of gnu screen | |
u -> C-u (rather than C-a, or C-o) | |
# macros for Emacs | |
j -> [f2]-j (bound to windmove-left) | |
k -> [f2]-k (bound to windmove-down) | |
l -> [f2]-l (bound to windmove-right) | |
i -> [f2]-i (bound to windmove-up) | |
m -> [f2]-m (bound to flymake-goto-prev-error) | |
, -> [f2]-, (bound to flymake-goto-next-error) | |
[ -> C-u 5 C-x{ (shrink-window-horizontally) | |
] -> C-u 5 C-x} (enlarge-window-horizontally) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The emacs remappings are related to this: | |
http://bitbucket.org/tavisrudd/emacs.d/src/tip/dss-keybindings.el | |
(also see http://xahlee.org/emacs/keyboard_shortcuts.html) | |
Here's the OS X app I'm using: | |
http://www.orderedbytes.com/controllermate/ | |
It's awesome, despite using a weird visual programming language for the rule definitions. 'AutoHotKey' seems to be the Windows equivalent, though I don't think it allows you to define separate rulesets per usb device. | |
I haven't found anything exactly like it for Linux, but these might work: | |
- http://usbhotkey.sourceforge.net/ | |
- http://code.google.com/p/autokey/ | |
(seems hard to install without a debian based system) | |
- http://www.autohotkey.com/forum/topic54494.html | |
- or AwesomeWM's own keybinding system | |
To get something equivalent to my controllermate setup you would need: | |
- the ability to remap a single key into a multiple-key output sequence | |
(I know the Kinesis can do this at the hardware level, but I don't trust its potentially volatile memory and hate the opaque interface for defining them) | |
- the ability to activate sub-maps like I'm doing with my thumb-modes. | |
- the ability define separate maps per usb input device. Hopefully usbhotkey can do that. | |
Here's some other related notes: | |
http://debian-user.blogspot.com/2009/01/autohotkey-for-linux.html | |
http://www.hotsolder.com/2008/08/autohotkey-for-linux-sort-of.html |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment