This annoying vmware-deletes-the-modifier-keys bug I wrote about is still a mystery, but still I gained some more info. There are two problems:
1. VMware deletes modifier keys:
- Can be replicated by holding a modifier key down inside a guest OS (VMware console). Then moving the mouse out of the guest OS window, while modifier is still down.
- Happens on modern Ubuntu/Debian/Arch Linux versions.
- Very likely, but not 100% confirmed: happens since Xorg 7.3.
- Doesn't happen on CentOS / RedHat EL 5. (Apparently because they use Xorg 7.1.1?)
- Links: Ubuntu launchpad, VMware forums.
Still, is it an Xorg bug or VMware one? (or GTK)
2. GTK apps crash on a keypress, when X modifiers-list is empty.
- If 'xmodmap' is emptied (either by the VMware bug described above, or by manually removing all the modifiers), each new-running GTK app would just crash as the first key is pressed.
- This doesn't happen to KDE or plain-X11 apps.
- Segmentation fault is received in the _gdk_keymap_key_is_modifier() function in gdkkeys-x11.c:1662.
- I tried digging the code, but no luck yet (all I could do is skip the function if no modifiers are set, but I don't know GDK enough to know the other effects it can have).
- Links: Gnome bugzilla.
I'll keep updating in case there'll be something interesting.
Update: gtk bug got fixed.