Open mschnelte opened 1 year ago
That's a "feature" of key events on MS Windows, which you can see by running the "keyboard" tool from Xpra_cmd.exe toolbox
.
It sends spurious Control_L
events.
I'm not sure what we can do better here.
Yes, I have seen that behavior on Control_L+Alt_R. But why does it translate to ALT_L? There are two things that I find curious here:
The alt_L key is send only on releasing altGr.
Then perhaps we need to filter them out also when releasing AltGr
.
Can you please try 5.0-r32215 or later from https://xpra.org/beta/windows
It includes the commit above, which should do what you want.
I am seeing spurious Num_Lock
events, those should be suppressed.
Tnx for the quick update! It does actually solve the problem that it does trigger alt keystrokes and therefore triggering unwanted menu focuses in for example vscode. However it seems to be too drastic when filtering:
Steps:
Expected Result: KeyPress ISO3_Level_Shift followed by KeyRelease ISO3_Level_Shift Actual result: Only the keyPress event
Expected Result: KeyPress ISO3_Level_Shift, KeyRelease ISO3_Level_Shift, KeyPress Event ISO3... Actual result: Only the first keyPress event, no release events, no subsequent keypress events
xev Output:
KeyPress event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90145339, (121,146), root:(194,248),
state 0x10, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90145339, (121,146), root:(194,248),
state 0x10, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90145340, (121,146), root:(194,248),
state 0x0, keycode 92 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90147751, (121,146), root:(194,248),
state 0x80, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90147752, (121,146), root:(194,248),
state 0x90, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90147754, (121,146), root:(194,248),
state 0x90, keycode 19 (keysym 0x7d, braceright), same_screen YES,
XLookupString gives 1 bytes: (7d) "}"
XmbLookupString gives 1 bytes: (7d) "}"
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90147873, (121,146), root:(194,248),
state 0x90, keycode 19 (keysym 0x7d, braceright), same_screen YES,
XLookupString gives 1 bytes: (7d) "}"
XFilterEvent returns: False
KeyPress event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90152717, (121,146), root:(194,248),
state 0x90, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90152718, (121,146), root:(194,248),
state 0x90, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1600001,
root 0x50d, subw 0x0, time 90157607, (121,146), root:(194,248),
state 0x80, keycode 92 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
See also https://github.com/Xpra-org/xpra/issues/4066#issuecomment-1901059501 and #4024
Describe the bug Pressing AltGr on my german keyboard is producing Alt_L keypress + release events once the key is released.
To Reproduce Steps to reproduce the behavior:
/usr/bin/xpra --no-daemon start :100
Expected result: KeyEvents for AltGr Actual result: After releasing the AltGr Button, KeyPress and KeyRelease events for ALT_L are coming in.
This is a very annoying behavior as it triggers activation of the menu bar in some programs and typing is disrupted. It seems this has been found already in issue: #2560 but not followed up?
I noticed on windows side if I run
GTK_keyboard_test.exe
i getdown Control_L, down alt_R
when pressing altGr. This seems to be standard behavior on windows. Not sure if this has anything to do with this bug.Client output on start on windows with
-d keyboard
Client output when pressing AltGr:
Client output on releasing altgr:
Server output on AltGr press:
Server output on releasing AltGr: