XMonad inside Virtualbox inside XMonad

Hi, Somehow XMonad and Virtualbox beetween them conspire to prevent the key I use as my XMonad modifier to be passed on to the guest OS (even when Virtualbox' key capture prevents the host's XMonad from seeing it). I have checked this by running xev in both host and guest and comparing what they see: all other modifier keys I can think of, get through to the guest except for the XMonad modifier. Obviously this makes it impossible to use XMonad sensibly in the guest. Any ideas about how to get around this problem? Thanks.

Can you just use a different modifier in the guest? ~d On 2014-02-08 06:37, Jacek Generowicz wrote:
Hi,
Somehow XMonad and Virtualbox beetween them conspire to prevent the key I use as my XMonad modifier to be passed on to the guest OS (even when Virtualbox' key capture prevents the host's XMonad from seeing it). I have checked this by running xev in both host and guest and comparing what they see: all other modifier keys I can think of, get through to the guest except for the XMonad modifier. Obviously this makes it impossible to use XMonad sensibly in the guest.
Any ideas about how to get around this problem?
Thanks. _______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad

daniel@wagner-home.com writes:
Can you just use a different modifier in the guest?
My XMonad modifiers (I have one for each hand) have been banged into my muscle memory through thousands of daily presses over a period of years, so while this might be possible theoretically, in practice, not really. Besides, if these two keys are taken out of the game altogether, then there's a serious shortage of modifiers on the keyboard: I need a Shift, a Meta and a Control on *each* hand. (I've never understood the stories about people liking to rebind Caps Lock as Control: where do they put the *other* control?)

On Sat, Feb 8, 2014 at 6:37 AM, Jacek Generowicz
Somehow XMonad and Virtualbox beetween them conspire to prevent the key I use as my XMonad modifier to be passed on to the guest OS (even when Virtualbox' key capture prevents the host's XMonad from seeing it). I
Sigh, has xorg managed to acquire even more brokenness? When there's an active keyboard grab in progress (vbox's keyboard capture), it should override passive grabs by other clients (xmonad) and pass the key events to the active-grabbing client (vbox) normally. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

allbery.b@gmail.com writes:
When there's an active keyboard grab in progress (vbox's keyboard capture), it should override passive grabs by other clients (xmonad) and pass the key events to the active-grabbing client (vbox) normally.
Yes, that was my understanding and expectation. Sigh.

On Sat, 08 Feb, 2014 at 11:37:01 GMT, Jacek Generowicz wrote:
Somehow XMonad and Virtualbox beetween them conspire to prevent the key I use as my XMonad modifier to be passed on to the guest OS (even when Virtualbox' key capture prevents the host's XMonad from seeing it). I have checked this by running xev in both host and guest and comparing what they see: all other modifier keys I can think of, get through to the guest except for the XMonad modifier. Obviously this makes it impossible to use XMonad sensibly in the guest.
Any ideas about how to get around this problem?
There's X.A.Submap. I use this to make C-i my "prefix" key. C-i C-i then sends C-i (with sendKey) to the focused window (this is similar to nesting tmux and screen sessions). You then use one extra C-i for each nesting that you want to control. If you're using naked keys, you could map C-i <key> to sendKey <key> (or whatever (this reminds me that I'd eventually like there to be a way to define keys with a (ButtonMask -> KeySym -> X ()) function rather than a static map...). --Ben
participants (4)
-
Ben Boeckel
-
Brandon Allbery
-
Daniel Wagner
-
Jacek Generowicz