Remap arrow keys to win+ijkl on linux
I'd like to remap arrow keys to windows key plus ijkl. I can do this easily in Autohotkey on windows, but I'm struggling on Linux (Ubuntu lucid).
I'd really like the solution to work independently of whether I'm using a window manager or not, and to involve modifying as few files as possible; I work on a lots of different machines and am always building new ones, so would like to minimise reconfig effort.
I've tried to understand .Xmodmap, but couldn't make it work (was hard to find detailed docs on modifier keys).
(Am also considering win+hjkl, but am probably not that hardcore)
Use xev to find out the key code for the modifier key(Win key in this case).
Let it be 66.
Make a file named Xmodmap (or whatever you like) with the following content.
keycode 66 = Mode_switch
keysym j = j J Left
keysym l = l L Right
keysym i = i I Up
keysym k = k K Down
Now load these mappings using xmodmap Xmodmap
Slight variation of @yaniv's answer mapped for VIM shortcuts
keycode 66 = Mode_switch
keysym h = h H Left
keysym l = l L Right
keysym k = k K Up
keysym j = j J Down
Also you might want to have your xmodmap run on every login.
Install xbindkeys to assign meanings to keys, xmacro for the meaning to be like typing another key, and xbindkeys-config for a configuration interface to xbindkeys. There is a good explanation on the keyboard shortcuts page in the Ubuntu community documentation.