You are not logged in.
I'm running Windows 7 and Debian guests in VMWare Workstation on an updated stable Arch Linux (wm: XFCE) host. When VMware releases the keyboard from the guest OS to the host the "a" key stops working. "a" works in the guest OS and strangely enough also works in KeePassX on the host but not in any other host application running under X.
On the host, holding shift + A will return "A" and if I turn on Caps_Lock and hold shift + a I'll get "a". Pressing the "A" key with no modifier does nothing.
Running $ showkey --keycodes on the host indicates the scancode (0x1e down, 0x9e up) is still being generated as expected. Prior to the first VMware keyboard capture, running xev on the host indicates correct detection and mapping of the keypress (pressing "a" then "shift + a"):
$ xev
KeyPress event, serial 37, synthetic NO, window 0x1600001,
root 0x292, subw 0x0, time 102283463, (137,56), root:(2626,74),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: FalseKeyRelease event, serial 37, synthetic NO, window 0x1600001,
root 0x292, subw 0x0, time 102283568, (137,56), root:(2626,74),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: FalseKeyPress event, serial 37, synthetic NO, window 0x1600001,
root 0x292, subw 0x0, time 102286270, (137,56), root:(2626,74),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: FalseKeyPress event, serial 37, synthetic NO, window 0x1600001,
root 0x292, subw 0x0, time 102286698, (137,56), root:(2626,74),
state 0x11, keycode 38 (keysym 0x41, A), same_screen YES,
XLookupString gives 1 bytes: (41) "A"
XmbLookupString gives 1 bytes: (41) "A"
XFilterEvent returns: FalseKeyRelease event, serial 37, synthetic NO, window 0x1600001,
root 0x292, subw 0x0, time 102286826, (137,56), root:(2626,74),
state 0x11, keycode 38 (keysym 0x41, A), same_screen YES,
XLookupString gives 1 bytes: (41) "A"
XFilterEvent returns: False
After the first VMware keyboard capture xev no longer detects the "A" keypress generating the following output instead (pressing "a" then "shift + a"):
$ xev
FocusOut event, serial 37, synthetic NO, window 0x1600001,
mode NotifyGrab, detail NotifyAncestorFocusOut event, serial 37, synthetic NO, window 0x1600001,
mode NotifyUngrab, detail NotifyPointerFocusIn event, serial 37, synthetic NO, window 0x1600001,
mode NotifyUngrab, detail NotifyAncestorKeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0KeyPress event, serial 37, synthetic NO, window 0x1600001,
root 0x292, subw 0x0, time 102369614, (6,122), root:(2495,140),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: FalseKeyPress event, serial 37, synthetic NO, window 0x1600001,
root 0x292, subw 0x0, time 102370094, (6,122), root:(2495,140),
state 0x11, keycode 38 (keysym 0x41, A), same_screen YES,
XLookupString gives 1 bytes: (41) "A"
XmbLookupString gives 1 bytes: (41) "A"
XFilterEvent returns: FalseKeyRelease event, serial 37, synthetic NO, window 0x1600001,
root 0x292, subw 0x0, time 102370235, (6,122), root:(2495,140),
state 0x11, keycode 38 (keysym 0x41, A), same_screen YES,
XLookupString gives 1 bytes: (41) "A"
XFilterEvent returns: False
The problem persists even after the VMware services are terminated. Restarting the X session by logging out/in corrects the issue.
I'm running low on troubleshooting ideas so any advice or assistance would be greatly appreciated.
Last edited by cvillelk (2015-03-03 18:53:00)
Offline
Update: I managed to correct the issue (practically accidentally).
After a lot of troubleshooting and nearly giving up I cleared the XFCE session cache (rm ~/.cache/sessions) and the issue disappeared!
In disbelief I restored the sessions folder from a backup and the issue reoccurred.
I'm adjusting the post title because I'd still like to get to the bottom of this issue, though I'm glad to have a functioning virtualization environment again.
Offline
It turns out KeePassX was the culprit responsible. Should have occurred to me sooner when considering key bindings. I had ALT-a set to the KeyPassX global autotype shortcut and when the mouse is released from VMware the a key stops working entirely.
I'm marking the thread as solved and look a little further into how keepassx handles key bindings.
Offline