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