Issue 69 in xmonad: Key binding improvements

Issue 69: Key binding improvements http://code.google.com/p/xmonad/issues/detail?id=69 Comment #3 by gwern0: VVV: why on earth would you want to *swap* them? Capslock is an unpleasant key I've configured X to just replace with another Ctrl... Nomeata: Yes, that might work for some configurations, but for anything nonstandard, xmodmap is a bizarre relic of the '80s, and X was never very well designed in the first place. And you're right, it really doesn't help this bug since I can't see how you would bind the example C-z as the prefix. --- But while I'm here, I might as well mention how StumpWM/RP solve this problem (begin vague recollection of how Sabetts explained it to me). #They seem to somehow intercept all pressed keys and then match against a sort of 'root-map'. The root-map consists of a list of keys (usually exactly one key or key-combo - as I mentioned I often saw C-z as the entry in the root-map, but I could and did have the keys 'Insert' and '>' both be entries in the root-map, so I effectively had two single key prefixes). #When a key press is matched against an item in the root-map, the window manager shifts over into command mode and does some other stuff like change the appearance of the mouse so you know you are in command mode. #Now in command mode, keys are intercepted again, but this time matched against a different map, a top-map. This includes more normal stuff, ie a press of 'k' will be matched against the function "kill" and so on. This scheme offers much more flexibility than XMonad's, obviously. You can use the modifiers, or not, you can use arbitrary keys, you can loop between keymaps (for example, remember that I had Insert in the root-map bound to 'enter-command-mode' or whatever; Insert was then rebound in the top-map to 'previous', so if I wanted to flip back and forth between windows all I had to do was bounce my thumb on Insert. Extremely convenient, but how would you do that in XMonad? Each key press is its own event, there is no state to make use of.), etc. etc. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings
participants (1)
-
codesite-noreply@google.com