[Xmonad] Issue 69 in xmonad: Key binding improvements

codesite-noreply at google.com codesite-noreply at google.com
Mon Oct 22 16:16:01 EDT 2007

Issue 69: Key binding improvements

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:

More information about the Xmonad mailing list