https://bugs.winehq.org/show_bug.cgi?id=48965
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |UNCONFIRMED Ever confirmed|1 |0
--- Comment #17 from Zebediah Figura z.figura12@gmail.com --- I'm inclined to call this a compiz bug. See, here's the thing:
01e4:trace:event:call_event_handler 479 FocusOut for hwnd/window 0x200c8/8800005 01e4:trace:event:X11DRV_FocusOut win 0x200c8 xwin 8800005 detail=NotifyAncestor mode=NotifyGrab 01e4:trace:event:call_event_handler 479 FocusIn for hwnd/window 0x200c8/8800005 01e4:trace:event:X11DRV_FocusIn win 0x200c8 xwin 8800005 detail=NotifyAncestor mode=NotifyUngrab
Someone randomly grabs the keyboard, apparently, causing our window to focus out and back in again. Okay, fine, whatever, they're within rights to do that I guess...
01e4:trace:event:call_event_handler 479 KeymapNotify for hwnd/window (nil)/0 01e4:trace:keyboard:X11DRV_KeymapNotify Adjusting state for vkey 0xa4. State before 00 01e4:trace:event:process_events processed 4 events, returning 1
The FocusIn is followed by a KeymapNotify, which is correct. Problem is, that notify already has the alt key pressed.
01e4:trace:event:call_event_handler 479 KeyPress for hwnd/window 0x200c8/8800005 01e4:trace:key:X11DRV_KeyEvent type 2, window 8800005, state 0x0000, keycode 64 01e4:trace:key:X11DRV_KeyEvent XmbLookupString needs 0 byte(s) 01e4:trace:key:X11DRV_KeyEvent nbyte = 0, status 3 01e4:trace:key:X11DRV_KeyEvent KeyPress : keysym=ffe9 (Alt_L), # of chars=0 / "" 01e4:trace:key:EVENT_event_to_vkey e->keycode = 64 01e4:trace:key:X11DRV_KeyEvent keycode 64 converted to vkey 0xA4 scan 38 01e4:trace:key:X11DRV_send_keyboard_input hwnd 0x200c8 vkey=00a4 scan=0038 flags=0000 01e4:trace:event:process_events processed 2 events, returning 1 01e4:trace:msg:peek_message got type 7 msg 104 (WM_SYSKEYDOWN) hwnd 00000000000200C8 wp a4 lp 60380001
Then we get a KeyPress of the left alt key. Trouble is, we report to Rift that the key was already held down, and it seems to ignore key presses in that case.
This isn't actually invalid according to the X11 spec (at least, I think), and it can happen in practice due to auto-repeat. But it confuses the application, and I don't think compiz should be doing this.
I'll try to set up a VM to reproduce, and possibly create a minimal test case, and then report the bug to compiz.