Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Language layout does not switch automatically #3857

Closed
nvaleryRR opened this issue May 18, 2023 · 8 comments
Closed

Language layout does not switch automatically #3857

nvaleryRR opened this issue May 18, 2023 · 8 comments
Labels
bug Something isn't working keyboard win32 MS Windows OS

Comments

@nvaleryRR
Copy link

OS client - windows 10 22H2
Client Xpra-Python3-x86_64_Setup_4.4.4-r1.exe
OS Server - ubuntu mate 22.04
Server Xpra - from the stable repository xpra 4.4.4
From the Windows client, the session is started (with the launch of xterm) and attached to it.
When switching the input language from English to Russian (using hot keys or using the mouse on the language bar), the keyboard stops typing. When switching back to English, the keyboard prints normally. In this case, it all depends on which input language was selected during the launch of the session from the client to Windows. In the input language that was selected at the start of the session, character printing works fine, but if you switch the input language to another, printing stops. To be able to print in a language other than the one selected at the start of the session, you have to go to the settings of the running session and transfer the layout from the auto state to the desired language, then printing becomes possible, exactly until you switch the language again. It's terribly inconvenient to constantly climb into the menu to switch input languages. I can't figure out if this is a bug or if I'm doing something wrong. How to make the input language switch automatically when hotkeys are pressed (shift + alt or shift + control).

@nvaleryRR nvaleryRR added the bug Something isn't working label May 18, 2023
@totaam
Copy link
Collaborator

totaam commented May 18, 2023

What sort of session are you using? "seamless" or "desktop"?
What is meant to happen for seamless sessions is that the xpra client should detect the keyboard layout change and then re-configure the xpra server to match the new layout.
For "desktop" (and "monitor") sessions, there is the added complexity of having a full desktop environment, which may also have its own keyboard layout management tool and keyboard shortcuts for affecting the layout settings.

@nvaleryRR
Copy link
Author

I am using "seamless" session (launching one application - I've tried terminal and browser at different times). You are absolutely right, I also came to the conclusion that the client is to blame. If you manually switch the layout in the client (from the tray menu), then it switches, but when you return to auto mode, nothing changes and it remains the one that was last selected manually. I tried to run the client on windows 7 x64, but this did not bring any changes. Then I tried several older versions of the client, also to no avail. Now I'm stuck and don't know where to go next.

@totaam
Copy link
Collaborator

totaam commented May 18, 2023

Perhaps we're not receiving the keyboard layout switching events, or not processing those properly.
Try running the client from the command line with Xpra_cmd.exe attach -d win32,keyboard ssh://user@host/
And see if anything appears in the log output when you switch keyboard layout.

@totaam totaam added keyboard win32 MS Windows OS labels May 18, 2023
@nvaleryRR
Copy link
Author

nvaleryRR commented May 18, 2023

launched as you indicated. When switching the layout, the lines run, but their meaning is not clear to me). I attach the log from the beginning of the connection to the end, the moment in the log when I press the layout switching keys 2023-05-18 16:17:20,971

