Monday, November 02, 2009

cmd-key-happy -- swap cmd and alt keys in Terminal.app

Swap cmd and alt (or command and option) keys in Mac OS X using cmd-key-happy

This program allows you to swap the command and alt (or option) keys in any application, but in particular Terminal.app. This can be extremely handy when ssh'ing into other UN*X boxes and running "emacs -nw". It also allows you to have the traditional readline navigation work properly when using Bash (i.e., alt-backspace, alt-f, alt-b, etc).

The decision to swap the keys is based on a customizable script (Lua) and this also allows you to exclude certain key combinations per application. For example, "cmd-tab" is an exclusion in my Lua script regardless of which application is running; I still want this key combination to cycle the active set of applications.

The motivation for this program was the many years of hitting alt-<something> in Linux only to find that it does not generate the same behaviour in Terminal.app. Having the ability to run "emacs -nw" from within Terminal.app is now useable!