Comment 7 for bug 771246

Revision history for this message
Barry Warsaw (barry) wrote :

This is just a very weird problem. It's almost definitely Unity related, since if I run classic desktop, my xmodmap will always work. Frankly I suspect a race condition because sometimes after first login with Unity, my xmodmap will work, and other times it won't -- but only partially. Here's some of what I've seen:

Log in with Unity, apply the xmodmap. Alt gets mapped to Apple/cmd for things like the switcher, and Super calls up the Unity search, but Alt-<key> doesn't bring up the menu bar in Terminal, or get mapped to meta in Emacs.

Log in with Unity, run gpointing-device-settings to fix the cursor, then run xmodmap. Now it everything works fine. (I suspect it isn't the actual running of g-d-s but the time between login and xmodmap). However, this isn't completely reproducible, because sometimes you get the above behavior.

Note that once the xmodmap is only partially applied, nothing seems to be able to make it fully applied. Also, xev is completely unhelpful because no keypress event is registered.

I think what's happening is that Unity is capturing certain keypresses before xev or the applications see it. There's a timing issue also so maybe when Unity is not quite done doing whatever magical thing it does before xmodmap gets run, it just hoses things permanently. I *think* a re-login won't fix this and you need to reboot, but I'm not positive about that either.