I had the same problem, and I did notice something funny going on with the keycodes (don't remember exactly what at it was a while ago). I managed to fix it by forcing Apple's X11 to use a proper keyboard map by going into /Applications/Utilities/X11.app/Contents/MacOS, moving the X11 binary to X11.old, and then writing a new X11 as follows:
#!/bin/sh exec /usr/bin/ssh-agent $(dirname $0)/X11.old -keymap /Library/Keyboards/USA.keymapping $* (I think you can set the keyboard mapping using X11.apps defaults mechanism but I did it this way because I wanted to use ssh-agent too.) That should probably do it, but I also wanted Alt/Option to work as Alt for Gnome apps, readline etc, and the Command/Apple key to work as the main Ion modifier key - I eventually settled on this .Xmodmap: keycode 63 = Alt_L keycode 66 = Meta_L keycode 59 = BackSpace keycode 125 = Delete clear mod1 clear mod2 add mod1 = Meta_L Mode_switch add mod2 = Alt_L Note that 63 is actually the Command key, and 66 is the Alt/Option key, at least on my Powerbook's keyboard. Then I set my ion_cfg.lua to contain META="Mod2+" That seemed to do the trick - I was able to set bindings to use the arrow keys to switch between Ion frames and also to navigate Ion's menus. Be aware, however, that the .keymapping files are no longer distributed with later version of Mac OS X so you might have to root around for one. btw, I also tried using the xorg server that's currently in Fink (6.8.2) and it was deeply confused about the keyboard: the Alt, Command, and arrow keys didn't work in some combinations, not even showing up in xev. Didn't have time to mess around with it so went back to Apple's X11. - samer