`C:\Program Files\Xpra>Xpra_cmd.exe attach -d win32,keyboard ssh://valery@x.x.x.x:22/7
Warning: invalid option: 'audio'
2023-05-18 16:17:01,764 debug enabled for xpra.platform.win32.window_hooks / ('win32', 'window', 'util')
2023-05-18 16:17:01,764 debug enabled for xpra.platform.win32.win32_events / ('events', 'win32')
2023-05-18 16:17:01,779 debug enabled for xpra.platform.win32.gui / ('win32',)
2023-05-18 16:17:01,779 debug enabled for xpra.platform.win32.gui / ('win32', 'grab')
2023-05-18 16:17:01,779 debug enabled for xpra.platform.win32.gui / ('win32', 'screen')
2023-05-18 16:17:01,779 debug enabled for xpra.platform.win32.gui / ('win32', 'keyboard')
2023-05-18 16:17:01,779 debug enabled for xpra.platform.win32.gui / ('win32', 'mouse')
2023-05-18 16:17:01,779 PyCapsute_GetPointer=<_FuncPtr object at 0x0000015217b09cb0>
2023-05-18 16:17:01,779 gdkdll=<CDLL 'C:\Program Files\Xpra\lib\libgdk-3-0.dll', handle 7ff90ff10000 at 0x1521810d960>
2023-05-18 16:17:01,779 debug enabled for importlib._bootstrap / ('win32',)
2023-05-18 16:17:01,779 win32 gui settings: CONSOLE_EVENT_LISTENER=True, USE_NATIVE_TRAY=True, WINDOW_HOOKS=True, GROUP_LEADER=True
2023-05-18 16:17:01,779 win32 gui settings: UNDECORATED_STYLE=True, CLIP_CURSOR=True, MAX_SIZE_HINT=False, LANGCHANGE=True
2023-05-18 16:17:01,779 win32 gui settings: FORWARD_WINDOWS_KEY=True, WHEEL=True, WHEEL_DELTA=120
2023-05-18 16:17:01,795 debug enabled for xpra.platform.win32.dpi / ('win32', 'screen')
2023-05-18 16:17:01,795 init_dpi() DPI_AWARE=True, DPI_AWARENESS=2
2023-05-18 16:17:01,795 SetProcessDPIAware: <_FuncPtr object at 0x0000015217b0a330>()=1
2023-05-18 16:17:01,795 SetProcessDPIAwareness: <_FuncPtr object at 0x0000015217b0a400>(2)=0
2023-05-18 16:17:01,795 debug enabled for xpra.platform.win32.dwm_color / ('win32',)
2023-05-18 16:17:01,795 DwmGetColorizationParameters(..)=0
2023-05-18 16:17:01,795 rgba(0xc40078d7)=(0, 120, 215, 196)
2023-05-18 16:17:01,795 match_window_color() css='\n.titlebar {\n background-color: rgb(0, 120, 215);\n background-image: none;\n}\nheaderbar .title {\n color : white;\n}\nheaderbar .titlebutton {\n color: white;\n}\n.titlebar:backdrop {\n background-color: white;\n}\n.titlebar:backdrop .title {\n color : #999999;\n}\nheaderbar:backdrop .titlebutton {\n color: #999999;\n}\n'
2023-05-18 16:17:01,857 debug enabled for xpra.gtk_common.keymap / ('keyboard',)
2023-05-18 16:17:01,888 debug enabled for xpra.client.client_window_base / ('keyboard',)
2023-05-18 16:17:01,888 debug enabled for xpra.client.gtk_base.gtk_client_window_base / ('keyboard',)
2023-05-18 16:17:01,888 debug enabled for xpra.client.gtk_base.gtk_client_window_base / ('keyboard', 'events')
2023-05-18 16:17:01,920 debug enabled for xpra.client.keyboard_shortcuts_parser / ('keyboard',)
2023-05-18 16:17:01,920 debug enabled for xpra.client.keyboard_helper / ('keyboard',)
2023-05-18 16:17:01,935 debug enabled for xpra.client.ui_client_base / ('client', 'keyboard')
2023-05-18 16:17:01,951 Xpra GTK3 client version 4.4.4-r1 64-bit
2023-05-18 16:17:01,951  running on Microsoft Windows 10
Warning: invalid option: 'audio'
2023-05-18 16:17:04,238 GStreamer version 1.22.1
2023-05-18 16:17:04,238 debug enabled for xpra.platform.win32.win32_balloon / ('notify', 'win32')
2023-05-18 16:17:04,363 debug enabled for xpra.platform.win32.namedpipes.listener / ('network', 'named-pipe', 'win32')
2023-05-18 16:17:04,363 NamedPipeListener(\\.\pipe\Xpra\4836, None)
2023-05-18 16:17:04,363 GetCurrentProcess()=0xffffffffffffffff
2023-05-18 16:17:04,378 process=3376
2023-05-18 16:17:04,378 created named pipe 'Xpra\4836'
2023-05-18 16:17:04,519 debug enabled for xpra.platform.keyboard_base / ('keyboard',)
2023-05-18 16:17:04,535 debug enabled for xpra.platform.win32.keyboard / ('keyboard',)
2023-05-18 16:17:04,535 KeyboardHelper((<function UIXpraClient.init_ui.<locals>.send_keyboard at 0x000001523bb753f0>, True, ['Control+Menu:toggle_keyboard_grab', 'Shift+Menu:toggle_pointer_grab', 'Shift+F11:toggle_fullscreen', '#+F1:show_menu', '#+F2:show_start_new_command', '#+F3:show_bug_report', '#+F4:quit', '#+F5:show_window_info', '#+F6:show_shortcuts', '#+F7:show_docs', '#+F8:toggle_keyboard_grab', '#+F9:toggle_pointer_grab', '#+F10:magic_key', '#+F11:show_session_info', '#+F12:toggle_debug', '#+plus:scaleup', '#+minus:scaledown', '#+underscore:scaledown', '#+KP_Add:scaleup', '#+KP_Subtract:scaledown', '#+KP_Multiply:scalereset', '#+bar:scalereset', '#+question:scalingoff'], False, None, None, None, None, None)) keyboard=win32.Keyboard
2023-05-18 16:17:04,535 keyboard repeat speed(31)=33, delay(1)=500
2023-05-18 16:17:04,535 query_xkbmap()
2023-05-18 16:17:04,535 GetKeyboardLayoutList()=0x4190419, 0x4090409
2023-05-18 16:17:04,535 found keyboard layout 'ru' / 0x419 with variants=['phonetic', 'phonetic_winkeys', 'typewriter', 'legacy', 'typewriter-legacy', 'tt', 'os_legacy', 'os_winkeys', 'cv', 'cv_latin', 'udm', 'kom', 'sah', 'xal', 'dos', 'srp', 'bak', 'chm'], code 'RUS' for kbid=0x4190419
2023-05-18 16:17:04,535 found keyboard layout 'us' / 0x409 with variants=[], code 'USA' for kbid=0x4090409
2023-05-18 16:17:04,535 get_layout_spec() GetKeyboardLayoutName()=00000409
2023-05-18 16:17:04,535 sublang(0x409)=0x1
2023-05-18 16:17:04,535 get_layout_spec() WIN32_KEYBOARDS[0x409]=('us', 'United States - English')
2023-05-18 16:17:04,535 GetKeyboardLayout(0)=0x4090409
2023-05-18 16:17:04,535 found keyboard layout 'us' / 0x409 with variants=[], code 'USA' for kbid=1033 (0x4090409)
2023-05-18 16:17:04,535 keyboard layout 'United States - English' : 'us' (0x409)
2023-05-18 16:17:04,535 win32.Keyboard.get_layout_spec()=('us', ['ru', 'us'], None, [], '')
2023-05-18 16:17:04,535 get_layout_spec()=('us', ['ru', 'us'], None, [], None)
2023-05-18 16:17:04,535 query_xkbmap() query_struct={}
2023-05-18 16:17:04,535 keymap_get_for_display(<__gi__.GdkWin32Display object at 0x0000015217b312c0 (GdkWin32Display at 0x000001521756a060)>)=<__gi__.GdkWin32Keymap object at 0x0000015217e4f240 (GdkWin32Keymap at 0x00000152175120c0)>, direction=<enum PANGO_DIRECTION_LTR of type Pango.Direction>, bidirectional layouts: False
2023-05-18 16:17:04,550 get_entries_for_keycode(0)=()
2023-05-18 16:17:04,550 get_entries_for_keycode(1)=()
2023-05-18 16:17:04,550 get_entries_for_keycode(2)=()
2023-05-18 16:17:04,550 keycode   3: [(65385, 'Cancel', 3, 0, 0), (65385, 'Cancel', 3, 1, 0)]
2023-05-18 16:17:04,550 get_entries_for_keycode(4)=()
2023-05-18 16:17:04,550 get_entries_for_keycode(5)=()
2023-05-18 16:17:04,550 get_entries_for_keycode(6)=()
2023-05-18 16:17:04,550 get_entries_for_keycode(7)=()
2023-05-18 16:17:04,550 keycode   8: [(65288, 'BackSpace', 8, 0, 0), (65288, 'BackSpace', 8, 1, 0)]
2023-05-18 16:17:04,550 keycode   9: [(65289, 'Tab', 9, 0, 0), (65056, 'ISO_Left_Tab', 9, 0, 1), (65289, 'Tab', 9, 1, 0), (65056, 'ISO_Left_Tab', 9, 1, 1)]
2023-05-18 16:17:04,550 get_entries_for_keycode(10)=()
2023-05-18 16:17:04,550 get_entries_for_keycode(11)=()
2023-05-18 16:17:04,550 keycode  12: [(65291, 'Clear', 12, 0, 0), (65291, 'Clear', 12, 1, 0)]
2023-05-18 16:17:04,566 keycode  13: [(65293, 'Return', 13, 0, 0), (65293, 'Return', 13, 1, 0)]
2023-05-18 16:17:04,566 get_entries_for_keycode(14)=()
2023-05-18 16:17:04,566 get_entries_for_keycode(15)=()
2023-05-18 16:17:04,566 keycode  16: [(65505, 'Shift_L', 16, 0, 0), (65505, 'Shift_L', 16, 1, 0)]
2023-05-18 16:17:04,566 keycode  17: [(65507, 'Control_L', 17, 0, 0), (65507, 'Control_L', 17, 1, 0)]
2023-05-18 16:17:04,566 keycode  18: [(65513, 'Alt_L', 18, 0, 0), (65513, 'Alt_L', 18, 1, 0)]
2023-05-18 16:17:04,566 keycode  19: [(65299, 'Pause', 19, 0, 0), (65299, 'Pause', 19, 1, 0)]
2023-05-18 16:17:04,566 keycode  20: [(65509, 'Caps_Lock', 20, 0, 0), (65509, 'Caps_Lock', 20, 1, 0)]
2023-05-18 16:17:04,566 get_entries_for_keycode(21)=()
2023-05-18 16:17:04,566 get_entries_for_keycode(22)=()
2023-05-18 16:17:04,566 get_entries_for_keycode(23)=()
2023-05-18 16:17:04,566 get_entries_for_keycode(24)=()
2023-05-18 16:17:04,566 get_entries_for_keycode(25)=()
2023-05-18 16:17:04,566 get_entries_for_keycode(26)=()
2023-05-18 16:17:04,582 keycode  27: [(65307, 'Escape', 27, 0, 0), (65307, 'Escape', 27, 1, 0)]
2023-05-18 16:17:04,582 get_entries_for_keycode(28)=()
2023-05-18 16:17:04,582 get_entries_for_keycode(29)=()
2023-05-18 16:17:04,582 get_entries_for_keycode(30)=()
2023-05-18 16:17:04,582 get_entries_for_keycode(31)=()
2023-05-18 16:17:04,582 keycode  32: [(32, 'space', 32, 0, 0), (32, 'space', 32, 0, 1), (32, 'space', 32, 1, 0), (32, 'space', 32, 1, 1)]
2023-05-18 16:17:04,582 keycode  33: [(65365, 'Page_Up', 33, 0, 0), (65365, 'Page_Up', 33, 1, 0)]
2023-05-18 16:17:04,582 keycode  34: [(65366, 'Page_Down', 34, 0, 0), (65366, 'Page_Down', 34, 1, 0)]
2023-05-18 16:17:04,582 keycode  35: [(65367, 'End', 35, 0, 0), (65367, 'End', 35, 1, 0)]
2023-05-18 16:17:04,582 keycode  36: [(65360, 'Home', 36, 0, 0), (65360, 'Home', 36, 1, 0)]
2023-05-18 16:17:04,582 keycode  37: [(65361, 'Left', 37, 0, 0), (65361, 'Left', 37, 1, 0)]
2023-05-18 16:17:04,582 keycode  38: [(65362, 'Up', 38, 0, 0), (65362, 'Up', 38, 1, 0)]
2023-05-18 16:17:04,582 keycode  39: [(65363, 'Right', 39, 0, 0), (65363, 'Right', 39, 1, 0)]
2023-05-18 16:17:04,582 keycode  40: [(65364, 'Down', 40, 0, 0), (65364, 'Down', 40, 1, 0)]
2023-05-18 16:17:04,597 keycode  41: [(65376, 'Select', 41, 0, 0), (65376, 'Select', 41, 1, 0)]
2023-05-18 16:17:04,597 keycode  42: [(65377, 'Print', 42, 0, 0), (65377, 'Print', 42, 1, 0)]
2023-05-18 16:17:04,597 keycode  43: [(65378, 'Execute', 43, 0, 0), (65378, 'Execute', 43, 1, 0)]
2023-05-18 16:17:04,597 keycode  44: [(65377, 'Print', 44, 0, 0), (65377, 'Print', 44, 1, 0)]
2023-05-18 16:17:04,597 keycode  45: [(65379, 'Insert', 45, 0, 0), (65379, 'Insert', 45, 1, 0)]
2023-05-18 16:17:04,597 keycode  46: [(65535, 'Delete', 46, 0, 0), (65535, 'Delete', 46, 1, 0)]
2023-05-18 16:17:04,597 keycode  47: [(65386, 'Help', 47, 0, 0), (65386, 'Help', 47, 1, 0)]
2023-05-18 16:17:04,597 keycode  48: [(48, '0', 48, 0, 0), (41, 'parenright', 48, 0, 1), (48, '0', 48, 1, 0), (41, 'parenright', 48, 1, 1)]
2023-05-18 16:17:04,597 keycode  49: [(49, '1', 49, 0, 0), (33, 'exclam', 49, 0, 1), (49, '1', 49, 1, 0), (33, 'exclam', 49, 1, 1)]
2023-05-18 16:17:04,597 keycode  50: [(50, '2', 50, 0, 0), (34, 'quotedbl', 50, 0, 1), (50, '2', 50, 1, 0), (64, 'at', 50, 1, 1)]
2023-05-18 16:17:04,597 keycode  51: [(51, '3', 51, 0, 0), (1712, 'numerosign', 51, 0, 1), (51, '3', 51, 1, 0), (35, 'numbersign', 51, 1, 1)]
2023-05-18 16:17:04,597 keycode  52: [(52, '4', 52, 0, 0), (59, 'semicolon', 52, 0, 1), (52, '4', 52, 1, 0), (36, 'dollar', 52, 1, 1)]
2023-05-18 16:17:04,597 keycode  53: [(53, '5', 53, 0, 0), (37, 'percent', 53, 0, 1), (53, '5', 53, 1, 0), (37, 'percent', 53, 1, 1)]
2023-05-18 16:17:04,597 keycode  54: [(54, '6', 54, 0, 0), (58, 'colon', 54, 0, 1), (54, '6', 54, 1, 0), (94, 'asciicircum', 54, 1, 1)]
2023-05-18 16:17:04,597 keycode  55: [(55, '7', 55, 0, 0), (63, 'question', 55, 0, 1), (55, '7', 55, 1, 0), (38, 'ampersand', 55, 1, 1)]
2023-05-18 16:17:04,613 keycode  56: [(56, '8', 56, 0, 0), (42, 'asterisk', 56, 0, 1), (16785597, 'U+20BD', 56, 0, 3), (56, '8', 56, 1, 0), (42, 'asterisk', 56, 1, 1)]
2023-05-18 16:17:04,613 keycode  57: [(57, '9', 57, 0, 0), (40, 'parenleft', 57, 0, 1), (57, '9', 57, 1, 0), (40, 'parenleft', 57, 1, 1)]
2023-05-18 16:17:04,613 get_entries_for_keycode(58)=()
2023-05-18 16:17:04,613 get_entries_for_keycode(59)=()
2023-05-18 16:17:04,613 get_entries_for_keycode(60)=()
2023-05-18 16:17:04,613 get_entries_for_keycode(61)=()
2023-05-18 16:17:04,613 get_entries_for_keycode(62)=()
2023-05-18 16:17:04,613 get_entries_for_keycode(63)=()
2023-05-18 16:17:04,613 get_entries_for_keycode(64)=()
2023-05-18 16:17:04,613 keycode  65: [(1734, 'Cyrillic_ef', 65, 0, 0), (1766, 'Cyrillic_EF', 65, 0, 1), (97, 'a', 65, 1, 0), (65, 'A', 65, 1, 1)]
2023-05-18 16:17:04,613 keycode  66: [(1737, 'Cyrillic_i', 66, 0, 0), (1769, 'Cyrillic_I', 66, 0, 1), (98, 'b', 66, 1, 0), (66, 'B', 66, 1, 1)]
2023-05-18 16:17:04,613 keycode  67: [(1747, 'Cyrillic_es', 67, 0, 0), (1779, 'Cyrillic_ES', 67, 0, 1), (99, 'c', 67, 1, 0), (67, 'C', 67, 1, 1)]
2023-05-18 16:17:04,613 keycode  68: [(1751, 'Cyrillic_ve', 68, 0, 0), (1783, 'Cyrillic_VE', 68, 0, 1), (100, 'd', 68, 1, 0), (68, 'D', 68, 1, 1)]
2023-05-18 16:17:04,628 keycode  69: [(1749, 'Cyrillic_u', 69, 0, 0), (1781, 'Cyrillic_U', 69, 0, 1), (101, 'e', 69, 1, 0), (69, 'E', 69, 1, 1)]
2023-05-18 16:17:04,628 keycode  70: [(1729, 'Cyrillic_a', 70, 0, 0), (1761, 'Cyrillic_A', 70, 0, 1), (102, 'f', 70, 1, 0), (70, 'F', 70, 1, 1)]
2023-05-18 16:17:04,628 keycode  71: [(1744, 'Cyrillic_pe', 71, 0, 0), (1776, 'Cyrillic_PE', 71, 0, 1), (103, 'g', 71, 1, 0), (71, 'G', 71, 1, 1)]
2023-05-18 16:17:04,628 keycode  72: [(1746, 'Cyrillic_er', 72, 0, 0), (1778, 'Cyrillic_ER', 72, 0, 1), (104, 'h', 72, 1, 0), (72, 'H', 72, 1, 1)]
2023-05-18 16:17:04,628 keycode  73: [(1755, 'Cyrillic_sha', 73, 0, 0), (1787, 'Cyrillic_SHA', 73, 0, 1), (105, 'i', 73, 1, 0), (73, 'I', 73, 1, 1)]
2023-05-18 16:17:04,628 keycode  74: [(1743, 'Cyrillic_o', 74, 0, 0), (1775, 'Cyrillic_O', 74, 0, 1), (106, 'j', 74, 1, 0), (74, 'J', 74, 1, 1)]
2023-05-18 16:17:04,628 keycode  75: [(1740, 'Cyrillic_el', 75, 0, 0), (1772, 'Cyrillic_EL', 75, 0, 1), (107, 'k', 75, 1, 0), (75, 'K', 75, 1, 1)]
2023-05-18 16:17:04,628 keycode  76: [(1732, 'Cyrillic_de', 76, 0, 0), (1764, 'Cyrillic_DE', 76, 0, 1), (108, 'l', 76, 1, 0), (76, 'L', 76, 1, 1)]
2023-05-18 16:17:04,628 keycode  77: [(1752, 'Cyrillic_softsign', 77, 0, 0), (1784, 'Cyrillic_SOFTSIGN', 77, 0, 1), (109, 'm', 77, 1, 0), (77, 'M', 77, 1, 1)]
2023-05-18 16:17:04,628 keycode  78: [(1748, 'Cyrillic_te', 78, 0, 0), (1780, 'Cyrillic_TE', 78, 0, 1), (110, 'n', 78, 1, 0), (78, 'N', 78, 1, 1)]
2023-05-18 16:17:04,628 keycode  79: [(1757, 'Cyrillic_shcha', 79, 0, 0), (1789, 'Cyrillic_SHCHA', 79, 0, 1), (111, 'o', 79, 1, 0), (79, 'O', 79, 1, 1)]
2023-05-18 16:17:04,628 keycode  80: [(1754, 'Cyrillic_ze', 80, 0, 0), (1786, 'Cyrillic_ZE', 80, 0, 1), (112, 'p', 80, 1, 0), (80, 'P', 80, 1, 1)]
2023-05-18 16:17:04,628 keycode  81: [(1738, 'Cyrillic_shorti', 81, 0, 0), (1770, 'Cyrillic_SHORTI', 81, 0, 1), (113, 'q', 81, 1, 0), (81, 'Q', 81, 1, 1)]
2023-05-18 16:17:04,644 keycode  82: [(1739, 'Cyrillic_ka', 82, 0, 0), (1771, 'Cyrillic_KA', 82, 0, 1), (114, 'r', 82, 1, 0), (82, 'R', 82, 1, 1)]
2023-05-18 16:17:04,644 keycode  83: [(1753, 'Cyrillic_yeru', 83, 0, 0), (1785, 'Cyrillic_YERU', 83, 0, 1), (115, 's', 83, 1, 0), (83, 'S', 83, 1, 1)]
2023-05-18 16:17:04,644 keycode  84: [(1733, 'Cyrillic_ie', 84, 0, 0), (1765, 'Cyrillic_IE', 84, 0, 1), (116, 't', 84, 1, 0), (84, 'T', 84, 1, 1)]
2023-05-18 16:17:04,644 keycode  85: [(1735, 'Cyrillic_ghe', 85, 0, 0), (1767, 'Cyrillic_GHE', 85, 0, 1), (117, 'u', 85, 1, 0), (85, 'U', 85, 1, 1)]
2023-05-18 16:17:04,644 keycode  86: [(1741, 'Cyrillic_em', 86, 0, 0), (1773, 'Cyrillic_EM', 86, 0, 1), (118, 'v', 86, 1, 0), (86, 'V', 86, 1, 1)]
2023-05-18 16:17:04,644 keycode  87: [(1731, 'Cyrillic_tse', 87, 0, 0), (1763, 'Cyrillic_TSE', 87, 0, 1), (119, 'w', 87, 1, 0), (87, 'W', 87, 1, 1)]
2023-05-18 16:17:04,644 keycode  88: [(1758, 'Cyrillic_che', 88, 0, 0), (1790, 'Cyrillic_CHE', 88, 0, 1), (120, 'x', 88, 1, 0), (88, 'X', 88, 1, 1)]
2023-05-18 16:17:04,644 keycode  89: [(1742, 'Cyrillic_en', 89, 0, 0), (1774, 'Cyrillic_EN', 89, 0, 1), (121, 'y', 89, 1, 0), (89, 'Y', 89, 1, 1)]
2023-05-18 16:17:04,644 keycode  90: [(1745, 'Cyrillic_ya', 90, 0, 0), (1777, 'Cyrillic_YA', 90, 0, 1), (122, 'z', 90, 1, 0), (90, 'Z', 90, 1, 1)]
2023-05-18 16:17:04,644 keycode  91: [(65511, 'Meta_L', 91, 0, 0), (65511, 'Meta_L', 91, 1, 0)]
2023-05-18 16:17:04,644 keycode  92: [(65512, 'Meta_R', 92, 0, 0), (65512, 'Meta_R', 92, 1, 0)]
2023-05-18 16:17:04,644 keycode  93: [(65383, 'Menu', 93, 0, 0), (65383, 'Menu', 93, 1, 0)]
2023-05-18 16:17:04,644 get_entries_for_keycode(94)=()
2023-05-18 16:17:04,644 get_entries_for_keycode(95)=()
2023-05-18 16:17:04,660 keycode  96: [(65456, 'KP_0', 96, 0, 0), (65456, 'KP_0', 96, 1, 0)]
2023-05-18 16:17:04,660 keycode  97: [(65457, 'KP_1', 97, 0, 0), (65457, 'KP_1', 97, 1, 0)]
2023-05-18 16:17:04,660 keycode  98: [(65458, 'KP_2', 98, 0, 0), (65458, 'KP_2', 98, 1, 0)]
2023-05-18 16:17:04,660 keycode  99: [(65459, 'KP_3', 99, 0, 0), (65459, 'KP_3', 99, 1, 0)]
2023-05-18 16:17:04,660 keycode 100: [(65460, 'KP_4', 100, 0, 0), (65460, 'KP_4', 100, 1, 0)]
2023-05-18 16:17:04,660 keycode 101: [(65461, 'KP_5', 101, 0, 0), (65461, 'KP_5', 101, 1, 0)]
2023-05-18 16:17:04,660 keycode 102: [(65462, 'KP_6', 102, 0, 0), (65462, 'KP_6', 102, 1, 0)]
2023-05-18 16:17:04,660 keycode 103: [(65463, 'KP_7', 103, 0, 0), (65463, 'KP_7', 103, 1, 0)]
2023-05-18 16:17:04,660 keycode 104: [(65464, 'KP_8', 104, 0, 0), (65464, 'KP_8', 104, 1, 0)]
2023-05-18 16:17:04,660 keycode 105: [(65465, 'KP_9', 105, 0, 0), (65465, 'KP_9', 105, 1, 0)]
2023-05-18 16:17:04,660 keycode 106: [(65450, 'KP_Multiply', 106, 0, 0), (65450, 'KP_Multiply', 106, 1, 0)]
2023-05-18 16:17:04,660 keycode 107: [(65451, 'KP_Add', 107, 0, 0), (65451, 'KP_Add', 107, 1, 0)]
2023-05-18 16:17:04,660 keycode 108: [(65452, 'KP_Separator', 108, 0, 0), (65452, 'KP_Separator', 108, 1, 0)]
2023-05-18 16:17:04,675 keycode 109: [(65453, 'KP_Subtract', 109, 0, 0), (65453, 'KP_Subtract', 109, 1, 0)]
2023-05-18 16:17:04,675 keycode 110: [(65454, 'KP_Decimal', 110, 0, 0), (65454, 'KP_Decimal', 110, 1, 0)]
2023-05-18 16:17:04,675 keycode 111: [(65455, 'KP_Divide', 111, 0, 0), (65455, 'KP_Divide', 111, 1, 0)]
2023-05-18 16:17:04,675 keycode 112: [(65470, 'F1', 112, 0, 0), (65470, 'F1', 112, 1, 0)]
2023-05-18 16:17:04,675 keycode 113: [(65471, 'F2', 113, 0, 0), (65471, 'F2', 113, 1, 0)]
2023-05-18 16:17:04,675 keycode 114: [(65472, 'F3', 114, 0, 0), (65472, 'F3', 114, 1, 0)]
2023-05-18 16:17:04,675 keycode 115: [(65473, 'F4', 115, 0, 0), (65473, 'F4', 115, 1, 0)]
2023-05-18 16:17:04,675 keycode 116: [(65474, 'F5', 116, 0, 0), (65474, 'F5', 116, 1, 0)]
2023-05-18 16:17:04,675 keycode 117: [(65475, 'F6', 117, 0, 0), (65475, 'F6', 117, 1, 0)]
2023-05-18 16:17:04,675 keycode 118: [(65476, 'F7', 118, 0, 0), (65476, 'F7', 118, 1, 0)]
2023-05-18 16:17:04,675 keycode 119: [(65477, 'F8', 119, 0, 0), (65477, 'F8', 119, 1, 0)]
2023-05-18 16:17:04,675 keycode 120: [(65478, 'F9', 120, 0, 0), (65478, 'F9', 120, 1, 0)]
2023-05-18 16:17:04,675 keycode 121: [(65479, 'F10', 121, 0, 0), (65479, 'F10', 121, 1, 0)]
2023-05-18 16:17:04,675 keycode 122: [(65480, 'F11', 122, 0, 0), (65480, 'F11', 122, 1, 0)]
2023-05-18 16:17:04,691 keycode 123: [(65481, 'F12', 123, 0, 0), (65481, 'F12', 123, 1, 0)]
2023-05-18 16:17:04,691 keycode 124: [(65482, 'F13', 124, 0, 0), (65482, 'F13', 124, 1, 0)]
2023-05-18 16:17:04,691 keycode 125: [(65483, 'F14', 125, 0, 0), (65483, 'F14', 125, 1, 0)]
2023-05-18 16:17:04,691 keycode 126: [(65484, 'F15', 126, 0, 0), (65484, 'F15', 126, 1, 0)]
2023-05-18 16:17:04,691 keycode 127: [(65485, 'F16', 127, 0, 0), (65485, 'F16', 127, 1, 0)]
2023-05-18 16:17:04,691 keycode 128: [(65486, 'F17', 128, 0, 0), (65486, 'F17', 128, 1, 0)]
2023-05-18 16:17:04,691 keycode 129: [(65487, 'F18', 129, 0, 0), (65487, 'F18', 129, 1, 0)]
2023-05-18 16:17:04,691 keycode 130: [(65488, 'F19', 130, 0, 0), (65488, 'F19', 130, 1, 0)]
2023-05-18 16:17:04,691 keycode 131: [(65489, 'F20', 131, 0, 0), (65489, 'F20', 131, 1, 0)]
2023-05-18 16:17:04,691 keycode 132: [(65490, 'F21', 132, 0, 0), (65490, 'F21', 132, 1, 0)]
2023-05-18 16:17:04,691 keycode 133: [(65491, 'F22', 133, 0, 0), (65491, 'F22', 133, 1, 0)]
2023-05-18 16:17:04,691 keycode 134: [(65492, 'F23', 134, 0, 0), (65492, 'F23', 134, 1, 0)]
2023-05-18 16:17:04,691 keycode 135: [(65493, 'F24', 135, 0, 0), (65493, 'F24', 135, 1, 0)]
2023-05-18 16:17:04,691 get_entries_for_keycode(136)=()
2023-05-18 16:17:04,691 get_entries_for_keycode(137)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(138)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(139)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(140)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(141)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(142)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(143)=()
2023-05-18 16:17:04,707 keycode 144: [(65407, 'Num_Lock', 144, 0, 0), (65407, 'Num_Lock', 144, 1, 0)]
2023-05-18 16:17:04,707 keycode 145: [(65300, 'Scroll_Lock', 145, 0, 0), (65300, 'Scroll_Lock', 145, 1, 0)]
2023-05-18 16:17:04,707 get_entries_for_keycode(146)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(147)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(148)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(149)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(150)=()
2023-05-18 16:17:04,707 get_entries_for_keycode(151)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(152)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(153)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(154)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(155)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(156)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(157)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(158)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(159)=()
2023-05-18 16:17:04,722 keycode 160: [(65505, 'Shift_L', 160, 0, 0), (65505, 'Shift_L', 160, 1, 0)]
2023-05-18 16:17:04,722 keycode 161: [(65506, 'Shift_R', 161, 0, 0), (65506, 'Shift_R', 161, 1, 0)]
2023-05-18 16:17:04,722 keycode 162: [(65507, 'Control_L', 162, 0, 0), (65507, 'Control_L', 162, 1, 0)]
2023-05-18 16:17:04,722 keycode 163: [(65508, 'Control_R', 163, 0, 0), (65508, 'Control_R', 163, 1, 0)]
2023-05-18 16:17:04,722 keycode 164: [(65513, 'Alt_L', 164, 0, 0), (65513, 'Alt_L', 164, 1, 0)]
2023-05-18 16:17:04,722 keycode 165: [(65514, 'Alt_R', 165, 0, 0), (65514, 'Alt_R', 165, 1, 0)]
2023-05-18 16:17:04,722 get_entries_for_keycode(166)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(167)=()
2023-05-18 16:17:04,722 get_entries_for_keycode(168)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(169)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(170)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(171)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(172)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(173)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(174)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(175)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(176)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(177)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(178)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(179)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(180)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(181)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(182)=()
2023-05-18 16:17:04,738 get_entries_for_keycode(183)=()
2023-05-18 16:17:04,753 get_entries_for_keycode(184)=()
2023-05-18 16:17:04,753 get_entries_for_keycode(185)=()
2023-05-18 16:17:04,753 keycode 186: [(1750, 'Cyrillic_zhe', 186, 0, 0), (1782, 'Cyrillic_ZHE', 186, 0, 1), (59, 'semicolon', 186, 1, 0), (58, 'colon', 186, 1, 1)]
2023-05-18 16:17:04,753 keycode 187: [(61, 'equal', 187, 0, 0), (43, 'plus', 187, 0, 1), (61, 'equal', 187, 1, 0), (43, 'plus', 187, 1, 1)]
2023-05-18 16:17:04,753 keycode 188: [(1730, 'Cyrillic_be', 188, 0, 0), (1762, 'Cyrillic_BE', 188, 0, 1), (44, 'comma', 188, 1, 0), (60, 'less', 188, 1, 1)]
2023-05-18 16:17:04,753 keycode 189: [(45, 'minus', 189, 0, 0), (95, 'underscore', 189, 0, 1), (45, 'minus', 189, 1, 0), (95, 'underscore', 189, 1, 1)]
2023-05-18 16:17:04,753 keycode 190: [(1728, 'Cyrillic_yu', 190, 0, 0), (1760, 'Cyrillic_YU', 190, 0, 1), (46, 'period', 190, 1, 0), (62, 'greater', 190, 1, 1)]
2023-05-18 16:17:04,753 keycode 191: [(46, 'period', 191, 0, 0), (44, 'comma', 191, 0, 1), (47, 'slash', 191, 1, 0), (63, 'question', 191, 1, 1)]
2023-05-18 16:17:04,753 keycode 192: [(1699, 'Cyrillic_io', 192, 0, 0), (1715, 'Cyrillic_IO', 192, 0, 1), (96, 'grave', 192, 1, 0), (126, 'asciitilde', 192, 1, 1)]
2023-05-18 16:17:04,753 get_entries_for_keycode(193)=()
2023-05-18 16:17:04,753 get_entries_for_keycode(194)=()
2023-05-18 16:17:04,753 get_entries_for_keycode(195)=()
2023-05-18 16:17:04,753 get_entries_for_keycode(196)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(197)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(198)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(199)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(200)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(201)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(202)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(203)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(204)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(205)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(206)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(207)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(208)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(209)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(210)=()
2023-05-18 16:17:04,769 get_entries_for_keycode(211)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(212)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(213)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(214)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(215)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(216)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(217)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(218)=()
2023-05-18 16:17:04,785 keycode 219: [(1736, 'Cyrillic_ha', 219, 0, 0), (1768, 'Cyrillic_HA', 219, 0, 1), (91, 'bracketleft', 219, 1, 0), (123, 'braceleft', 219, 1, 1)]
2023-05-18 16:17:04,785 keycode 220: [(92, 'backslash', 220, 0, 0), (47, 'slash', 220, 0, 1), (92, 'backslash', 220, 1, 0), (124, 'bar', 220, 1, 1)]
2023-05-18 16:17:04,785 keycode 221: [(1759, 'Cyrillic_hardsign', 221, 0, 0), (1791, 'Cyrillic_HARDSIGN', 221, 0, 1), (93, 'bracketright', 221, 1, 0), (125, 'braceright', 221, 1, 1)]
2023-05-18 16:17:04,785 keycode 222: [(1756, 'Cyrillic_e', 222, 0, 0), (1788, 'Cyrillic_E', 222, 0, 1), (39, 'apostrophe', 222, 1, 0), (34, 'quotedbl', 222, 1, 1)]
2023-05-18 16:17:04,785 get_entries_for_keycode(223)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(224)=()
2023-05-18 16:17:04,785 get_entries_for_keycode(225)=()
2023-05-18 16:17:04,800 keycode 226: [(92, 'backslash', 226, 0, 0), (47, 'slash', 226, 0, 1), (92, 'backslash', 226, 1, 0), (124, 'bar', 226, 1, 1)]
2023-05-18 16:17:04,800 get_entries_for_keycode(227)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(228)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(229)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(230)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(231)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(232)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(233)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(234)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(235)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(236)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(237)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(238)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(239)=()
2023-05-18 16:17:04,800 get_entries_for_keycode(240)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(241)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(242)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(243)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(244)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(245)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(246)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(247)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(248)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(249)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(250)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(251)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(252)=()
2023-05-18 16:17:04,816 get_entries_for_keycode(253)=()
2023-05-18 16:17:04,831 get_entries_for_keycode(254)=()
2023-05-18 16:17:04,831 get_entries_for_keycode(255)=()
2023-05-18 16:17:04,831 get_gtk_keymap((None, 'VoidSymbol', '0xffffff'))=[(65385, 'Cancel', 3, 0, 0), (65385, 'Cancel', 3, 1, 0), (65288, 'BackSpace', 8, 0, 0), (65288, 'BackSpace', 8, 1, 0), (65289, 'Tab', 9, 0, 0), (65056, 'ISO_Left_Tab', 9, 0, 1), (65289, 'Tab', 9, 1, 0), (65056, 'ISO_Left_Tab', 9, 1, 1), (65291, 'Clear', 12, 0, 0), (65291, 'Clear', 12, 1, 0), (65293, 'Return', 13, 0, 0), (65293, 'Return', 13, 1, 0), (65505, 'Shift_L', 16, 0, 0), (65505, 'Shift_L', 16, 1, 0), (65507, 'Control_L', 17, 0, 0), (65507, 'Control_L', 17, 1, 0), (65513, 'Alt_L', 18, 0, 0), (65513, 'Alt_L', 18, 1, 0), (65299, 'Pause', 19, 0, 0), (65299, 'Pause', 19, 1, 0), (65509, 'Caps_Lock', 20, 0, 0), (65509, 'Caps_Lock', 20, 1, 0), (65307, 'Escape', 27, 0, 0), (65307, 'Escape', 27, 1, 0), (32, 'space', 32, 0, 0), (32, 'space', 32, 0, 1), (32, 'space', 32, 1, 0), (32, 'space', 32, 1, 1), (65365, 'Page_Up', 33, 0, 0), (65365, 'Page_Up', 33, 1, 0), (65366, 'Page_Down', 34, 0, 0), (65366, 'Page_Down', 34, 1, 0), (65367, 'End', 35, 0, 0), (65367, 'End', 35, 1, 0), (65360, 'Home', 36, 0, 0), (65360, 'Home', 36, 1, 0), (65361, 'Left', 37, 0, 0), (65361, 'Left', 37, 1, 0), (65362, 'Up', 38, 0, 0), (65362, 'Up', 38, 1, 0), (65363, 'Right', 39, 0, 0), (65363, 'Right', 39, 1, 0), (65364, 'Down', 40, 0, 0), (65364, 'Down', 40, 1, 0), (65376, 'Select', 41, 0, 0), (65376, 'Select', 41, 1, 0), (65377, 'Print', 42, 0, 0), (65377, 'Print', 42, 1, 0), (65378, 'Execute', 43, 0, 0), (65378, 'Execute', 43, 1, 0), (65377, 'Print', 44, 0, 0), (65377, 'Print', 44, 1, 0), (65379, 'Insert', 45, 0, 0), (65379, 'Insert', 45, 1, 0), (65535, 'Delete', 46, 0, 0), (65535, 'Delete', 46, 1, 0), (65386, 'Help', 47, 0, 0), (65386, 'Help', 47, 1, 0), (48, '0', 48, 0, 0), (41, 'parenright', 48, 0, 1), (48, '0', 48, 1, 0), (41, 'parenright', 48, 1, 1), (49, '1', 49, 0, 0), (33, 'exclam', 49, 0, 1), (49, '1', 49, 1, 0), (33, 'exclam', 49, 1, 1), (50, '2', 50, 0, 0), (34, 'quotedbl', 50, 0, 1), (50, '2', 50, 1, 0), (64, 'at', 50, 1, 1), (51, '3', 51, 0, 0), (1712, 'numerosign', 51, 0, 1), (51, '3', 51, 1, 0), (35, 'numbersign', 51, 1, 1), (52, '4', 52, 0, 0), (59, 'semicolon', 52, 0, 1), (52, '4', 52, 1, 0), (36, 'dollar', 52, 1, 1), (53, '5', 53, 0, 0), (37, 'percent', 53, 0, 1), (53, '5', 53, 1, 0), (37, 'percent', 53, 1, 1), (54, '6', 54, 0, 0), (58, 'colon', 54, 0, 1), (54, '6', 54, 1, 0), (94, 'asciicircum', 54, 1, 1), (55, '7', 55, 0, 0), (63, 'question', 55, 0, 1), (55, '7', 55, 1, 0), (38, 'ampersand', 55, 1, 1), (56, '8', 56, 0, 0), (42, 'asterisk', 56, 0, 1), (16785597, 'U+20BD', 56, 0, 3), (56, '8', 56, 1, 0), (42, 'asterisk', 56, 1, 1), (57, '9', 57, 0, 0), (40, 'parenleft', 57, 0, 1), (57, '9', 57, 1, 0), (40, 'parenleft', 57, 1, 1), (1734, 'Cyrillic_ef', 65, 0, 0), (1766, 'Cyrillic_EF', 65, 0, 1), (97, 'a', 65, 1, 0), (65, 'A', 65, 1, 1), (1737, 'Cyrillic_i', 66, 0, 0), (1769, 'Cyrillic_I', 66, 0, 1), (98, 'b', 66, 1, 0), (66, 'B', 66, 1, 1), (1747, 'Cyrillic_es', 67, 0, 0), (1779, 'Cyrillic_ES', 67, 0, 1), (99, 'c', 67, 1, 0), (67, 'C', 67, 1, 1), (1751, 'Cyrillic_ve', 68, 0, 0), (1783, 'Cyrillic_VE', 68, 0, 1), (100, 'd', 68, 1, 0), (68, 'D', 68, 1, 1), (1749, 'Cyrillic_u', 69, 0, 0), (1781, 'Cyrillic_U', 69, 0, 1), (101, 'e', 69, 1, 0), (69, 'E', 69, 1, 1), (1729, 'Cyrillic_a', 70, 0, 0), (1761, 'Cyrillic_A', 70, 0, 1), (102, 'f', 70, 1, 0), (70, 'F', 70, 1, 1), (1744, 'Cyrillic_pe', 71, 0, 0), (1776, 'Cyrillic_PE', 71, 0, 1), (103, 'g', 71, 1, 0), (71, 'G', 71, 1, 1), (1746, 'Cyrillic_er', 72, 0, 0), (1778, 'Cyrillic_ER', 72, 0, 1), (104, 'h', 72, 1, 0), (72, 'H', 72, 1, 1), (1755, 'Cyrillic_sha', 73, 0, 0), (1787, 'Cyrillic_SHA', 73, 0, 1), (105, 'i', 73, 1, 0), (73, 'I', 73, 1, 1), (1743, 'Cyrillic_o', 74, 0, 0), (1775, 'Cyrillic_O', 74, 0, 1), (106, 'j', 74, 1, 0), (74, 'J', 74, 1, 1), (1740, 'Cyrillic_el', 75, 0, 0), (1772, 'Cyrillic_EL', 75, 0, 1), (107, 'k', 75, 1, 0), (75, 'K', 75, 1, 1), (1732, 'Cyrillic_de', 76, 0, 0), (1764, 'Cyrillic_DE', 76, 0, 1), (108, 'l', 76, 1, 0), (76, 'L', 76, 1, 1), (1752, 'Cyrillic_softsign', 77, 0, 0), (1784, 'Cyrillic_SOFTSIGN', 77, 0, 1), (109, 'm', 77, 1, 0), (77, 'M', 77, 1, 1), (1748, 'Cyrillic_te', 78, 0, 0), (1780, 'Cyrillic_TE', 78, 0, 1), (110, 'n', 78, 1, 0), (78, 'N', 78, 1, 1), (1757, 'Cyrillic_shcha', 79, 0, 0), (1789, 'Cyrillic_SHCHA', 79, 0, 1), (111, 'o', 79, 1, 0), (79, 'O', 79, 1, 1), (1754, 'Cyrillic_ze', 80, 0, 0), (1786, 'Cyrillic_ZE', 80, 0, 1), (112, 'p', 80, 1, 0), (80, 'P', 80, 1, 1), (1738, 'Cyrillic_shorti', 81, 0, 0), (1770, 'Cyrillic_SHORTI', 81, 0, 1), (113, 'q', 81, 1, 0), (81, 'Q', 81, 1, 1), (1739, 'Cyrillic_ka', 82, 0, 0), (1771, 'Cyrillic_KA', 82, 0, 1), (114, 'r', 82, 1, 0), (82, 'R', 82, 1, 1), (1753, 'Cyrillic_yeru', 83, 0, 0), (1785, 'Cyrillic_YERU', 83, 0, 1), (115, 's', 83, 1, 0), (83, 'S', 83, 1, 1), (1733, 'Cyrillic_ie', 84, 0, 0), (1765, 'Cyrillic_IE', 84, 0, 1), (116, 't', 84, 1, 0), (84, 'T', 84, 1, 1), (1735, 'Cyrillic_ghe', 85, 0, 0), (1767, 'Cyrillic_GHE', 85, 0, 1), (117, 'u', 85, 1, 0), (85, 'U', 85, 1, 1), (1741, 'Cyrillic_em', 86, 0, 0), (1773, 'Cyrillic_EM', 86, 0, 1), (118, 'v', 86, 1, 0), (86, 'V', 86, 1, 1), (1731, 'Cyrillic_tse', 87, 0, 0), (1763, 'Cyrillic_TSE', 87, 0, 1), (119, 'w', 87, 1, 0), (87, 'W', 87, 1, 1), (1758, 'Cyrillic_che', 88, 0, 0), (1790, 'Cyrillic_CHE', 88, 0, 1), (120, 'x', 88, 1, 0), (88, 'X', 88, 1, 1), (1742, 'Cyrillic_en', 89, 0, 0), (1774, 'Cyrillic_EN', 89, 0, 1), (121, 'y', 89, 1, 0), (89, 'Y', 89, 1, 1), (1745, 'Cyrillic_ya', 90, 0, 0), (1777, 'Cyrillic_YA', 90, 0, 1), (122, 'z', 90, 1, 0), (90, 'Z', 90, 1, 1), (65511, 'Meta_L', 91, 0, 0), (65511, 'Meta_L', 91, 1, 0), (65512, 'Meta_R', 92, 0, 0), (65512, 'Meta_R', 92, 1, 0), (65383, 'Menu', 93, 0, 0), (65383, 'Menu', 93, 1, 0), (65456, 'KP_0', 96, 0, 0), (65456, 'KP_0', 96, 1, 0), (65457, 'KP_1', 97, 0, 0), (65457, 'KP_1', 97, 1, 0), (65458, 'KP_2', 98, 0, 0), (65458, 'KP_2', 98, 1, 0), (65459, 'KP_3', 99, 0, 0), (65459, 'KP_3', 99, 1, 0), (65460, 'KP_4', 100, 0, 0), (65460, 'KP_4', 100, 1, 0), (65461, 'KP_5', 101, 0, 0), (65461, 'KP_5', 101, 1, 0), (65462, 'KP_6', 102, 0, 0), (65462, 'KP_6', 102, 1, 0), (65463, 'KP_7', 103, 0, 0), (65463, 'KP_7', 103, 1, 0), (65464, 'KP_8', 104, 0, 0), (65464, 'KP_8', 104, 1, 0), (65465, 'KP_9', 105, 0, 0), (65465, 'KP_9', 105, 1, 0), (65450, 'KP_Multiply', 106, 0, 0), (65450, 'KP_Multiply', 106, 1, 0), (65451, 'KP_Add', 107, 0, 0), (65451, 'KP_Add', 107, 1, 0), (65452, 'KP_Separator', 108, 0, 0), (65452, 'KP_Separator', 108, 1, 0), (65453, 'KP_Subtract', 109, 0, 0), (65453, 'KP_Subtract', 109, 1, 0), (65454, 'KP_Decimal', 110, 0, 0), (65454, 'KP_Decimal', 110, 1, 0), (65455, 'KP_Divide', 111, 0, 0), (65455, 'KP_Divide', 111, 1, 0), (65470, 'F1', 112, 0, 0), (65470, 'F1', 112, 1, 0), (65471, 'F2', 113, 0, 0), (65471, 'F2', 113, 1, 0), (65472, 'F3', 114, 0, 0), (65472, 'F3', 114, 1, 0), (65473, 'F4', 115, 0, 0), (65473, 'F4', 115, 1, 0), (65474, 'F5', 116, 0, 0), (65474, 'F5', 116, 1, 0), (65475, 'F6', 117, 0, 0), (65475, 'F6', 117, 1, 0), (65476, 'F7', 118, 0, 0), (65476, 'F7', 118, 1, 0), (65477, 'F8', 119, 0, 0), (65477, 'F8', 119, 1, 0), (65478, 'F9', 120, 0, 0), (65478, 'F9', 120, 1, 0), (65479, 'F10', 121, 0, 0), (65479, 'F10', 121, 1, 0), (65480, 'F11', 122, 0, 0), (65480, 'F11', 122, 1, 0), (65481, 'F12', 123, 0, 0), (65481, 'F12', 123, 1, 0), (65482, 'F13', 124, 0, 0), (65482, 'F13', 124, 1, 0), (65483, 'F14', 125, 0, 0), (65483, 'F14', 125, 1, 0), (65484, 'F15', 126, 0, 0), (65484, 'F15', 126, 1, 0), (65485, 'F16', 127, 0, 0), (65485, 'F16', 127, 1, 0), (65486, 'F17', 128, 0, 0), (65486, 'F17', 128, 1, 0), (65487, 'F18', 129, 0, 0), (65487, 'F18', 129, 1, 0), (65488, 'F19', 130, 0, 0), (65488, 'F19', 130, 1, 0), (65489, 'F20', 131, 0, 0), (65489, 'F20', 131, 1, 0), (65490, 'F21', 132, 0, 0), (65490, 'F21', 132, 1, 0), (65491, 'F22', 133, 0, 0), (65491, 'F22', 133, 1, 0), (65492, 'F23', 134, 0, 0), (65492, 'F23', 134, 1, 0), (65493, 'F24', 135, 0, 0), (65493, 'F24', 135, 1, 0), (65407, 'Num_Lock', 144, 0, 0), (65407, 'Num_Lock', 144, 1, 0), (65300, 'Scroll_Lock', 145, 0, 0), (65300, 'Scroll_Lock', 145, 1, 0), (65505, 'Shift_L', 160, 0, 0), (65505, 'Shift_L', 160, 1, 0), (65506, 'Shift_R', 161, 0, 0), (65506, 'Shift_R', 161, 1, 0), (65507, 'Control_L', 162, 0, 0), (65507, 'Control_L', 162, 1, 0), (65508, 'Control_R', 163, 0, 0), (65508, 'Control_R', 163, 1, 0), (65513, 'Alt_L', 164, 0, 0), (65513, 'Alt_L', 164, 1, 0), (65514, 'Alt_R', 165, 0, 0), (65514, 'Alt_R', 165, 1, 0), (1750, 'Cyrillic_zhe', 186, 0, 0), (1782, 'Cyrillic_ZHE', 186, 0, 1), (59, 'semicolon', 186, 1, 0), (58, 'colon', 186, 1, 1), (61, 'equal', 187, 0, 0), (43, 'plus', 187, 0, 1), (61, 'equal', 187, 1, 0), (43, 'plus', 187, 1, 1), (1730, 'Cyrillic_be', 188, 0, 0), (1762, 'Cyrillic_BE', 188, 0, 1), (44, 'comma', 188, 1, 0), (60, 'less', 188, 1, 1), (45, 'minus', 189, 0, 0), (95, 'underscore', 189, 0, 1), (45, 'minus', 189, 1, 0), (95, 'underscore', 189, 1, 1), (1728, 'Cyrillic_yu', 190, 0, 0), (1760, 'Cyrillic_YU', 190, 0, 1), (46, 'period', 190, 1, 0), (62, 'greater', 190, 1, 1), (46, 'period', 191, 0, 0), (44, 'comma', 191, 0, 1), (47, 'slash', 191, 1, 0), (63, 'question', 191, 1, 1), (1699, 'Cyrillic_io', 192, 0, 0), (1715, 'Cyrillic_IO', 192, 0, 1), (96, 'grave', 192, 1, 0), (126, 'asciitilde', 192, 1, 1), (1736, 'Cyrillic_ha', 219, 0, 0), (1768, 'Cyrillic_HA', 219, 0, 1), (91, 'bracketleft', 219, 1, 0), (123, 'braceleft', 219, 1, 1), (92, 'backslash', 220, 0, 0), (47, 'slash', 220, 0, 1), (92, 'backslash', 220, 1, 0), (124, 'bar', 220, 1, 1), (1759, 'Cyrillic_hardsign', 221, 0, 0), (1791, 'Cyrillic_HARDSIGN', 221, 0, 1), (93, 'bracketright', 221, 1, 0), (125, 'braceright', 221, 1, 1), (1756, 'Cyrillic_e', 222, 0, 0), (1788, 'Cyrillic_E', 222, 0, 1), (39, 'apostrophe', 222, 1, 0), (34, 'quotedbl', 222, 1, 1), (92, 'backslash', 226, 0, 0), (47, 'slash', 226, 0, 1), (92, 'backslash', 226, 1, 0), (124, 'bar', 226, 1, 1)] (keymap=<__gi__.GdkWin32Keymap object at 0x0000015217e4f240 (GdkWin32Keymap at 0x00000152175120c0)>)
2023-05-18 16:17:04,831 query_xkbmap() keycodes=[(65385, 'Cancel', 3, 0, 0), (65385, 'Cancel', 3, 1, 0), (65288, 'BackSpace', 8, 0, 0), (65288, 'BackSpace', 8, 1, 0), (65289, 'Tab', 9, 0, 0), (65056, 'ISO_Left_Tab', 9, 0, 1), (65289, 'Tab', 9, 1, 0), (65056, 'ISO_Left_Tab', 9, 1, 1), (65291, 'Clear', 12, 0, 0), (65291, 'Clear', 12, 1, 0), (65293, 'Return', 13, 0, 0), (65293, 'Return', 13, 1, 0), (65505, 'Shift_L', 16, 0, 0), (65505, 'Shift_L', 16, 1, 0), (65507, 'Control_L', 17, 0, 0), (65507, 'Control_L', 17, 1, 0), (65513, 'Alt_L', 18, 0, 0), (65513, 'Alt_L', 18, 1, 0), (65299, 'Pause', 19, 0, 0), (65299, 'Pause', 19, 1, 0), (65509, 'Caps_Lock', 20, 0, 0), (65509, 'Caps_Lock', 20, 1, 0), (65307, 'Escape', 27, 0, 0), (65307, 'Escape', 27, 1, 0), (32, 'space', 32, 0, 0), (32, 'space', 32, 0, 1), (32, 'space', 32, 1, 0), (32, 'space', 32, 1, 1), (65365, 'Page_Up', 33, 0, 0), (65365, 'Page_Up', 33, 1, 0), (65366, 'Page_Down', 34, 0, 0), (65366, 'Page_Down', 34, 1, 0), (65367, 'End', 35, 0, 0), (65367, 'End', 35, 1, 0), (65360, 'Home', 36, 0, 0), (65360, 'Home', 36, 1, 0), (65361, 'Left', 37, 0, 0), (65361, 'Left', 37, 1, 0), (65362, 'Up', 38, 0, 0), (65362, 'Up', 38, 1, 0), (65363, 'Right', 39, 0, 0), (65363, 'Right', 39, 1, 0), (65364, 'Down', 40, 0, 0), (65364, 'Down', 40, 1, 0), (65376, 'Select', 41, 0, 0), (65376, 'Select', 41, 1, 0), (65377, 'Print', 42, 0, 0), (65377, 'Print', 42, 1, 0), (65378, 'Execute', 43, 0, 0), (65378, 'Execute', 43, 1, 0), (65377, 'Print', 44, 0, 0), (65377, 'Print', 44, 1, 0), (65379, 'Insert', 45, 0, 0), (65379, 'Insert', 45, 1, 0), (65535, 'Delete', 46, 0, 0), (65535, 'Delete', 46, 1, 0), (65386, 'Help', 47, 0, 0), (65386, 'Help', 47, 1, 0), (48, '0', 48, 0, 0), (41, 'parenright', 48, 0, 1), (48, '0', 48, 1, 0), (41, 'parenright', 48, 1, 1), (49, '1', 49, 0, 0), (33, 'exclam', 49, 0, 1), (49, '1', 49, 1, 0), (33, 'exclam', 49, 1, 1), (50, '2', 50, 0, 0), (34, 'quotedbl', 50, 0, 1), (50, '2', 50, 1, 0), (64, 'at', 50, 1, 1), (51, '3', 51, 0, 0), (1712, 'numerosign', 51, 0, 1), (51, '3', 51, 1, 0), (35, 'numbersign', 51, 1, 1), (52, '4', 52, 0, 0), (59, 'semicolon', 52, 0, 1), (52, '4', 52, 1, 0), (36, 'dollar', 52, 1, 1), (53, '5', 53, 0, 0), (37, 'percent', 53, 0, 1), (53, '5', 53, 1, 0), (37, 'percent', 53, 1, 1), (54, '6', 54, 0, 0), (58, 'colon', 54, 0, 1), (54, '6', 54, 1, 0), (94, 'asciicircum', 54, 1, 1), (55, '7', 55, 0, 0), (63, 'question', 55, 0, 1), (55, '7', 55, 1, 0), (38, 'ampersand', 55, 1, 1), (56, '8', 56, 0, 0), (42, 'asterisk', 56, 0, 1), (16785597, 'U+20BD', 56, 0, 3), (56, '8', 56, 1, 0), (42, 'asterisk', 56, 1, 1), (57, '9', 57, 0, 0), (40, 'parenleft', 57, 0, 1), (57, '9', 57, 1, 0), (40, 'parenleft', 57, 1, 1), (1734, 'Cyrillic_ef', 65, 0, 0), (1766, 'Cyrillic_EF', 65, 0, 1), (97, 'a', 65, 1, 0), (65, 'A', 65, 1, 1), (1737, 'Cyrillic_i', 66, 0, 0), (1769, 'Cyrillic_I', 66, 0, 1), (98, 'b', 66, 1, 0), (66, 'B', 66, 1, 1), (1747, 'Cyrillic_es', 67, 0, 0), (1779, 'Cyrillic_ES', 67, 0, 1), (99, 'c', 67, 1, 0), (67, 'C', 67, 1, 1), (1751, 'Cyrillic_ve', 68, 0, 0), (1783, 'Cyrillic_VE', 68, 0, 1), (100, 'd', 68, 1, 0), (68, 'D', 68, 1, 1), (1749, 'Cyrillic_u', 69, 0, 0), (1781, 'Cyrillic_U', 69, 0, 1), (101, 'e', 69, 1, 0), (69, 'E', 69, 1, 1), (1729, 'Cyrillic_a', 70, 0, 0), (1761, 'Cyrillic_A', 70, 0, 1), (102, 'f', 70, 1, 0), (70, 'F', 70, 1, 1), (1744, 'Cyrillic_pe', 71, 0, 0), (1776, 'Cyrillic_PE', 71, 0, 1), (103, 'g', 71, 1, 0), (71, 'G', 71, 1, 1), (1746, 'Cyrillic_er', 72, 0, 0), (1778, 'Cyrillic_ER', 72, 0, 1), (104, 'h', 72, 1, 0), (72, 'H', 72, 1, 1), (1755, 'Cyrillic_sha', 73, 0, 0), (1787, 'Cyrillic_SHA', 73, 0, 1), (105, 'i', 73, 1, 0), (73, 'I', 73, 1, 1), (1743, 'Cyrillic_o', 74, 0, 0), (1775, 'Cyrillic_O', 74, 0, 1), (106, 'j', 74, 1, 0), (74, 'J', 74, 1, 1), (1740, 'Cyrillic_el', 75, 0, 0), (1772, 'Cyrillic_EL', 75, 0, 1), (107, 'k', 75, 1, 0), (75, 'K', 75, 1, 1), (1732, 'Cyrillic_de', 76, 0, 0), (1764, 'Cyrillic_DE', 76, 0, 1), (108, 'l', 76, 1, 0), (76, 'L', 76, 1, 1), (1752, 'Cyrillic_softsign', 77, 0, 0), (1784, 'Cyrillic_SOFTSIGN', 77, 0, 1), (109, 'm', 77, 1, 0), (77, 'M', 77, 1, 1), (1748, 'Cyrillic_te', 78, 0, 0), (1780, 'Cyrillic_TE', 78, 0, 1), (110, 'n', 78, 1, 0), (78, 'N', 78, 1, 1), (1757, 'Cyrillic_shcha', 79, 0, 0), (1789, 'Cyrillic_SHCHA', 79, 0, 1), (111, 'o', 79, 1, 0), (79, 'O', 79, 1, 1), (1754, 'Cyrillic_ze', 80, 0, 0), (1786, 'Cyrillic_ZE', 80, 0, 1), (112, 'p', 80, 1, 0), (80, 'P', 80, 1, 1), (1738, 'Cyrillic_shorti', 81, 0, 0), (1770, 'Cyrillic_SHORTI', 81, 0, 1), (113, 'q', 81, 1, 0), (81, 'Q', 81, 1, 1), (1739, 'Cyrillic_ka', 82, 0, 0), (1771, 'Cyrillic_KA', 82, 0, 1), (114, 'r', 82, 1, 0), (82, 'R', 82, 1, 1), (1753, 'Cyrillic_yeru', 83, 0, 0), (1785, 'Cyrillic_YERU', 83, 0, 1), (115, 's', 83, 1, 0), (83, 'S', 83, 1, 1), (1733, 'Cyrillic_ie', 84, 0, 0), (1765, 'Cyrillic_IE', 84, 0, 1), (116, 't', 84, 1, 0), (84, 'T', 84, 1, 1), (1735, 'Cyrillic_ghe', 85, 0, 0), (1767, 'Cyrillic_GHE', 85, 0, 1), (117, 'u', 85, 1, 0), (85, 'U', 85, 1, 1), (1741, 'Cyrillic_em', 86, 0, 0), (1773, 'Cyrillic_EM', 86, 0, 1), (118, 'v', 86, 1, 0), (86, 'V', 86, 1, 1), (1731, 'Cyrillic_tse', 87, 0, 0), (1763, 'Cyrillic_TSE', 87, 0, 1), (119, 'w', 87, 1, 0), (87, 'W', 87, 1, 1), (1758, 'Cyrillic_che', 88, 0, 0), (1790, 'Cyrillic_CHE', 88, 0, 1), (120, 'x', 88, 1, 0), (88, 'X', 88, 1, 1), (1742, 'Cyrillic_en', 89, 0, 0), (1774, 'Cyrillic_EN', 89, 0, 1), (121, 'y', 89, 1, 0), (89, 'Y', 89, 1, 1), (1745, 'Cyrillic_ya', 90, 0, 0), (1777, 'Cyrillic_YA', 90, 0, 1), (122, 'z', 90, 1, 0), (90, 'Z', 90, 1, 1), (65511, 'Meta_L', 91, 0, 0), (65511, 'Meta_L', 91, 1, 0), (65512, 'Meta_R', 92, 0, 0), (65512, 'Meta_R', 92, 1, 0), (65383, 'Menu', 93, 0, 0), (65383, 'Menu', 93, 1, 0), (65456, 'KP_0', 96, 0, 0), (65456, 'KP_0', 96, 1, 0), (65457, 'KP_1', 97, 0, 0), (65457, 'KP_1', 97, 1, 0), (65458, 'KP_2', 98, 0, 0), (65458, 'KP_2', 98, 1, 0), (65459, 'KP_3', 99, 0, 0), (65459, 'KP_3', 99, 1, 0), (65460, 'KP_4', 100, 0, 0), (65460, 'KP_4', 100, 1, 0), (65461, 'KP_5', 101, 0, 0), (65461, 'KP_5', 101, 1, 0), (65462, 'KP_6', 102, 0, 0), (65462, 'KP_6', 102, 1, 0), (65463, 'KP_7', 103, 0, 0), (65463, 'KP_7', 103, 1, 0), (65464, 'KP_8', 104, 0, 0), (65464, 'KP_8', 104, 1, 0), (65465, 'KP_9', 105, 0, 0), (65465, 'KP_9', 105, 1, 0), (65450, 'KP_Multiply', 106, 0, 0), (65450, 'KP_Multiply', 106, 1, 0), (65451, 'KP_Add', 107, 0, 0), (65451, 'KP_Add', 107, 1, 0), (65452, 'KP_Separator', 108, 0, 0), (65452, 'KP_Separator', 108, 1, 0), (65453, 'KP_Subtract', 109, 0, 0), (65453, 'KP_Subtract', 109, 1, 0), (65454, 'KP_Decimal', 110, 0, 0), (65454, 'KP_Decimal', 110, 1, 0), (65455, 'KP_Divide', 111, 0, 0), (65455, 'KP_Divide', 111, 1, 0), (65470, 'F1', 112, 0, 0), (65470, 'F1', 112, 1, 0), (65471, 'F2', 113, 0, 0), (65471, 'F2', 113, 1, 0), (65472, 'F3', 114, 0, 0), (65472, 'F3', 114, 1, 0), (65473, 'F4', 115, 0, 0), (65473, 'F4', 115, 1, 0), (65474, 'F5', 116, 0, 0), (65474, 'F5', 116, 1, 0), (65475, 'F6', 117, 0, 0), (65475, 'F6', 117, 1, 0), (65476, 'F7', 118, 0, 0), (65476, 'F7', 118, 1, 0), (65477, 'F8', 119, 0, 0), (65477, 'F8', 119, 1, 0), (65478, 'F9', 120, 0, 0), (65478, 'F9', 120, 1, 0), (65479, 'F10', 121, 0, 0), (65479, 'F10', 121, 1, 0), (65480, 'F11', 122, 0, 0), (65480, 'F11', 122, 1, 0), (65481, 'F12', 123, 0, 0), (65481, 'F12', 123, 1, 0), (65482, 'F13', 124, 0, 0), (65482, 'F13', 124, 1, 0), (65483, 'F14', 125, 0, 0), (65483, 'F14', 125, 1, 0), (65484, 'F15', 126, 0, 0), (65484, 'F15', 126, 1, 0), (65485, 'F16', 127, 0, 0), (65485, 'F16', 127, 1, 0), (65486, 'F17', 128, 0, 0), (65486, 'F17', 128, 1, 0), (65487, 'F18', 129, 0, 0), (65487, 'F18', 129, 1, 0), (65488, 'F19', 130, 0, 0), (65488, 'F19', 130, 1, 0), (65489, 'F20', 131, 0, 0), (65489, 'F20', 131, 1, 0), (65490, 'F21', 132, 0, 0), (65490, 'F21', 132, 1, 0), (65491, 'F22', 133, 0, 0), (65491, 'F22', 133, 1, 0), (65492, 'F23', 134, 0, 0), (65492, 'F23', 134, 1, 0), (65493, 'F24', 135, 0, 0), (65493, 'F24', 135, 1, 0), (65407, 'Num_Lock', 144, 0, 0), (65407, 'Num_Lock', 144, 1, 0), (65300, 'Scroll_Lock', 145, 0, 0), (65300, 'Scroll_Lock', 145, 1, 0), (65505, 'Shift_L', 160, 0, 0), (65505, 'Shift_L', 160, 1, 0), (65506, 'Shift_R', 161, 0, 0), (65506, 'Shift_R', 161, 1, 0), (65507, 'Control_L', 162, 0, 0), (65507, 'Control_L', 162, 1, 0), (65508, 'Control_R', 163, 0, 0), (65508, 'Control_R', 163, 1, 0), (65513, 'Alt_L', 164, 0, 0), (65513, 'Alt_L', 164, 1, 0), (65514, 'Alt_R', 165, 0, 0), (65514, 'Alt_R', 165, 1, 0), (1750, 'Cyrillic_zhe', 186, 0, 0), (1782, 'Cyrillic_ZHE', 186, 0, 1), (59, 'semicolon', 186, 1, 0), (58, 'colon', 186, 1, 1), (61, 'equal', 187, 0, 0), (43, 'plus', 187, 0, 1), (61, 'equal', 187, 1, 0), (43, 'plus', 187, 1, 1), (1730, 'Cyrillic_be', 188, 0, 0), (1762, 'Cyrillic_BE', 188, 0, 1), (44, 'comma', 188, 1, 0), (60, 'less', 188, 1, 1), (45, 'minus', 189, 0, 0), (95, 'underscore', 189, 0, 1), (45, 'minus', 189, 1, 0), (95, 'underscore', 189, 1, 1), (1728, 'Cyrillic_yu', 190, 0, 0), (1760, 'Cyrillic_YU', 190, 0, 1), (46, 'period', 190, 1, 0), (62, 'greater', 190, 1, 1), (46, 'period', 191, 0, 0), (44, 'comma', 191, 0, 1), (47, 'slash', 191, 1, 0), (63, 'question', 191, 1, 1), (1699, 'Cyrillic_io', 192, 0, 0), (1715, 'Cyrillic_IO', 192, 0, 1), (96, 'grave', 192, 1, 0), (126, 'asciitilde', 192, 1, 1), (1736, 'Cyrillic_ha', 219, 0, 0), (1768, 'Cyrillic_HA', 219, 0, 1), (91, 'bracketleft', 219, 1, 0), (123, 'braceleft', 219, 1, 1), (92, 'backslash', 220, 0, 0), (47, 'slash', 220, 0, 1), (92, 'backslash', 220, 1, 0), (124, 'bar', 220, 1, 1), (1759, 'Cyrillic_hardsign', 221, 0, 0), (1791, 'Cyrillic_HARDSIGN', 221, 0, 1), (93, 'bracketright', 221, 1, 0), (125, 'braceright', 221, 1, 1), (1756, 'Cyrillic_e', 222, 0, 0), (1788, 'Cyrillic_E', 222, 0, 1), (39, 'apostrophe', 222, 1, 0), (34, 'quotedbl', 222, 1, 1), (92, 'backslash', 226, 0, 0), (47, 'slash', 226, 0, 1), (92, 'backslash', 226, 1, 0), (124, 'bar', 226, 1, 1)]
2023-05-18 16:17:04,831 query_xkbmap() win32.Keyboard.get_x11_keymap()={}
2023-05-18 16:17:04,831 query_xkbmap() get_keymap_modifiers()=({}, [], ['lock'])
2023-05-18 16:17:04,831 layout=us, layouts=['ru', 'us'], variant=None, variants=[]
2023-05-18 16:17:04,831 query-struct={}
2023-05-18 16:17:04,831 keycodes=[(65385, 'Cancel', 3, 0, 0), (65385, 'Cancel', 3 .. backslash', 226, 1, 0), (124, 'bar', 226, 1, 1)]
2023-05-18 16:17:04,831 x11 keycodes={}
2023-05-18 16:17:04,847 mod managed: []
2023-05-18 16:17:04,847 mod meanings: {}
2023-05-18 16:17:04,847 mod pointermissing: ['lock']
2023-05-18 16:17:04,847 hash=us/392d8791733bf4c1bf2c7ab4751d91b9238ee3428c50e3f6587c17fc4e2a296f
2023-05-18 16:17:04,847 parse_shortcuts: modifier names={'shift': 'shift', 'control': 'control', 'ctrl': 'control', 'alt': 'mod1', 'meta': 'mod1', 'super': 'mod3', 'hyper': 'mod4', 'altgr': 'mod5', 'mode_switch': 'mod5'}
2023-05-18 16:17:04,847 shortcut modifiers=['meta', 'shift']
2023-05-18 16:17:04,847 parse_shortcuts(['Control+Menu:toggle_keyboard_grab', 'Shift+Menu:toggle_pointer_grab', 'Shift+F11:toggle_fullscreen', '#+F1:show_menu', '#+F2:show_start_new_command', '#+F3:show_bug_report', '#+F4:quit', '#+F5:show_window_info', '#+F6:show_shortcuts', '#+F7:show_docs', '#+F8:toggle_keyboard_grab', '#+F9:toggle_pointer_grab', '#+F10:magic_key', '#+F11:show_session_info', '#+F12:toggle_debug', '#+plus:scaleup', '#+minus:scaledown', '#+underscore:scaledown', '#+KP_Add:scaleup', '#+KP_Subtract:scaledown', '#+KP_Multiply:scalereset', '#+bar:scalereset', '#+question:scalingoff'])
2023-05-18 16:17:04,847 action(Control+Menu:toggle_keyboard_grab)=toggle_keyboard_grab()
2023-05-18 16:17:04,847 shortcut(Control+Menu:toggle_keyboard_grab)=['control'], toggle_keyboard_grab, ()
2023-05-18 16:17:04,847 action(Shift+Menu:toggle_pointer_grab)=toggle_pointer_grab()
2023-05-18 16:17:04,863 shortcut(Shift+Menu:toggle_pointer_grab)=['shift'], toggle_pointer_grab, ()
2023-05-18 16:17:04,863 action(Shift+F11:toggle_fullscreen)=toggle_fullscreen()
2023-05-18 16:17:04,863 shortcut(Shift+F11:toggle_fullscreen)=['shift'], toggle_fullscreen, ()
2023-05-18 16:17:04,863 action(#+F1:show_menu)=show_menu()
2023-05-18 16:17:04,863 shortcut(#+F1:show_menu)=['mod1', 'shift'], show_menu, ()
2023-05-18 16:17:04,863 action(#+F2:show_start_new_command)=show_start_new_command()
2023-05-18 16:17:04,863 shortcut(#+F2:show_start_new_command)=['mod1', 'shift'], show_start_new_command, ()
2023-05-18 16:17:04,863 action(#+F3:show_bug_report)=show_bug_report()
2023-05-18 16:17:04,863 shortcut(#+F3:show_bug_report)=['mod1', 'shift'], show_bug_report, ()
2023-05-18 16:17:04,863 action(#+F4:quit)=quit()
2023-05-18 16:17:04,863 shortcut(#+F4:quit)=['mod1', 'shift'], quit, ()
2023-05-18 16:17:04,863 action(#+F5:show_window_info)=show_window_info()
2023-05-18 16:17:04,863 shortcut(#+F5:show_window_info)=['mod1', 'shift'], show_window_info, ()
2023-05-18 16:17:04,863 action(#+F6:show_shortcuts)=show_shortcuts()
2023-05-18 16:17:04,863 shortcut(#+F6:show_shortcuts)=['mod1', 'shift'], show_shortcuts, ()
2023-05-18 16:17:04,878 action(#+F7:show_docs)=show_docs()
2023-05-18 16:17:04,878 shortcut(#+F7:show_docs)=['mod1', 'shift'], show_docs, ()
2023-05-18 16:17:04,878 action(#+F8:toggle_keyboard_grab)=toggle_keyboard_grab()
2023-05-18 16:17:04,878 shortcut(#+F8:toggle_keyboard_grab)=['mod1', 'shift'], toggle_keyboard_grab, ()
2023-05-18 16:17:04,878 action(#+F9:toggle_pointer_grab)=toggle_pointer_grab()
2023-05-18 16:17:04,878 shortcut(#+F9:toggle_pointer_grab)=['mod1', 'shift'], toggle_pointer_grab, ()
2023-05-18 16:17:04,878 action(#+F10:magic_key)=magic_key()
2023-05-18 16:17:04,878 shortcut(#+F10:magic_key)=['mod1', 'shift'], magic_key, ()
2023-05-18 16:17:04,878 action(#+F11:show_session_info)=show_session_info()
2023-05-18 16:17:04,878 shortcut(#+F11:show_session_info)=['mod1', 'shift'], show_session_info, ()
2023-05-18 16:17:04,878 action(#+F12:toggle_debug)=toggle_debug()
2023-05-18 16:17:04,894 shortcut(#+F12:toggle_debug)=['mod1', 'shift'], toggle_debug, ()
2023-05-18 16:17:04,894 action(#+plus:scaleup)=scaleup()
2023-05-18 16:17:04,894 shortcut(#+plus:scaleup)=['mod1', 'shift'], scaleup, ()
2023-05-18 16:17:04,894 action(#+minus:scaledown)=scaledown()
2023-05-18 16:17:04,894 shortcut(#+minus:scaledown)=['mod1', 'shift'], scaledown, ()
2023-05-18 16:17:04,894 action(#+underscore:scaledown)=scaledown()
2023-05-18 16:17:04,894 shortcut(#+underscore:scaledown)=['mod1', 'shift'], scaledown, ()
2023-05-18 16:17:04,894 action(#+KP_Add:scaleup)=scaleup()
2023-05-18 16:17:04,894 shortcut(#+KP_Add:scaleup)=['mod1', 'shift'], scaleup, ()
2023-05-18 16:17:04,894 action(#+KP_Subtract:scaledown)=scaledown()
2023-05-18 16:17:04,894 shortcut(#+KP_Subtract:scaledown)=['mod1', 'shift'], scaledown, ()
2023-05-18 16:17:04,894 action(#+KP_Multiply:scalereset)=scalereset()
2023-05-18 16:17:04,894 shortcut(#+KP_Multiply:scalereset)=['mod1', 'shift'], scalereset, ()
2023-05-18 16:17:04,910 action(#+bar:scalereset)=scalereset()
2023-05-18 16:17:04,910 shortcut(#+bar:scalereset)=['mod1', 'shift'], scalereset, ()
2023-05-18 16:17:04,910 action(#+question:scalingoff)=scalingoff()
2023-05-18 16:17:04,910 shortcut(#+question:scalingoff)=['mod1', 'shift'], scalingoff, ()
2023-05-18 16:17:04,910 parse_shortcuts(['Control+Menu:toggle_keyboard_grab', 'Shift+Menu:toggle_pointer_grab', 'Shift+F11:toggle_fullscreen', '#+F1:show_menu', '#+F2:show_start_new_command', '#+F3:show_bug_report', '#+F4:quit', '#+F5:show_window_info', '#+F6:show_shortcuts', '#+F7:show_docs', '#+F8:toggle_keyboard_grab', '#+F9:toggle_pointer_grab', '#+F10:magic_key', '#+F11:show_session_info', '#+F12:toggle_debug', '#+plus:scaleup', '#+minus:scaledown', '#+underscore:scaledown', '#+KP_Add:scaleup', '#+KP_Subtract:scaledown', '#+KP_Multiply:scalereset', '#+bar:scalereset', '#+question:scalingoff'])={'Menu': [(['control'], 'toggle_keyboard_grab', ()), (['shift'], 'toggle_pointer_grab', ())], 'F11': [(['shift'], 'toggle_fullscreen', ()), (['mod1', 'shift'], 'show_session_info', ())], 'F1': [(['mod1', 'shift'], 'show_menu', ())], 'F2': [(['mod1', 'shift'], 'show_start_new_command', ())], 'F3': [(['mod1', 'shift'], 'show_bug_report', ())], 'F4': [(['mod1', 'shift'], 'quit', ())], 'F5': [(['mod1', 'shift'], 'show_window_info', ())], 'F6': [(['mod1', 'shift'], 'show_shortcuts', ())], 'F7': [(['mod1', 'shift'], 'show_docs', ())], 'F8': [(['mod1', 'shift'], 'toggle_keyboard_grab', ())], 'F9': [(['mod1', 'shift'], 'toggle_pointer_grab', ())], 'F10': [(['mod1', 'shift'], 'magic_key', ())], 'F12': [(['mod1', 'shift'], 'toggle_debug', ())], 'plus': [(['mod1', 'shift'], 'scaleup', ())], 'minus': [(['mod1', 'shift'], 'scaledown', ())], 'underscore': [(['mod1', 'shift'], 'scaledown', ())], 'KP_Add': [(['mod1', 'shift'], 'scaleup', ())], 'KP_Subtract': [(['mod1', 'shift'], 'scaledown', ())], 'KP_Multiply': [(['mod1', 'shift'], 'scalereset', ())], 'bar': [(['mod1', 'shift'], 'scalereset', ())], 'question': [(['mod1', 'shift'], 'scalingoff', ())]}
2023-05-18 16:17:04,910 * F1                              : [(['mod1', 'shift'], 'show_menu', ())]
2023-05-18 16:17:04,910 * F2                              : [(['mod1', 'shift'], 'show_start_new_command', ())]
2023-05-18 16:17:04,910 * F3                              : [(['mod1', 'shift'], 'show_bug_report', ())]
2023-05-18 16:17:04,910 * F4                              : [(['mod1', 'shift'], 'quit', ())]
2023-05-18 16:17:04,910 * F5                              : [(['mod1', 'shift'], 'show_window_info', ())]
2023-05-18 16:17:04,910 * F6                              : [(['mod1', 'shift'], 'show_shortcuts', ())]
2023-05-18 16:17:04,925 * F7                              : [(['mod1', 'shift'], 'show_docs', ())]
2023-05-18 16:17:04,925 * F8                              : [(['mod1', 'shift'], 'toggle_keyboard_grab', ())]
2023-05-18 16:17:04,925 * F9                              : [(['mod1', 'shift'], 'toggle_pointer_grab', ())]
2023-05-18 16:17:04,925 * F10                             : [(['mod1', 'shift'], 'magic_key', ())]
2023-05-18 16:17:04,925 * F11                             : [(['shift'], 'toggle_fullscreen', ()), (['mod1', 'shift'], 'show_session_info', ())]
2023-05-18 16:17:04,925 * F12                             : [(['mod1', 'shift'], 'toggle_debug', ())]
2023-05-18 16:17:04,925 * KP_Add                          : [(['mod1', 'shift'], 'scaleup', ())]
2023-05-18 16:17:04,925 * KP_Multiply                     : [(['mod1', 'shift'], 'scalereset', ())]
2023-05-18 16:17:04,925 * KP_Subtract                     : [(['mod1', 'shift'], 'scaledown', ())]
2023-05-18 16:17:04,925 * Menu                            : [(['control'], 'toggle_keyboard_grab', ()), (['shift'], 'toggle_pointer_grab', ())]
2023-05-18 16:17:04,925 * bar                             : [(['mod1', 'shift'], 'scalereset', ())]
2023-05-18 16:17:04,925 * minus                           : [(['mod1', 'shift'], 'scaledown', ())]
2023-05-18 16:17:04,941 * plus                            : [(['mod1', 'shift'], 'scaleup', ())]
2023-05-18 16:17:04,941 * question                        : [(['mod1', 'shift'], 'scalingoff', ())]
2023-05-18 16:17:04,941 * underscore                      : [(['mod1', 'shift'], 'scaledown', ())]
2023-05-18 16:17:04,941 update() modifier_map={'shift': 1, 'lock': 2, 'control': 4, 'mod1': 8, 'mod2': 16, 'mod3': 32, 'mod4': 64, 'mod5': 128}, old hash=None, new hash=us/392d8791733bf4c1bf2c7ab4751d91b9238ee3428c50e3f6587c17fc4e2a296f
2023-05-18 16:17:04,972 OpenGL_accelerate module loaded
2023-05-18 16:17:04,988 Using accelerated ArrayDatatype
2023-05-18 16:17:05,398 Warning: vendor 'Intel' is greylisted,
2023-05-18 16:17:05,398  you may want to turn off OpenGL if you encounter bugs
2023-05-18 16:17:05,398 OpenGL accelerate missing: numpy_formathandler
2023-05-18 16:17:05,413 OpenGL enabled on 'Intel(R) HD Graphics 530'
2023-05-18 16:17:05,413 debug enabled for xpra.platform.win32 / ('win32',)
2023-05-18 16:17:05,429 calling SetConsoleCtrlHandler(<bound method ClientExtras.handle_console_event of <xpra.platform.win32.gui.ClientExtras object at 0x000001523bb6a8f0>>, True)
2023-05-18 16:17:05,429 SetConsoleCtrlHandler(<bound method ClientExtras.handle_console_event of <xpra.platform.win32.gui.ClientExtras object at 0x000001523bb6a8f0>>, True)=1
2023-05-18 16:17:05,429 callbacks for event WM_GETMINMAXINFO: None
2023-05-18 16:17:05,429 DefWindowProc(4850762, 36, 0, 122291210304)=0
2023-05-18 16:17:05,429 callbacks for event WM_NCCREATE: None
2023-05-18 16:17:05,429 DefWindowProc(4850762, 129, 0, 122291210240)=1
2023-05-18 16:17:05,429 callbacks for event WM_NCCALCSIZE: None
2023-05-18 16:17:05,429 DefWindowProc(4850762, 131, 0, 122291210336)=0
2023-05-18 16:17:05,429 callbacks for event WM_CREATE: None
2023-05-18 16:17:05,429 DefWindowProc(4850762, 1, 0, 122291210240)=0
2023-05-18 16:17:05,444 Win32EventListener created with hwnd=4850762
2023-05-18 16:17:05,444 init_keyboard_listener() hook_id=0x457042d
2023-05-18 16:17:05,444 callbacks for event WM_DWMNCRENDERINGCHANGED: None
2023-05-18 16:17:05,444 WM_DWMNCRENDERINGCHANGED: 1 / 0
2023-05-18 16:17:05,444 DefWindowProc(4850762, 799, 1, 0)=0
2023-05-18 16:17:05,476 GetKeyboardLayoutList()=0x4190419, 0x4090409
2023-05-18 16:17:05,476 found keyboard layout 'ru' / 0x419 with variants=['phonetic', 'phonetic_winkeys', 'typewriter', 'legacy', 'typewriter-legacy', 'tt', 'os_legacy', 'os_winkeys', 'cv', 'cv_latin', 'udm', 'kom', 'sah', 'xal', 'dos', 'srp', 'bak', 'chm'], code 'RUS' for kbid=0x4190419
2023-05-18 16:17:05,476 found keyboard layout 'us' / 0x409 with variants=[], code 'USA' for kbid=0x4090409
2023-05-18 16:17:05,476 get_layout_spec() GetKeyboardLayoutName()=00000409
2023-05-18 16:17:05,476 sublang(0x409)=0x1
2023-05-18 16:17:05,476 get_layout_spec() WIN32_KEYBOARDS[0x409]=('us', 'United States - English')
2023-05-18 16:17:05,476 GetKeyboardLayout(0)=0x4090409
2023-05-18 16:17:05,476 found keyboard layout 'us' / 0x409 with variants=[], code 'USA' for kbid=1033 (0x4090409)
2023-05-18 16:17:05,476 win32.Keyboard.get_layout_spec()=('us', ['ru', 'us'], None, [], '')
2023-05-18 16:17:05,476 get_layout_spec()=('us', ['ru', 'us'], None, [], None)
2023-05-18 16:17:05,507 debug enabled for xpra.platform.win32.icon_util / ('win32',)
2023-05-18 16:17:05,507 debug enabled for xpra.platform.win32.win32_NotifyIcon / ('tray', 'win32')
2023-05-18 16:17:05,507 loading ctypes NotifyIcon functions
2023-05-18 16:17:05,523 debug enabled for xpra.platform.win32.win32_tray / ('tray', 'win32')
2023-05-18 16:17:05,523 calculate_offset() x=0, y=0
2023-05-18 16:17:05,523 win32NotifyIcon: app_id=0, title='Xpra'
2023-05-18 16:17:05,523 create_tray_window()
2023-05-18 16:17:05,523 GetModuleHandleExA(..)=0x7ff604000000
2023-05-18 16:17:05,523 RegisterClassExA(win32NotifyIcon)=49700
2023-05-18 16:17:05,523 CreateWindowExA(0, 49700, 'Xpra StatusIcon Window', 524288, -2147483648, -2147483648, 0, 0, 0, 0, 140694605791232, 0)
2023-05-18 16:17:05,523 NotifyIconWndProc(787600, 36, 0, 122291204480) instance=None, message(36)=None
2023-05-18 16:17:05,523 NotifyIconWndProc(787600, 129, 0, 122291204432) instance=None, message(129)=None
2023-05-18 16:17:05,523 NotifyIconWndProc(787600, 131, 0, 122291204512) instance=None, message(131)=None
2023-05-18 16:17:05,523 NotifyIconWndProc(787600, 1, 0, 122291204416) instance=None, message(1)=None
2023-05-18 16:17:05,523 create_window() hwnd=0xc0490
2023-05-18 16:17:05,523 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.getNOTIFYICONDATAClass.<locals>._NOTIFYICONDATA object at 0x000001523bf4c6c0> tooltip='Xpra', app_id=0, actual flags=MESSAGE, ICON, TIP, GUID
2023-05-18 16:17:05,538 Shell_NotifyIcon ADD=1
2023-05-18 16:17:05,538 NotifyIconWndProc(787600, 799, 1, 0) instance=win32NotifyIcon(0x0), message(799)=None
2023-05-18 16:17:05,538 NamedPipeListener(\\.\pipe\Xpra\4836).run()
2023-05-18 16:17:05,554 GetTokenInformation data size 0x2c
2023-05-18 16:17:05,554 user SID=<SID: Revision:1, SubAuthorityCount:5, IdentifierAuthority:<SID_IDENTIFIER_AUTHORITY: 0:0:0:0:0:5, SubAuthority:[21, 1993758827, 2834753991, 1130172613, 1001]>, attributes=0x0
2023-05-18 16:17:05,554 GetTokenInformation data size 0x24
2023-05-18 16:17:05,554 group SID=<SID: Revision:1, SubAuthorityCount:5, IdentifierAuthority:<SID_IDENTIFIER_AUTHORITY: 0:0:0:0:0:5, SubAuthority:[21, 1993758827, 2834753991, 1130172613, 513]>
2023-05-18 16:17:05,554 SECURITY_DESCRIPTOR=<SECURITY_DESCRIPTOR at 0x15240487270: Revision:0, Sbz1:0, Control:0, Owner:0, Group:0, Sacl=0, Dacl=0>
2023-05-18 16:17:05,554 InitializeSecurityDescriptor: <SECURITY_DESCRIPTOR at 0x15240487270: Revision:1, Sbz1:0, Control:0, Owner:0, Group:0, Sacl=0, Dacl=0>
2023-05-18 16:17:05,554 SetSecurityDescriptorOwner: <SECURITY_DESCRIPTOR at 0x15240487270: Revision:1, Sbz1:0, Control:0, Owner:<SID: Revision:1, SubAuthorityCount:5, IdentifierAuthority:<SID_IDENTIFIER_AUTHORITY: 0:0:0:0:0:5, SubAuthority:[21, 1993758827, 2834753991, 1130172613, 1001]>, Group:0, Sacl=0, Dacl=0>
2023-05-18 16:17:05,554 SetSecurityDescriptorGroup: <SECURITY_DESCRIPTOR at 0x15240487270: Revision:1, Sbz1:0, Control:0, Owner:<SID: Revision:1, SubAuthorityCount:5, IdentifierAuthority:<SID_IDENTIFIER_AUTHORITY: 0:0:0:0:0:5, SubAuthority:[21, 1993758827, 2834753991, 1130172613, 1001]>, Group:<SID: Revision:1, SubAuthorityCount:5, IdentifierAuthority:<SID_IDENTIFIER_AUTHORITY: 0:0:0:0:0:5, SubAuthority:[21, 1993758827, 2834753991, 1130172613, 513]>, Sacl=0, Dacl=0>
2023-05-18 16:17:05,569 CreatePipeSecurityObject() SECURITY_ATTRIBUTES=<xpra.platform.win32.common.SECURITY_ATTRIBUTES object at 0x000001523bf4cec0>
2023-05-18 16:17:05,569 Connected (version 2.0, client OpenSSH_8.9p1)
2023-05-18 16:17:05,569 CreateNamedPipeA using <xpra.platform.win32.common.SECURITY_ATTRIBUTES object at 0x000001523bf4cec0> (UNRESTRICTED=False)
2023-05-18 16:17:05,569 CreatePipeHandle()=0xac0
2023-05-18 16:17:05,569 ConnectNamedPipe()=0
2023-05-18 16:17:05,569 GetLastError()=Протекает наложенное событие ввода/вывода. (997)
2023-05-18 16:17:05,648 SSH password authentication failed:
2023-05-18 16:17:05,648  Bad authentication type
2023-05-18 16:17:05,648   allowed types: ['publickey', 'password']
2023-05-18 16:17:06,032 NotifyIconWndProc(787600, 28, 1, 5440) instance=win32NotifyIcon(0x0), message(28)=None
2023-05-18 16:17:06,035 callbacks for event WM_ACTIVATEAPP: [<bound method ClientExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x000001523bb6a8f0>>]
2023-05-18 16:17:06,038 WM_ACTIVATEAPP: 1/5440 client=gtk3.client
2023-05-18 16:17:06,039 DefWindowProc(4850762, 28, 1, 5440)=0
2023-05-18 16:17:06,556 set_icon(C:\Program Files\Xpra\share\xpra\icons\xpra.ico)
2023-05-18 16:17:06,556 LoadImage(C:\Program Files\Xpra\share\xpra\icons\xpra.ico) using image type=ICON
2023-05-18 16:17:06,556 LoadImage(C:\Program Files\Xpra\share\xpra\icons\xpra.ico)=0x650501
2023-05-18 16:17:06,556 do_set_icon(0x650501)
2023-05-18 16:17:06,556 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.getNOTIFYICONDATAClass.<locals>._NOTIFYICONDATA object at 0x0000015217b63640> tooltip='Xpra', app_id=0, actual flags=ICON, GUID
2023-05-18 16:17:06,556 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.getNOTIFYICONDATAClass.<locals>._NOTIFYICONDATA object at 0x0000015217b63640> tooltip='Xpra', app_id=0, actual flags=ICON, GUID
2023-05-18 16:17:07,306 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:07,368 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:07,493 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:07,556 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:07,681 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:07,743 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:07,821 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:07,868 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:08,619 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:08,675 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015217b63640>)
2023-05-18 16:17:08,890 NotifyIconWndProc(787600, 28, 0, 5440) instance=win32NotifyIcon(0x0), message(28)=None
2023-05-18 16:17:08,897 callbacks for event WM_ACTIVATEAPP: [<bound method ClientExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x000001523bb6a8f0>>]
2023-05-18 16:17:08,903 WM_ACTIVATEAPP: 0/5440 client=gtk3.client
2023-05-18 16:17:08,904 DefWindowProc(4850762, 28, 0, 5440)=0
2023-05-18 16:17:08,966 Authentication (password) successful!
2023-05-18 16:17:09,122 ssh server OS is 'linux-gnu'
2023-05-18 16:17:09,262 mask_to_names(<flags 0 of type Gdk.ModifierType>)=[]
2023-05-18 16:17:09,262  keyboard settings: layout=us
2023-05-18 16:17:09,262 get_workareas() GetMonitorInfo(65537)={'Work': (0, 0, 1920, 1040), 'Monitor': (0, 0, 1920, 1080), 'Flags': 1, 'Device': '\\\\.\\DISPLAY1'}
2023-05-18 16:17:09,262 get_workareas()=[(0, 0, 1920, 1040)]
2023-05-18 16:17:09,262 get_workarea() absolute total monitor area: (0, 0, 1920, 1080)
2023-05-18 16:17:09,262  total monitor dimensions: (1920, 1080)
2023-05-18 16:17:09,262 get_workareas() GetMonitorInfo(65537)={'Work': (0, 0, 1920, 1040), 'Monitor': (0, 0, 1920, 1080), 'Flags': 1, 'Device': '\\\\.\\DISPLAY1'}
2023-05-18 16:17:09,262 get_workareas()=[(0, 0, 1920, 1040)]
2023-05-18 16:17:09,262 get_workarea() absolute total monitor area: (0, 0, 1920, 1080)
2023-05-18 16:17:09,278  total monitor dimensions: (1920, 1080)
2023-05-18 16:17:09,278 get_workareas() GetMonitorInfo(65537)={'Work': (0, 0, 1920, 1040), 'Monitor': (0, 0, 1920, 1080), 'Flags': 1, 'Device': '\\\\.\\DISPLAY1'}
2023-05-18 16:17:09,278 get_workareas()=[(0, 0, 1920, 1040)]
2023-05-18 16:17:09,278 get_workarea() absolute total monitor area: (0, 0, 1920, 1080)
2023-05-18 16:17:09,278  total monitor dimensions: (1920, 1080)
2023-05-18 16:17:09,278  desktop size is 1920x1080:
2023-05-18 16:17:09,278   Default (508x285 mm - DPI: 96x96) workarea: 1920x1040
2023-05-18 16:17:09,278     (Стандартные мониторы) EA232WMi (510x287 mm)
2023-05-18 16:17:09,309 debug enabled for xpra.platform.win32.netdev_query / ('network', 'util', 'win32')
2023-05-18 16:17:09,418 ExecQuery(SELECT * FROM Win32_NetworkAdapter WHERE GUID='{EE00349A-604C-4A1B-BAFB-F5F816BC6CB1}') returned 1 rows
2023-05-18 16:17:09,418 get_interface_info({EE00349A-604C-4A1B-BAFB-F5F816BC6CB1})={'adapter-type': 'Ethernet 802.3', 'caption': '[00000001] Realtek PCIe GBE Family Controller', 'description': 'Realtek PCIe GBE Family Controller', 'id': 1, 'GUID': '{EE00349A-604C-4A1B-BAFB-F5F816BC6CB1}', 'index': 1, 'name': 'Realtek PCIe GBE Family Controller', 'product-name': 'Realtek PCIe GBE Family Controller', 'speed': 1000000000}
2023-05-18 16:17:09,418 get_session_type() DwmIsCompositionEnabled()=True (retcode=0)
2023-05-18 16:17:09,793 enabled remote logging
2023-05-18 16:17:09,793 Xpra X11 seamless server version 4.4
2023-05-18 16:17:09,809 set_modifier_mappings({mappings})
2023-05-18 16:17:09,809 modifier_keys={'Shift_L': 'shift', 'Shift_R': 'shift', 'Caps_Lock': 'lock', 'Control_L': 'control', 'Control_R': 'control', 'Meta_L': 'mod1', 'Meta_R': 'mod1', 'Alt_L': 'mod1', 'Num_Lock': 'mod2', 'Super_L': 'mod3', 'Super_R': 'mod3', 'Hyper_L': 'mod4', 'Hyper_R': 'mod4', 'ISO_Level3_Shift': 'mod5'}
2023-05-18 16:17:09,809 modifier_names={'shift': 'Shift_R', 'lock': 'Caps_Lock', 'control': 'Control_R', 'mod1': 'Meta_L', 'mod2': 'Num_Lock', 'mod3': 'Super_L', 'mod4': 'Hyper_R', 'mod5': 'ISO_Level3_Shift'}
2023-05-18 16:17:09,809 modifier_keycodes={'Shift_L': [160], 'Control_L': [162]}
2023-05-18 16:17:09,809 set_modifier_mappings found 'Num_Lock' with modifier value: mod2
2023-05-18 16:17:09,809 set_modifier_mappings found 'AltGr'='ISO_Level3_Shift' with modifier value: mod5
2023-05-18 16:17:09,809 Attached to xpra server at ssh://valery@x.x.x.x:22/7
2023-05-18 16:17:09,821  (press Control-C to detach)

2023-05-18 16:17:09,900 ExecQuery(SELECT * FROM Win32_NetworkAdapter WHERE GUID='{EE00349A-604C-4A1B-BAFB-F5F816BC6CB1}') returned 1 rows
2023-05-18 16:17:09,900 get_interface_info({EE00349A-604C-4A1B-BAFB-F5F816BC6CB1})={'adapter-type': 'Ethernet 802.3', 'caption': '[00000001] Realtek PCIe GBE Family Controller', 'description': 'Realtek PCIe GBE Family Controller', 'id': 1, 'GUID': '{EE00349A-604C-4A1B-BAFB-F5F816BC6CB1}', 'index': 1, 'name': 'Realtek PCIe GBE Family Controller', 'product-name': 'Realtek PCIe GBE Family Controller', 'speed': 1000000000}
2023-05-18 16:17:09,978 ExecQuery(SELECT * FROM Win32_NetworkAdapter WHERE GUID='{EE00349A-604C-4A1B-BAFB-F5F816BC6CB1}') returned 1 rows
2023-05-18 16:17:09,994 get_interface_info({EE00349A-604C-4A1B-BAFB-F5F816BC6CB1})={'adapter-type': 'Ethernet 802.3', 'caption': '[00000001] Realtek PCIe GBE Family Controller', 'description': 'Realtek PCIe GBE Family Controller', 'id': 1, 'GUID': '{EE00349A-604C-4A1B-BAFB-F5F816BC6CB1}', 'index': 1, 'name': 'Realtek PCIe GBE Family Controller', 'product-name': 'Realtek PCIe GBE Family Controller', 'speed': 1000000000}
2023-05-18 16:17:09,994 set_tooltip('xterm\nX.X.X.X:22')
2023-05-18 16:17:09,994 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.getNOTIFYICONDATAClass.<locals>._NOTIFYICONDATA object at 0x000001524082a4c0> tooltip='xterm\nX.X.X.X:22', app_id=0, actual flags=MESSAGE, ICON, TIP, GUID

(Xpra_cmd.exe:4836): Pango-WARNING **: 16:17:10.025: couldn't load font "DejaVu Serif Not-Rotated 59.796875", falling back to "Sans Not-Rotated 59.796875", expect ugly output.
Warning: invalid option: 'audio'

(Xpra_cmd.exe:4836): Pango-WARNING **: 16:17:10.041: couldn't load font "URW Bookman Not-Rotated 52.76171875", falling back to "Sans Not-Rotated 52.76171875", expect ugly output.

(Xpra_cmd.exe:4836): Pango-WARNING **: 16:17:10.072: couldn't load font "Bitstream Vera Sans Not-Rotated 14.662109375", falling back to "Sans Not-Rotated 14.662109375", expect ugly output.
2023-05-18 16:17:10,135 running
2023-05-18 16:17:10,728 audio playback using 'opus' audio codec
2023-05-18 16:17:15,431 SPI_GETSCREENSAVERRUNNING=False
2023-05-18 16:17:20,971 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:20,991 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911ac0>)
2023-05-18 16:17:21,151 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:21,161 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:22,641 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911640>)
2023-05-18 16:17:22,651 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911640>)
2023-05-18 16:17:22,801 WH_KEYBOARD_LL: (0, 261, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:22,801 WH_KEYBOARD_LL: (0, 261, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:22,811 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:25,441 SPI_GETSCREENSAVERRUNNING=False
2023-05-18 16:17:26,751 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911bc0>)
2023-05-18 16:17:26,761 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:26,961 WH_KEYBOARD_LL: (0, 261, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911bc0>)
2023-05-18 16:17:26,976 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911bc0>)
2023-05-18 16:17:27,531 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911b40>)
2023-05-18 16:17:27,551 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911bc0>)
2023-05-18 16:17:27,711 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911b40>)
2023-05-18 16:17:27,711 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911b40>)
2023-05-18 16:17:27,721 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911b40>)
2023-05-18 16:17:33,051 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:33,201 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:33,411 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911ec0>)
2023-05-18 16:17:33,551 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911ec0>)
2023-05-18 16:17:33,731 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911ec0>)
2023-05-18 16:17:33,891 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:35,201 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911dc0>)
2023-05-18 16:17:35,211 WH_KEYBOARD_LL: (0, 260, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911dc0>)
2023-05-18 16:17:35,401 WH_KEYBOARD_LL: (0, 261, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:35,426 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911ec0>)
2023-05-18 16:17:35,461 SPI_GETSCREENSAVERRUNNING=False
2023-05-18 16:17:36,321 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152409118c0>)
2023-05-18 16:17:36,441 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911dc0>)
2023-05-18 16:17:36,601 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911ec0>)
2023-05-18 16:17:36,701 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911e40>)
2023-05-18 16:17:36,841 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911ec0>)
2023-05-18 16:17:36,911 WH_KEYBOARD_LL: (0, 257, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240911ec0>)
2023-05-18 16:17:39,131 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x0000015240772cc0>)
2023-05-18 16:17:39,521 WH_KEYBOARD_LL: (0, 256, <xpra.platform.win32.gui.LP_KBDLLHOOKSTRUCT object at 0x00000152406d5640>)

2023-05-18 16:17:39,521 audio playback got signal SIGINT
2023-05-18 16:17:39,521 callbacks for event 0xcb2bbac8: None
2023-05-18 16:17:39,531 audio playback stopping
2023-05-18 16:17:39,531 DefWindowProc(None, 3408640712, 0, 0)=0

2023-05-18 16:17:39,531 Python/GTK3 Client got signal SIGINT
2023-05-18 16:17:39,531 Warning: the opus sound sink has stopped
2023-05-18 16:17:39,531 exiting
2023-05-18 16:17:39,541 SSH EOF on stderr of run-xpra
2023-05-18 16:17:39,541 NamedPipeListener(\\.\pipe\Xpra\4836).stop()
2023-05-18 16:17:39,541 Win32Tray.cleanup() tray_widget=win32NotifyIcon(0x0)
2023-05-18 16:17:39,541 win32NotifyIcon.close()
2023-05-18 16:17:39,541 destroy() hwnd=0xc0490, exit callback=<function TrayClient.create_xpra_tray.<locals>.xpra_tray_exit at 0x000001523c1faf80>
2023-05-18 16:17:39,541 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.getNOTIFYICONDATAClass.<locals>._NOTIFYICONDATA object at 0x0000015217b63b40> tooltip='xterm\nX.X.X.X:22', app_id=0, actual flags=GUID
2023-05-18 16:17:39,541 delete_tray_window(..) calling Shell_NotifyIcon(NIM_DELETE, <xpra.platform.win32.win32_NotifyIcon.getNOTIFYICONDATAClass.<locals>._NOTIFYICONDATA object at 0x0000015217b63b40>)
2023-05-18 16:17:39,557 ClientExtras.cleanup()
2023-05-18 16:17:39,557 Win32EventListener.cleanup()
2023-05-18 16:17:39,557 callbacks for event 0x90: None
2023-05-18 16:17:39,557 DefWindowProc(4850762, 144, 0, 0)=0
2023-05-18 16:17:39,557 callbacks for event WM_DESTROY: None
2023-05-18 16:17:39,557 DefWindowProc(4850762, 2, 0, 0)=0
2023-05-18 16:17:39,557 callbacks for event WM_NCDESTROY: None
2023-05-18 16:17:39,572 DefWindowProc(4850762, 130, 0, 0)=0
2023-05-18 16:17:39,572 ClientExtras.cleanup() ended
2023-05-18 16:17:39,572 Win32Tray.cleanup() ended
2023-05-18 16:17:39,572 ClientExtras.cleanup()
2023-05-18 16:17:39,572 ClientExtras.cleanup() ended
2023-05-18 16:17:39,572 ClientExtras.cleanup()
2023-05-18 16:17:39,572 ClientExtras.cleanup() ended

C:\Program Files\Xpra>zxcячс`

@totaam
Copy link
Collaborator

totaam commented May 18, 2023

the moment in the log when I press the layout switching keys

What are these layout switching keys and how is the system configured?
WH_KEYBOARD_LL is a hook that enables you to monitor keyboard input events about to be posted in a thread input queue
I see no indication of layout switching in the LowLevelKeyboardProc function callback that we use, or in the KBDLLHOOKSTRUCT.

I would have expected to see a WM_INPUTLANGCHANGE event, which should have printed a message:

win32con.WM_INPUTLANGCHANGE : "WM_INPUTLANGCHANGE: input language changed",

Sadly, it is unreliable

If the system call is fast enough, perhaps we could call GetKeyboardLayout for every keystroke.

@nvaleryRR
Copy link
Author

Keys for switching - shift + alt.
System configured:

  1. allow you to select an input method for each window - yes
  2. Preferred languages -
    English (US)
    Russian
  3. Switch input language - left alt + shift
  4. Windows interface language - Russian

I tried to change the keyboard shortcuts, tried to press in different ways... the event, at least related to languages, did not appear in the debug log.

totaam added a commit that referenced this issue May 19, 2023
we don't seem to be getting the WM_INPUTLANGCHANGE message reliably, so we have to use polling.
and we have to use a different thread (we use the main thread via GLib) because otherwise we get stale values for the keyboard layout
@totaam
Copy link
Collaborator

totaam commented May 19, 2023

@nvaleryRR please try the latest windows beta build at r33476 or later.
The commit above should allow xpra to see the layout change (via polling unfortunately).
This feature can be disabled by setting XPRA_WIN32_POLL_LAYOUT=0, or by selecting / specifying a specific keyboard layout.

@nvaleryRR
Copy link
Author

Checked. Works great!
Thank you!

@totaam totaam closed this as completed May 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working keyboard win32 MS Windows OS
Projects
None yet
Development

No branches or pull requests

2 participants