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

no dead keys with german keyboard from windows client to linux server #4449

Open
leo-b opened this issue Dec 21, 2024 · 9 comments
Open

no dead keys with german keyboard from windows client to linux server #4449

leo-b opened this issue Dec 21, 2024 · 9 comments
Labels
bug Something isn't working

Comments

@leo-b
Copy link

leo-b commented Dec 21, 2024

When connecting from a Windows 10 client to a linux server, dead keys (accent keys that need a subsequent key) do not work. (E.g. ^ followed by SPACE yields just the SPACE). The keys ^, ` and ´ produce no output.

  • Keyboard layout is: https://kbdlayout.info/kbdgr
  • --no-keyboard-sync doesn't make a difference
  • I also tried with --keyboard-layout=de --keyboard-variant=nodeadkeys.
  • keynames are shown in the debug log as dead-circumflex, dead-grave and dead-acute (see below).

System Information (please complete the following information):

  • Server OS: Windows 10
  • Client OS: Rocky Linux 8
  • Xpra Server Version 6.2.2
  • Xpra Client Version 6.2.2

Additional context

On the Windows client

.\Keymap_info.exe
Modifiers:

Server Managed                    : None
Missing from pointer events       : lock

keyboard layout 'German' : 'de' (0x407)
Layout:     'de'
Layouts:    de, at
Variant:    ''
Variants:   nodeadkeys, sundeadkeys, mac
Options:

Repeat:     500, 33
.\Keymap_info.exe
keyval          name                        keycode group   level
65385           Cancel                      3       0       0
65288           BackSpace                   8       0       0
65289           Tab                         9       0       0
65056           ISO_Left_Tab                9       0       1
65291           Clear                       12      0       0
65293           Return                      13      0       0
65505           Shift_L                     16      0       0
65507           Control_L                   17      0       0
65513           Alt_L                       18      0       0
65299           Pause                       19      0       0
65509           Caps_Lock                   20      0       0
65307           Escape                      27      0       0
32              space                       32      0       0
32              space                       32      0       1
65365           Page_Up                     33      0       0
65366           Page_Down                   34      0       0
65367           End                         35      0       0
65360           Home                        36      0       0
65361           Left                        37      0       0
65362           Up                          38      0       0
65363           Right                       39      0       0
65364           Down                        40      0       0
65376           Select                      41      0       0
65377           Print                       42      0       0
65378           Execute                     43      0       0
65377           Print                       44      0       0
65379           Insert                      45      0       0
65535           Delete                      46      0       0
65386           Help                        47      0       0
48              0                           48      0       0
61              equal                       48      0       1
125             braceright                  48      0       2
49              1                           49      0       0
33              exclam                      49      0       1
50              2                           50      0       0
34              quotedbl                    50      0       1
178             twosuperior                 50      0       2
51              3                           51      0       0
167             section                     51      0       1
179             threesuperior               51      0       2
52              4                           52      0       0
36              dollar                      52      0       1
53              5                           53      0       0
37              percent                     53      0       1
54              6                           54      0       0
38              ampersand                   54      0       1
55              7                           55      0       0
47              slash                       55      0       1
123             braceleft                   55      0       2
56              8                           56      0       0
40              parenleft                   56      0       1
91              bracketleft                 56      0       2
57              9                           57      0       0
41              parenright                  57      0       1
93              bracketright                57      0       2
97              a                           65      0       0
65              A                           65      0       1
98              b                           66      0       0
66              B                           66      0       1
99              c                           67      0       0
67              C                           67      0       1
100             d                           68      0       0
68              D                           68      0       1
101             e                           69      0       0
69              E                           69      0       1
8364            EuroSign                    69      0       2
102             f                           70      0       0
70              F                           70      0       1
103             g                           71      0       0
71              G                           71      0       1
104             h                           72      0       0
72              H                           72      0       1
105             i                           73      0       0
73              I                           73      0       1
106             j                           74      0       0
74              J                           74      0       1
107             k                           75      0       0
75              K                           75      0       1
108             l                           76      0       0
76              L                           76      0       1
109             m                           77      0       0
77              M                           77      0       1
181             mu                          77      0       2
110             n                           78      0       0
78              N                           78      0       1
111             o                           79      0       0
79              O                           79      0       1
112             p                           80      0       0
80              P                           80      0       1
113             q                           81      0       0
81              Q                           81      0       1
64              at                          81      0       2
114             r                           82      0       0
82              R                           82      0       1
115             s                           83      0       0
83              S                           83      0       1
116             t                           84      0       0
84              T                           84      0       1
117             u                           85      0       0
85              U                           85      0       1
118             v                           86      0       0
86              V                           86      0       1
119             w                           87      0       0
87              W                           87      0       1
120             x                           88      0       0
88              X                           88      0       1
121             y                           89      0       0
89              Y                           89      0       1
122             z                           90      0       0
90              Z                           90      0       1
65511           Meta_L                      91      0       0
65512           Meta_R                      92      0       0
65383           Menu                        93      0       0
65456           KP_0                        96      0       0
65457           KP_1                        97      0       0
65458           KP_2                        98      0       0
65459           KP_3                        99      0       0
65460           KP_4                        100     0       0
65461           KP_5                        101     0       0
65462           KP_6                        102     0       0
65463           KP_7                        103     0       0
65464           KP_8                        104     0       0
65465           KP_9                        105     0       0
65450           KP_Multiply                 106     0       0
65451           KP_Add                      107     0       0
65452           KP_Separator                108     0       0
65453           KP_Subtract                 109     0       0
65454           KP_Decimal                  110     0       0
65455           KP_Divide                   111     0       0
65470           F1                          112     0       0
65471           F2                          113     0       0
65472           F3                          114     0       0
65473           F4                          115     0       0
65474           F5                          116     0       0
65475           F6                          117     0       0
65476           F7                          118     0       0
65477           F8                          119     0       0
65478           F9                          120     0       0
65479           F10                         121     0       0
65480           F11                         122     0       0
65481           F12                         123     0       0
65482           F13                         124     0       0
65483           F14                         125     0       0
65484           F15                         126     0       0
65485           F16                         127     0       0
65486           F17                         128     0       0
65487           F18                         129     0       0
65488           F19                         130     0       0
65489           F20                         131     0       0
65490           F21                         132     0       0
65491           F22                         133     0       0
65492           F23                         134     0       0
65493           F24                         135     0       0
65407           Num_Lock                    144     0       0
65300           Scroll_Lock                 145     0       0
65505           Shift_L                     160     0       0
65506           Shift_R                     161     0       0
65507           Control_L                   162     0       0
65508           Control_R                   163     0       0
65513           Alt_L                       164     0       0
65514           Alt_R                       165     0       0
252             udiaeresis                  186     0       0
220             Udiaeresis                  186     0       1
43              plus                        187     0       0
42              asterisk                    187     0       1
126             asciitilde                  187     0       2
44              comma                       188     0       0
59              semicolon                   188     0       1
45              minus                       189     0       0
95              underscore                  189     0       1
46              period                      190     0       0
58              colon                       190     0       1
35              numbersign                  191     0       0
39              apostrophe                  191     0       1
246             odiaeresis                  192     0       0
214             Odiaeresis                  192     0       1
223             ssharp                      219     0       0
63              question                    219     0       1
92              backslash                   219     0       2
16785054        U+1E9E                      219     0       5
65106           dead_circumflex             220     0       0
176             degree                      220     0       1
65105           dead_acute                  221     0       0
65104           dead_grave                  221     0       1
228             adiaeresis                  222     0       0
196             Adiaeresis                  222     0       1
60              less                        226     0       0
62              greater                     226     0       1
124             bar                         226     0       2
94              asciicircum                 255     0       0

On the Linux server

$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwertz)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+de+inet(evdev)"     };
        xkb_geometry  { include "pc(pc105)"     };
};
$ setxkbmap -query
rules:      evdev
model:      pc105
layout:     de
$ xmodmap -pke
keycode   8 =
keycode   9 = Escape NoSymbol Escape
keycode  10 = 1 exclam 1 exclam onesuperior exclamdown onesuperior
keycode  11 = 2 quotedbl 2 quotedbl twosuperior oneeighth twosuperior
keycode  12 = 3 section 3 section threesuperior sterling threesuperior
keycode  13 = 4 dollar 4 dollar onequarter currency onequarter
keycode  14 = 5 percent 5 percent onehalf threeeighths onehalf
keycode  15 = 6 ampersand 6 ampersand notsign fiveeighths notsign
keycode  16 = 7 slash 7 slash braceleft seveneighths braceleft
keycode  17 = 8 parenleft 8 parenleft bracketleft trademark bracketleft
keycode  18 = 9 parenright 9 parenright bracketright plusminus bracketright
keycode  19 = 0 equal 0 equal braceright degree braceright
keycode  20 = ssharp question ssharp question backslash questiondown U1E9E
keycode  21 = dead_acute dead_grave dead_acute dead_grave dead_cedilla dead_ogonek dead_cedilla
keycode  22 = BackSpace BackSpace BackSpace BackSpace
keycode  23 = Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode  24 = q Q q Q at Greek_OMEGA at
keycode  25 = w W w W lstroke Lstroke lstroke
keycode  26 = e E e E EuroSign EuroSign EuroSign
keycode  27 = r R r R paragraph registered paragraph
keycode  28 = t T t T tslash Tslash tslash
keycode  29 = z Z z Z leftarrow yen leftarrow
keycode  30 = u U u U downarrow uparrow downarrow
keycode  31 = i I i I rightarrow idotless rightarrow
keycode  32 = o O o O oslash Oslash oslash
keycode  33 = p P p P thorn THORN thorn
keycode  34 = udiaeresis Udiaeresis udiaeresis Udiaeresis dead_diaeresis dead_abovering dead_diaeresis
keycode  35 = plus asterisk plus asterisk asciitilde macron asciitilde
keycode  36 = Return NoSymbol Return
keycode  37 = Control_L NoSymbol Control_L
keycode  38 = a A a A ae AE ae
keycode  39 = s S s S U017F U1E9E U017F
keycode  40 = d D d D eth ETH eth
keycode  41 = f F f F dstroke ordfeminine dstroke
keycode  42 = g G g G eng ENG eng
keycode  43 = h H h H hstroke Hstroke hstroke
keycode  44 = j J j J dead_belowdot dead_abovedot dead_belowdot
keycode  45 = k K k K kra ampersand kra
keycode  46 = l L l L lstroke Lstroke lstroke
keycode  47 = odiaeresis Odiaeresis odiaeresis Odiaeresis dead_doubleacute dead_belowdot dead_doubleacute
keycode  48 = adiaeresis Adiaeresis adiaeresis Adiaeresis dead_circumflex dead_caron dead_circumflex
keycode  49 = dead_circumflex degree dead_circumflex degree U2032 U2033 U2032
keycode  50 = Shift_L NoSymbol Shift_L
keycode  51 = numbersign apostrophe numbersign apostrophe rightsinglequotemark dead_breve rightsinglequotemark
keycode  52 = y Y y Y guillemotright U203A guillemotright
keycode  53 = x X x X guillemotleft U2039 guillemotleft
keycode  54 = c C c C cent copyright cent
keycode  55 = v V v V doublelowquotemark singlelowquotemark doublelowquotemark
keycode  56 = b B b B leftdoublequotemark leftsinglequotemark leftdoublequotemark
keycode  57 = n N n N rightdoublequotemark rightsinglequotemark rightdoublequotemark
keycode  58 = m M m M mu masculine mu
keycode  59 = comma semicolon comma semicolon periodcentered multiply periodcentered
keycode  60 = period colon period colon U2026 division U2026
keycode  61 = minus underscore minus underscore endash emdash endash
keycode  62 = Shift_R NoSymbol Shift_R
keycode  63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab
keycode  64 = Alt_L Meta_L Alt_L Meta_L
keycode  65 = space NoSymbol space
keycode  66 = Caps_Lock NoSymbol Caps_Lock
keycode  67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1
keycode  68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2
keycode  69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3
keycode  70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4
keycode  71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5
keycode  72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6
keycode  73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7
keycode  74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8
keycode  75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9
keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10
keycode  77 = Num_Lock NoSymbol Num_Lock
keycode  78 = Scroll_Lock NoSymbol Scroll_Lock
keycode  79 = KP_Home KP_7 KP_Home KP_7
keycode  80 = KP_Up KP_8 KP_Up KP_8
keycode  81 = KP_Prior KP_9 KP_Prior KP_9
keycode  82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode
keycode  83 = KP_Left KP_4 KP_Left KP_4
keycode  84 = KP_Begin KP_5 KP_Begin KP_5
keycode  85 = KP_Right KP_6 KP_Right KP_6
keycode  86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode
keycode  87 = KP_End KP_1 KP_End KP_1
keycode  88 = KP_Down KP_2 KP_Down KP_2
keycode  89 = KP_Next KP_3 KP_Next KP_3
keycode  90 = KP_Insert KP_0 KP_Insert KP_0
keycode  91 = KP_Delete KP_Separator KP_Delete KP_Separator
keycode  92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
keycode  93 =
keycode  94 = less greater less greater bar dead_belowmacron bar
keycode  95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11
keycode  96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12
keycode  97 =
keycode  98 = Katakana NoSymbol Katakana
keycode  99 = Hiragana NoSymbol Hiragana
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana
keycode 102 = Muhenkan NoSymbol Muhenkan
keycode 103 =
keycode 104 = KP_Enter NoSymbol KP_Enter
keycode 105 = Control_R NoSymbol Control_R
keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab
keycode 107 = Print Sys_Req Print Sys_Req
keycode 108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
keycode 109 = Linefeed NoSymbol Linefeed
keycode 110 = Home NoSymbol Home
keycode 111 = Up NoSymbol Up
keycode 112 = Prior NoSymbol Prior
keycode 113 = Left NoSymbol Left
keycode 114 = Right NoSymbol Right
keycode 115 = End NoSymbol End
keycode 116 = Down NoSymbol Down
keycode 117 = Next NoSymbol Next
keycode 118 = Insert NoSymbol Insert
keycode 119 = Delete NoSymbol Delete
keycode 120 =
keycode 121 = XF86AudioMute NoSymbol XF86AudioMute
keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume
keycode 124 = XF86PowerOff NoSymbol XF86PowerOff
keycode 125 = KP_Equal NoSymbol KP_Equal
keycode 126 = plusminus NoSymbol plusminus
keycode 127 = Pause Break Pause Break
keycode 128 = XF86LaunchA NoSymbol XF86LaunchA
keycode 129 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal
keycode 130 = Hangul NoSymbol Hangul
keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja
keycode 132 =
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
keycode 135 = Menu NoSymbol Menu
keycode 136 = Cancel NoSymbol Cancel
keycode 137 = Redo NoSymbol Redo
keycode 138 = SunProps NoSymbol SunProps
keycode 139 = Undo NoSymbol Undo
keycode 140 = SunFront NoSymbol SunFront
keycode 141 = XF86Copy NoSymbol XF86Copy
keycode 142 = XF86Open NoSymbol XF86Open
keycode 143 = XF86Paste NoSymbol XF86Paste
keycode 144 = Find NoSymbol Find
keycode 145 = XF86Cut NoSymbol XF86Cut
keycode 146 = Help NoSymbol Help
keycode 147 = XF86MenuKB NoSymbol XF86MenuKB
keycode 148 = XF86Calculator NoSymbol XF86Calculator
keycode 149 =
keycode 150 = XF86Sleep NoSymbol XF86Sleep
keycode 151 = XF86WakeUp NoSymbol XF86WakeUp
keycode 152 = XF86Explorer NoSymbol XF86Explorer
keycode 153 = XF86Send NoSymbol XF86Send
keycode 154 =
keycode 155 = XF86Xfer NoSymbol XF86Xfer
keycode 156 = XF86Launch1 NoSymbol XF86Launch1
keycode 157 = XF86Launch2 NoSymbol XF86Launch2
keycode 158 = XF86WWW NoSymbol XF86WWW
keycode 159 = XF86DOS NoSymbol XF86DOS
keycode 160 = XF86ScreenSaver NoSymbol XF86ScreenSaver
keycode 161 = XF86RotateWindows NoSymbol XF86RotateWindows
keycode 162 = XF86TaskPane NoSymbol XF86TaskPane
keycode 163 = XF86Mail NoSymbol XF86Mail
keycode 164 = XF86Favorites NoSymbol XF86Favorites
keycode 165 = XF86MyComputer NoSymbol XF86MyComputer
keycode 166 = XF86Back NoSymbol XF86Back
keycode 167 = XF86Forward NoSymbol XF86Forward
keycode 168 =
keycode 169 = XF86Eject NoSymbol XF86Eject
keycode 170 = XF86Eject XF86Eject XF86Eject XF86Eject
keycode 171 = XF86AudioNext NoSymbol XF86AudioNext
keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause
keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev
keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject
keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord
keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind
keycode 177 = XF86Phone NoSymbol XF86Phone
keycode 178 =
keycode 179 = XF86Tools NoSymbol XF86Tools
keycode 180 = XF86HomePage NoSymbol XF86HomePage
keycode 181 = XF86Reload NoSymbol XF86Reload
keycode 182 = XF86Close NoSymbol XF86Close
keycode 183 =
keycode 184 =
keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp
keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown
keycode 187 = parenleft NoSymbol parenleft
keycode 188 = parenright NoSymbol parenright
keycode 189 = XF86New NoSymbol XF86New
keycode 190 = Redo NoSymbol Redo
keycode 191 = XF86Tools NoSymbol XF86Tools
keycode 192 = XF86Launch5 NoSymbol XF86Launch5
keycode 193 = XF86Launch6 NoSymbol XF86Launch6
keycode 194 = XF86Launch7 NoSymbol XF86Launch7
keycode 195 = XF86Launch8 NoSymbol XF86Launch8
keycode 196 = XF86Launch9 NoSymbol XF86Launch9
keycode 197 =
keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn
keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff
keycode 202 =
keycode 203 = Mode_switch NoSymbol Mode_switch
keycode 204 = NoSymbol Alt_L NoSymbol Alt_L
keycode 205 = NoSymbol Meta_L NoSymbol Meta_L
keycode 206 = NoSymbol Super_L NoSymbol Super_L
keycode 207 = NoSymbol Hyper_L NoSymbol Hyper_L
keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 209 = XF86AudioPause NoSymbol XF86AudioPause
keycode 210 = XF86Launch3 NoSymbol XF86Launch3
keycode 211 = XF86Launch4 NoSymbol XF86Launch4
keycode 212 = XF86LaunchB NoSymbol XF86LaunchB
keycode 213 = XF86Suspend NoSymbol XF86Suspend
keycode 214 = XF86Close NoSymbol XF86Close
keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 216 = XF86AudioForward NoSymbol XF86AudioForward
keycode 217 =
keycode 218 = Print NoSymbol Print
keycode 219 =
keycode 220 = XF86WebCam NoSymbol XF86WebCam
keycode 221 = XF86AudioPreset NoSymbol XF86AudioPreset
keycode 222 =
keycode 223 = XF86Mail NoSymbol XF86Mail
keycode 224 = XF86Messenger NoSymbol XF86Messenger
keycode 225 = XF86Search NoSymbol XF86Search
keycode 226 = XF86Go NoSymbol XF86Go
keycode 227 = XF86Finance NoSymbol XF86Finance
keycode 228 = XF86Game NoSymbol XF86Game
keycode 229 = XF86Shop NoSymbol XF86Shop
keycode 230 =
keycode 231 = Cancel NoSymbol Cancel
keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown
keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp
keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia
keycode 235 = XF86Display NoSymbol XF86Display
keycode 236 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff
keycode 237 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown
keycode 238 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp
keycode 239 = XF86Send NoSymbol XF86Send
keycode 240 = XF86Reply NoSymbol XF86Reply
keycode 241 = XF86MailForward NoSymbol XF86MailForward
keycode 242 = XF86Save NoSymbol XF86Save
keycode 243 = XF86Documents NoSymbol XF86Documents
keycode 244 = XF86Battery NoSymbol XF86Battery
keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth
keycode 246 = XF86WLAN NoSymbol XF86WLAN
keycode 247 =
keycode 248 =
keycode 249 =
keycode 250 =
keycode 251 = XF86MonBrightnessCycle NoSymbol XF86MonBrightnessCycle
keycode 252 = Hyper_R NoSymbol Hyper_R
keycode 253 = Meta_R Alt_R Meta_R Alt_R
keycode 254 = XF86WWAN NoSymbol XF86WWAN
keycode 255 = XF86RFKill NoSymbol XF86RFKill
$ xmodmap -pm
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_L (0xcc),  Meta_L (0xcd),  Meta_R (0xfd)
mod2        Num_Lock (0x4d)
mod3        Super_L (0x85),  Super_R (0x86),  Super_L (0xce)
mod4        Hyper_L (0xcf),  Hyper_R (0xfc)
mod5        ISO_Level3_Shift (0x5c),  ISO_Level3_Shift (0x6c),  Mode_switch (0xcb)

xev doesn't show an event when pressing the corresponding keys.

@leo-b leo-b added the bug Something isn't working label Dec 21, 2024
@leo-b
Copy link
Author

leo-b commented Dec 21, 2024

Keyboard debug log output

  • ^ (keyname dead_circumflex) is pressed at 19:31:41.
  • ` (keyname dead_grave) is pressed at 19:31:44.
  • ´ (keyname dead_acute) is pressed at 19:31:51.
"C:\Program Files\Xpra\Xpra_cmd.exe" start ssh://[email protected]:1022/100 --start-child=qterminal --exit-with-children=yes --audio=no --webcam=no -d keyboard
2024-12-21 19:31:06,902 debug enabled for ['xpra.platform.win32.gui', 'win32', 'keyboard']
2024-12-21 19:31:07,139 debug enabled for ['xpra.client.gui.keyboard_shortcuts_parser', 'keyboard']
2024-12-21 19:31:07,143 debug enabled for ['xpra.client.gui.keyboard_helper', 'keyboard']
2024-12-21 19:31:07,200 debug enabled for ['xpra.client.gui.ui_client_base', 'client', 'keyboard']
2024-12-21 19:31:07,207 debug enabled for ['xpra.gtk.keymap', 'keyboard']
2024-12-21 19:31:07,235 debug enabled for ['xpra.client.gui.window_base', 'keyboard']
2024-12-21 19:31:07,244 debug enabled for ['xpra.client.gtk3.window_base', 'keyboard']
2024-12-21 19:31:07,251 debug enabled for ['xpra.client.gtk3.window_base', 'keyboard', 'events']

2024-12-21 19:31:07,299 Xpra GTK3 client version 6.2.2-r0
2024-12-21 19:31:07,750  running on Microsoft Windows Microsoft Windows 10 Enterprise
2024-12-21 19:31:07,751  cpython 3.12
2024-12-21 19:31:13,020 created named pipe 'Xpra\23760'
2024-12-21 19:31:13,661 Error setting up the pipeline:
2024-12-21 19:31:13,661  gst_parse_error: could not link decoder to sink (3)
2024-12-21 19:31:13,662  GStreamer pipeline for:
2024-12-21 19:31:13,662   appsrc name=src emit-signals=1 block=0 is-live=1 do-timestamp=1 stream-type=0 format=2 caps=video/x-h264,width=128,height=128,profile=(string)main,stream-format=(string)byte-stream,alignment=(string)au ! \
2024-12-21 19:31:13,662   d3d11h264dec name=decoder ! \
2024-12-21 19:31:13,662   appsink name=sink emit-signals=1 max-buffers=10 drop=False sync=False async=True qos=False caps=video/x-raw,width=128,height=128,format=(string)I420
2024-12-21 19:31:13,663 Error creating context h264 128x128 YUV420P
2024-12-21 19:31:13,663 gstreamer: h264 decoding failed: failed to setup gstreamer pipeline
2024-12-21 19:31:13,683 debug enabled for ['xpra.platform.keyboard_base', 'keyboard']
2024-12-21 19:31:13,688 debug enabled for ['xpra.platform.win32.keyboard', 'keyboard']
2024-12-21 19:31:13,688 found keyboard layout 'de' / 0x407 with variants=('nodeadkeys', 'sundeadkeys', 'mac'), code 'DEU' for kbid=0x4070c07
2024-12-21 19:31:13,689 KeyboardHelper((<function UIXpraClient.init_ui.<locals>.do_send_keyboard at 0x0000017ba3e70360>, 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)) keyboard=win32.Keyboard
2024-12-21 19:31:13,693 keyboard repeat speed(31)=33, delay(1)=500
2024-12-21 19:31:13,697 query_xkbmap()
2024-12-21 19:31:13,698 GetKeyboardLayoutList()=0x4070c07
2024-12-21 19:31:13,699 found keyboard layout 'de' / 0x407 with variants=('nodeadkeys', 'sundeadkeys', 'mac'), code 'DEU' for kbid=0x4070c07
2024-12-21 19:31:13,699 get_layout_spec() GetKeyboardLayoutName()=00000407
2024-12-21 19:31:13,700 sublang(0x407)=0x1
2024-12-21 19:31:13,700 get_layout_spec() WIN32_KEYBOARDS[0x407]=('de', 'German')
2024-12-21 19:31:13,700 GetKeyboardLayout(0)=0x4070c07
2024-12-21 19:31:13,701 unknown win32 layout 67570695
2024-12-21 19:31:13,701 found keyboard layout 'at' / 0xc07 with variants=('nodeadkeys', 'sundeadkeys', 'mac'), code 'DEA' for kbid=3079 (0x4070c07)
2024-12-21 19:31:13,701 unknown win32 layout 7
2024-12-21 19:31:13,701 keyboard layout 'German' : 'de' (0x407)
2024-12-21 19:31:13,702 win32.Keyboard.get_layout_spec()=('de', ['de', 'at'], '', ['nodeadkeys', 'sundeadkeys', 'mac'], '')
2024-12-21 19:31:13,702 get_layout_spec()=('de', ['de', '[]'], '', ['[]'], '')
2024-12-21 19:31:13,703 query_xkbmap() query_struct={}
--- Logging error ---
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 1160, in emit
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 999, in format
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 703, in format
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 392, in getMessage
TypeError: not all arguments converted during string formatting
Call stack:
  File "C:/msys64/mingw64/lib/python3.12/site-packages/cx_Freeze/initscripts/__startup__.py", line 140, in run
  File "C:/msys64/mingw64/lib/python3.12/site-packages/cx_Freeze/initscripts/console.py", line 25, in run
  File "fs/bin/xpra", line 20, in <module>
  File "E:/xpra/xpra/scripts/main.py", line 141, in main
  File "E:/xpra/xpra/scripts/main.py", line 515, in run_mode
  File "E:/xpra/xpra/scripts/main.py", line 581, in do_run_mode
  File "E:/xpra/xpra/scripts/main.py", line 2443, in run_remote_server
  File "E:/xpra/xpra/client/gui/ui_client_base.py", line 224, in init_ui
  File "E:/xpra/xpra/client/gtk3/keyboard_helper.py", line 28, in __init__
  File "E:/xpra/xpra/client/gtk3/keyboard_helper.py", line 80, in update
  File "E:/xpra/xpra/client/gui/keyboard_helper.py", line 300, in update
  File "E:/xpra/xpra/client/gui/keyboard_helper.py", line 281, in query_xkbmap
  File "E:/xpra/xpra/client/gtk3/keyboard_helper.py", line 88, in get_full_keymap
  File "E:/xpra/xpra/gtk/keymap.py", line 39, in get_gtk_keymap
  File "E:/xpra/xpra/log.py", line 502, in __call__
  File "E:/xpra/xpra/log.py", line 506, in debug
  File "E:/xpra/xpra/log.py", line 481, in log
  File "E:/xpra/xpra/log.py", line 134, in standard_logging
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 1609, in log
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 1684, in _log
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 1700, in handle
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 1762, in callHandlers
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 1028, in handle
  File "E:/xpra/xpra/util/colorstreamhandler.py", line 128, in emit
  File "C:/msys64/mingw64/lib/python3.12/logging/__init__.py", line 1168, in emit
Message: 'get_default_keymap()=%s, direction=%s, bidirectional layouts: %s'
Arguments: (('', 'VoidSymbol', '0xffffff'), <__gi__.GdkWin32Keymap object at 0x0000017ba3f1aac0 (GdkWin32Keymap at 0x0000017b9f259160)>, <enum PANGO_DIRECTION_LTR of type Pango.Direction>, False)
2024-12-21 19:31:13,718 get_entries_for_keycode(0)=()
2024-12-21 19:31:13,719 get_entries_for_keycode(1)=()
2024-12-21 19:31:13,719 get_entries_for_keycode(2)=()
2024-12-21 19:31:13,720 keycode   3: [(65385, 'Cancel', 3, 0, 0)]
2024-12-21 19:31:13,720 get_entries_for_keycode(4)=()
2024-12-21 19:31:13,721 get_entries_for_keycode(5)=()
2024-12-21 19:31:13,722 get_entries_for_keycode(6)=()
2024-12-21 19:31:13,722 get_entries_for_keycode(7)=()
2024-12-21 19:31:13,722 keycode   8: [(65288, 'BackSpace', 8, 0, 0)]
2024-12-21 19:31:13,730 keycode   9: [(65289, 'Tab', 9, 0, 0), (65056, 'ISO_Left_Tab', 9, 0, 1)]
2024-12-21 19:31:13,732 get_entries_for_keycode(10)=()
2024-12-21 19:31:13,734 get_entries_for_keycode(11)=()
2024-12-21 19:31:13,736 keycode  12: [(65291, 'Clear', 12, 0, 0)]
2024-12-21 19:31:13,736 keycode  13: [(65293, 'Return', 13, 0, 0)]
2024-12-21 19:31:13,737 get_entries_for_keycode(14)=()
2024-12-21 19:31:13,737 get_entries_for_keycode(15)=()
2024-12-21 19:31:13,738 keycode  16: [(65505, 'Shift_L', 16, 0, 0)]
2024-12-21 19:31:13,739 keycode  17: [(65507, 'Control_L', 17, 0, 0)]
2024-12-21 19:31:13,744 keycode  18: [(65513, 'Alt_L', 18, 0, 0)]
2024-12-21 19:31:13,745 keycode  19: [(65299, 'Pause', 19, 0, 0)]
2024-12-21 19:31:13,745 keycode  20: [(65509, 'Caps_Lock', 20, 0, 0)]
2024-12-21 19:31:13,746 get_entries_for_keycode(21)=()
2024-12-21 19:31:13,747 get_entries_for_keycode(22)=()
2024-12-21 19:31:13,747 get_entries_for_keycode(23)=()
2024-12-21 19:31:13,747 get_entries_for_keycode(24)=()
2024-12-21 19:31:13,748 get_entries_for_keycode(25)=()
2024-12-21 19:31:13,748 get_entries_for_keycode(26)=()
2024-12-21 19:31:13,748 keycode  27: [(65307, 'Escape', 27, 0, 0)]
2024-12-21 19:31:13,749 get_entries_for_keycode(28)=()
2024-12-21 19:31:13,749 get_entries_for_keycode(29)=()
2024-12-21 19:31:13,749 get_entries_for_keycode(30)=()
2024-12-21 19:31:13,750 get_entries_for_keycode(31)=()
2024-12-21 19:31:13,750 keycode  32: [(32, 'space', 32, 0, 0), (32, 'space', 32, 0, 1)]
2024-12-21 19:31:13,750 keycode  33: [(65365, 'Page_Up', 33, 0, 0)]
2024-12-21 19:31:13,750 keycode  34: [(65366, 'Page_Down', 34, 0, 0)]
2024-12-21 19:31:13,751 keycode  35: [(65367, 'End', 35, 0, 0)]
2024-12-21 19:31:13,751 keycode  36: [(65360, 'Home', 36, 0, 0)]
2024-12-21 19:31:13,752 keycode  37: [(65361, 'Left', 37, 0, 0)]
2024-12-21 19:31:13,753 keycode  38: [(65362, 'Up', 38, 0, 0)]
2024-12-21 19:31:13,754 keycode  39: [(65363, 'Right', 39, 0, 0)]
2024-12-21 19:31:13,754 keycode  40: [(65364, 'Down', 40, 0, 0)]
2024-12-21 19:31:13,755 keycode  41: [(65376, 'Select', 41, 0, 0)]
2024-12-21 19:31:13,755 keycode  42: [(65377, 'Print', 42, 0, 0)]
2024-12-21 19:31:13,758 keycode  43: [(65378, 'Execute', 43, 0, 0)]
2024-12-21 19:31:13,760 keycode  44: [(65377, 'Print', 44, 0, 0)]
2024-12-21 19:31:13,761 keycode  45: [(65379, 'Insert', 45, 0, 0)]
2024-12-21 19:31:13,764 keycode  46: [(65535, 'Delete', 46, 0, 0)]
2024-12-21 19:31:13,764 keycode  47: [(65386, 'Help', 47, 0, 0)]
2024-12-21 19:31:13,765 keycode  48: [(48, '0', 48, 0, 0), (61, 'equal', 48, 0, 1), (125, 'braceright', 48, 0, 2)]
2024-12-21 19:31:13,765 keycode  49: [(49, '1', 49, 0, 0), (33, 'exclam', 49, 0, 1)]
2024-12-21 19:31:13,766 keycode  50: [(50, '2', 50, 0, 0), (34, 'quotedbl', 50, 0, 1), (178, 'twosuperior', 50, 0, 2)]
2024-12-21 19:31:13,767 keycode  51: [(51, '3', 51, 0, 0), (167, 'section', 51, 0, 1), (179, 'threesuperior', 51, 0, 2)]
2024-12-21 19:31:13,767 keycode  52: [(52, '4', 52, 0, 0), (36, 'dollar', 52, 0, 1)]
2024-12-21 19:31:13,768 keycode  53: [(53, '5', 53, 0, 0), (37, 'percent', 53, 0, 1)]
2024-12-21 19:31:13,768 keycode  54: [(54, '6', 54, 0, 0), (38, 'ampersand', 54, 0, 1)]
2024-12-21 19:31:13,769 keycode  55: [(55, '7', 55, 0, 0), (47, 'slash', 55, 0, 1), (123, 'braceleft', 55, 0, 2)]
2024-12-21 19:31:13,769 keycode  56: [(56, '8', 56, 0, 0), (40, 'parenleft', 56, 0, 1), (91, 'bracketleft', 56, 0, 2)]
2024-12-21 19:31:13,770 keycode  57: [(57, '9', 57, 0, 0), (41, 'parenright', 57, 0, 1), (93, 'bracketright', 57, 0, 2)]
2024-12-21 19:31:13,770 get_entries_for_keycode(58)=()
2024-12-21 19:31:13,771 get_entries_for_keycode(59)=()
2024-12-21 19:31:13,772 get_entries_for_keycode(60)=()
2024-12-21 19:31:13,778 get_entries_for_keycode(61)=()
2024-12-21 19:31:13,781 get_entries_for_keycode(62)=()
2024-12-21 19:31:13,782 get_entries_for_keycode(63)=()
2024-12-21 19:31:13,783 get_entries_for_keycode(64)=()
2024-12-21 19:31:13,784 keycode  65: [(97, 'a', 65, 0, 0), (65, 'A', 65, 0, 1)]
2024-12-21 19:31:13,787 keycode  66: [(98, 'b', 66, 0, 0), (66, 'B', 66, 0, 1)]
2024-12-21 19:31:13,788 keycode  67: [(99, 'c', 67, 0, 0), (67, 'C', 67, 0, 1)]
2024-12-21 19:31:13,796 keycode  68: [(100, 'd', 68, 0, 0), (68, 'D', 68, 0, 1)]
2024-12-21 19:31:13,799 keycode  69: [(101, 'e', 69, 0, 0), (69, 'E', 69, 0, 1), (8364, 'EuroSign', 69, 0, 2)]
2024-12-21 19:31:13,800 keycode  70: [(102, 'f', 70, 0, 0), (70, 'F', 70, 0, 1)]
2024-12-21 19:31:13,802 keycode  71: [(103, 'g', 71, 0, 0), (71, 'G', 71, 0, 1)]
2024-12-21 19:31:13,803 keycode  72: [(104, 'h', 72, 0, 0), (72, 'H', 72, 0, 1)]
2024-12-21 19:31:13,803 keycode  73: [(105, 'i', 73, 0, 0), (73, 'I', 73, 0, 1)]
2024-12-21 19:31:13,804 keycode  74: [(106, 'j', 74, 0, 0), (74, 'J', 74, 0, 1)]
2024-12-21 19:31:13,804 keycode  75: [(107, 'k', 75, 0, 0), (75, 'K', 75, 0, 1)]
2024-12-21 19:31:13,805 keycode  76: [(108, 'l', 76, 0, 0), (76, 'L', 76, 0, 1)]
2024-12-21 19:31:13,805 keycode  77: [(109, 'm', 77, 0, 0), (77, 'M', 77, 0, 1), (181, 'mu', 77, 0, 2)]
2024-12-21 19:31:13,805 keycode  78: [(110, 'n', 78, 0, 0), (78, 'N', 78, 0, 1)]
2024-12-21 19:31:13,812 keycode  79: [(111, 'o', 79, 0, 0), (79, 'O', 79, 0, 1)]
2024-12-21 19:31:13,813 keycode  80: [(112, 'p', 80, 0, 0), (80, 'P', 80, 0, 1)]
2024-12-21 19:31:13,815 keycode  81: [(113, 'q', 81, 0, 0), (81, 'Q', 81, 0, 1), (64, 'at', 81, 0, 2)]
2024-12-21 19:31:13,815 keycode  82: [(114, 'r', 82, 0, 0), (82, 'R', 82, 0, 1)]
2024-12-21 19:31:13,816 keycode  83: [(115, 's', 83, 0, 0), (83, 'S', 83, 0, 1)]
2024-12-21 19:31:13,816 keycode  84: [(116, 't', 84, 0, 0), (84, 'T', 84, 0, 1)]
2024-12-21 19:31:13,817 keycode  85: [(117, 'u', 85, 0, 0), (85, 'U', 85, 0, 1)]
2024-12-21 19:31:13,818 keycode  86: [(118, 'v', 86, 0, 0), (86, 'V', 86, 0, 1)]
2024-12-21 19:31:13,819 keycode  87: [(119, 'w', 87, 0, 0), (87, 'W', 87, 0, 1)]
2024-12-21 19:31:13,819 keycode  88: [(120, 'x', 88, 0, 0), (88, 'X', 88, 0, 1)]
2024-12-21 19:31:13,820 keycode  89: [(121, 'y', 89, 0, 0), (89, 'Y', 89, 0, 1)]
2024-12-21 19:31:13,820 keycode  90: [(122, 'z', 90, 0, 0), (90, 'Z', 90, 0, 1)]
2024-12-21 19:31:13,821 keycode  91: [(65511, 'Meta_L', 91, 0, 0)]
2024-12-21 19:31:13,822 keycode  92: [(65512, 'Meta_R', 92, 0, 0)]
2024-12-21 19:31:13,822 keycode  93: [(65383, 'Menu', 93, 0, 0)]
2024-12-21 19:31:13,827 get_entries_for_keycode(94)=()
2024-12-21 19:31:13,828 get_entries_for_keycode(95)=()
2024-12-21 19:31:13,829 keycode  96: [(65456, 'KP_0', 96, 0, 0)]
2024-12-21 19:31:13,830 keycode  97: [(65457, 'KP_1', 97, 0, 0)]
2024-12-21 19:31:13,831 keycode  98: [(65458, 'KP_2', 98, 0, 0)]
2024-12-21 19:31:13,832 keycode  99: [(65459, 'KP_3', 99, 0, 0)]
2024-12-21 19:31:13,833 keycode 100: [(65460, 'KP_4', 100, 0, 0)]
2024-12-21 19:31:13,834 keycode 101: [(65461, 'KP_5', 101, 0, 0)]
2024-12-21 19:31:13,834 keycode 102: [(65462, 'KP_6', 102, 0, 0)]
2024-12-21 19:31:13,835 keycode 103: [(65463, 'KP_7', 103, 0, 0)]
2024-12-21 19:31:13,835 keycode 104: [(65464, 'KP_8', 104, 0, 0)]
2024-12-21 19:31:13,836 keycode 105: [(65465, 'KP_9', 105, 0, 0)]
2024-12-21 19:31:13,836 keycode 106: [(65450, 'KP_Multiply', 106, 0, 0)]
2024-12-21 19:31:13,837 keycode 107: [(65451, 'KP_Add', 107, 0, 0)]
2024-12-21 19:31:13,837 keycode 108: [(65452, 'KP_Separator', 108, 0, 0)]
2024-12-21 19:31:13,838 keycode 109: [(65453, 'KP_Subtract', 109, 0, 0)]
2024-12-21 19:31:13,838 keycode 110: [(65454, 'KP_Decimal', 110, 0, 0)]
2024-12-21 19:31:13,839 keycode 111: [(65455, 'KP_Divide', 111, 0, 0)]
2024-12-21 19:31:13,839 keycode 112: [(65470, 'F1', 112, 0, 0)]
2024-12-21 19:31:13,842 keycode 113: [(65471, 'F2', 113, 0, 0)]
2024-12-21 19:31:13,843 keycode 114: [(65472, 'F3', 114, 0, 0)]
2024-12-21 19:31:13,844 keycode 115: [(65473, 'F4', 115, 0, 0)]
2024-12-21 19:31:13,846 keycode 116: [(65474, 'F5', 116, 0, 0)]
2024-12-21 19:31:13,847 keycode 117: [(65475, 'F6', 117, 0, 0)]
2024-12-21 19:31:13,847 keycode 118: [(65476, 'F7', 118, 0, 0)]
2024-12-21 19:31:13,848 keycode 119: [(65477, 'F8', 119, 0, 0)]
2024-12-21 19:31:13,848 keycode 120: [(65478, 'F9', 120, 0, 0)]
2024-12-21 19:31:13,849 keycode 121: [(65479, 'F10', 121, 0, 0)]
2024-12-21 19:31:13,850 keycode 122: [(65480, 'F11', 122, 0, 0)]
2024-12-21 19:31:13,850 keycode 123: [(65481, 'F12', 123, 0, 0)]
2024-12-21 19:31:13,851 keycode 124: [(65482, 'F13', 124, 0, 0)]
2024-12-21 19:31:13,851 keycode 125: [(65483, 'F14', 125, 0, 0)]
2024-12-21 19:31:13,852 keycode 126: [(65484, 'F15', 126, 0, 0)]
2024-12-21 19:31:13,852 keycode 127: [(65485, 'F16', 127, 0, 0)]
2024-12-21 19:31:13,852 keycode 128: [(65486, 'F17', 128, 0, 0)]
2024-12-21 19:31:13,853 keycode 129: [(65487, 'F18', 129, 0, 0)]
2024-12-21 19:31:13,853 keycode 130: [(65488, 'F19', 130, 0, 0)]
2024-12-21 19:31:13,854 keycode 131: [(65489, 'F20', 131, 0, 0)]
2024-12-21 19:31:13,854 keycode 132: [(65490, 'F21', 132, 0, 0)]
2024-12-21 19:31:13,854 keycode 133: [(65491, 'F22', 133, 0, 0)]
2024-12-21 19:31:13,855 keycode 134: [(65492, 'F23', 134, 0, 0)]
2024-12-21 19:31:13,855 keycode 135: [(65493, 'F24', 135, 0, 0)]
2024-12-21 19:31:13,855 get_entries_for_keycode(136)=()
2024-12-21 19:31:13,860 get_entries_for_keycode(137)=()
2024-12-21 19:31:13,861 get_entries_for_keycode(138)=()
2024-12-21 19:31:13,862 get_entries_for_keycode(139)=()
2024-12-21 19:31:13,863 get_entries_for_keycode(140)=()
2024-12-21 19:31:13,864 get_entries_for_keycode(141)=()
2024-12-21 19:31:13,865 get_entries_for_keycode(142)=()
2024-12-21 19:31:13,866 get_entries_for_keycode(143)=()
2024-12-21 19:31:13,867 keycode 144: [(65407, 'Num_Lock', 144, 0, 0)]
2024-12-21 19:31:13,867 keycode 145: [(65300, 'Scroll_Lock', 145, 0, 0)]
2024-12-21 19:31:13,868 get_entries_for_keycode(146)=()
2024-12-21 19:31:13,868 get_entries_for_keycode(147)=()
2024-12-21 19:31:13,868 get_entries_for_keycode(148)=()
2024-12-21 19:31:13,869 get_entries_for_keycode(149)=()
2024-12-21 19:31:13,869 get_entries_for_keycode(150)=()
2024-12-21 19:31:13,869 get_entries_for_keycode(151)=()
2024-12-21 19:31:13,870 get_entries_for_keycode(152)=()
2024-12-21 19:31:13,870 get_entries_for_keycode(153)=()
2024-12-21 19:31:13,870 get_entries_for_keycode(154)=()
2024-12-21 19:31:13,871 get_entries_for_keycode(155)=()
2024-12-21 19:31:13,871 get_entries_for_keycode(156)=()
2024-12-21 19:31:13,871 get_entries_for_keycode(157)=()
2024-12-21 19:31:13,872 get_entries_for_keycode(158)=()
2024-12-21 19:31:13,872 get_entries_for_keycode(159)=()
2024-12-21 19:31:13,875 keycode 160: [(65505, 'Shift_L', 160, 0, 0)]
2024-12-21 19:31:13,876 keycode 161: [(65506, 'Shift_R', 161, 0, 0)]
2024-12-21 19:31:13,878 keycode 162: [(65507, 'Control_L', 162, 0, 0)]
2024-12-21 19:31:13,879 keycode 163: [(65508, 'Control_R', 163, 0, 0)]
2024-12-21 19:31:13,880 keycode 164: [(65513, 'Alt_L', 164, 0, 0)]
2024-12-21 19:31:13,881 keycode 165: [(65514, 'Alt_R', 165, 0, 0)]
2024-12-21 19:31:13,882 get_entries_for_keycode(166)=()
2024-12-21 19:31:13,883 get_entries_for_keycode(167)=()
2024-12-21 19:31:13,883 get_entries_for_keycode(168)=()
2024-12-21 19:31:13,883 get_entries_for_keycode(169)=()
2024-12-21 19:31:13,884 get_entries_for_keycode(170)=()
2024-12-21 19:31:13,884 get_entries_for_keycode(171)=()
2024-12-21 19:31:13,885 get_entries_for_keycode(172)=()
2024-12-21 19:31:13,885 get_entries_for_keycode(173)=()
2024-12-21 19:31:13,886 get_entries_for_keycode(174)=()
2024-12-21 19:31:13,886 get_entries_for_keycode(175)=()
2024-12-21 19:31:13,887 get_entries_for_keycode(176)=()
2024-12-21 19:31:13,887 get_entries_for_keycode(177)=()
2024-12-21 19:31:13,887 get_entries_for_keycode(178)=()
2024-12-21 19:31:13,888 get_entries_for_keycode(179)=()
2024-12-21 19:31:13,888 get_entries_for_keycode(180)=()
2024-12-21 19:31:13,888 get_entries_for_keycode(181)=()
2024-12-21 19:31:13,888 get_entries_for_keycode(182)=()
2024-12-21 19:31:13,888 get_entries_for_keycode(183)=()
2024-12-21 19:31:13,888 get_entries_for_keycode(184)=()
2024-12-21 19:31:13,888 get_entries_for_keycode(185)=()
2024-12-21 19:31:13,893 keycode 186: [(252, 'udiaeresis', 186, 0, 0), (220, 'Udiaeresis', 186, 0, 1)]
2024-12-21 19:31:13,895 keycode 187: [(43, 'plus', 187, 0, 0), (42, 'asterisk', 187, 0, 1), (126, 'asciitilde', 187, 0, 2)]
2024-12-21 19:31:13,898 keycode 188: [(44, 'comma', 188, 0, 0), (59, 'semicolon', 188, 0, 1)]
2024-12-21 19:31:13,903 keycode 189: [(45, 'minus', 189, 0, 0), (95, 'underscore', 189, 0, 1)]
2024-12-21 19:31:13,904 keycode 190: [(46, 'period', 190, 0, 0), (58, 'colon', 190, 0, 1)]
2024-12-21 19:31:13,913 keycode 191: [(35, 'numbersign', 191, 0, 0), (39, 'apostrophe', 191, 0, 1)]
2024-12-21 19:31:13,915 keycode 192: [(246, 'odiaeresis', 192, 0, 0), (214, 'Odiaeresis', 192, 0, 1)]
2024-12-21 19:31:13,915 get_entries_for_keycode(193)=()
2024-12-21 19:31:13,915 get_entries_for_keycode(194)=()
2024-12-21 19:31:13,916 get_entries_for_keycode(195)=()
2024-12-21 19:31:13,916 get_entries_for_keycode(196)=()
2024-12-21 19:31:13,917 get_entries_for_keycode(197)=()
2024-12-21 19:31:13,917 get_entries_for_keycode(198)=()
2024-12-21 19:31:13,918 get_entries_for_keycode(199)=()
2024-12-21 19:31:13,918 get_entries_for_keycode(200)=()
2024-12-21 19:31:13,918 get_entries_for_keycode(201)=()
2024-12-21 19:31:13,919 get_entries_for_keycode(202)=()
2024-12-21 19:31:13,919 get_entries_for_keycode(203)=()
2024-12-21 19:31:13,919 get_entries_for_keycode(204)=()
2024-12-21 19:31:13,920 get_entries_for_keycode(205)=()
2024-12-21 19:31:13,920 get_entries_for_keycode(206)=()
2024-12-21 19:31:13,920 get_entries_for_keycode(207)=()
2024-12-21 19:31:13,920 get_entries_for_keycode(208)=()
2024-12-21 19:31:13,921 get_entries_for_keycode(209)=()
2024-12-21 19:31:13,921 get_entries_for_keycode(210)=()
2024-12-21 19:31:13,921 get_entries_for_keycode(211)=()
2024-12-21 19:31:13,922 get_entries_for_keycode(212)=()
2024-12-21 19:31:13,923 get_entries_for_keycode(213)=()
2024-12-21 19:31:13,929 get_entries_for_keycode(214)=()
2024-12-21 19:31:13,930 get_entries_for_keycode(215)=()
2024-12-21 19:31:13,930 get_entries_for_keycode(216)=()
2024-12-21 19:31:13,931 get_entries_for_keycode(217)=()
2024-12-21 19:31:13,933 get_entries_for_keycode(218)=()
2024-12-21 19:31:13,935 keycode 219: [(223, 'ssharp', 219, 0, 0), (63, 'question', 219, 0, 1), (92, 'backslash', 219, 0, 2), (16785054, 'U+1E9E', 219, 0, 5)]
2024-12-21 19:31:13,936 keycode 220: [(65106, 'dead_circumflex', 220, 0, 0), (176, 'degree', 220, 0, 1)]
2024-12-21 19:31:13,936 keycode 221: [(65105, 'dead_acute', 221, 0, 0), (65104, 'dead_grave', 221, 0, 1)]
2024-12-21 19:31:13,937 keycode 222: [(228, 'adiaeresis', 222, 0, 0), (196, 'Adiaeresis', 222, 0, 1)]
2024-12-21 19:31:13,937 get_entries_for_keycode(223)=()
2024-12-21 19:31:13,938 get_entries_for_keycode(224)=()
2024-12-21 19:31:13,938 get_entries_for_keycode(225)=()
2024-12-21 19:31:13,942 keycode 226: [(60, 'less', 226, 0, 0), (62, 'greater', 226, 0, 1), (124, 'bar', 226, 0, 2)]
2024-12-21 19:31:13,942 get_entries_for_keycode(227)=()
2024-12-21 19:31:13,943 get_entries_for_keycode(228)=()
2024-12-21 19:31:13,943 get_entries_for_keycode(229)=()
2024-12-21 19:31:13,944 get_entries_for_keycode(230)=()
2024-12-21 19:31:13,945 get_entries_for_keycode(231)=()
2024-12-21 19:31:13,946 get_entries_for_keycode(232)=()
2024-12-21 19:31:13,948 get_entries_for_keycode(233)=()
2024-12-21 19:31:13,948 get_entries_for_keycode(234)=()
2024-12-21 19:31:13,948 get_entries_for_keycode(235)=()
2024-12-21 19:31:13,949 get_entries_for_keycode(236)=()
2024-12-21 19:31:13,949 get_entries_for_keycode(237)=()
2024-12-21 19:31:13,949 get_entries_for_keycode(238)=()
2024-12-21 19:31:13,950 get_entries_for_keycode(239)=()
2024-12-21 19:31:13,950 get_entries_for_keycode(240)=()
2024-12-21 19:31:13,950 get_entries_for_keycode(241)=()
2024-12-21 19:31:13,951 get_entries_for_keycode(242)=()
2024-12-21 19:31:13,951 get_entries_for_keycode(243)=()
2024-12-21 19:31:13,952 get_entries_for_keycode(244)=()
2024-12-21 19:31:13,953 get_entries_for_keycode(245)=()
2024-12-21 19:31:13,953 get_entries_for_keycode(246)=()
2024-12-21 19:31:13,953 get_entries_for_keycode(247)=()
2024-12-21 19:31:13,954 get_entries_for_keycode(248)=()
2024-12-21 19:31:13,954 get_entries_for_keycode(249)=()
2024-12-21 19:31:13,954 get_entries_for_keycode(250)=()
2024-12-21 19:31:13,955 get_entries_for_keycode(251)=()
2024-12-21 19:31:13,955 get_entries_for_keycode(252)=()
2024-12-21 19:31:13,955 get_entries_for_keycode(253)=()
2024-12-21 19:31:13,960 get_entries_for_keycode(254)=()
2024-12-21 19:31:13,967 keycode 255: [(94, 'asciicircum', 255, 0, 0)]
2024-12-21 19:31:13,969 get_gtk_keymap(('', 'VoidSymbol', '0xffffff'))=[(65385, 'Cancel', 3, 0, 0), (65288, 'BackSpace', 8, 0, 0), (65289, 'Tab', 9, 0, 0), (65056, 'ISO_Left_Tab', 9, 0, 1), (65291, 'Clear', 12, 0, 0), (65293, 'Return', 13, 0, 0), (65505, 'Shift_L', 16, 0, 0), (65507, 'Control_L', 17, 0, 0), (65513, 'Alt_L', 18, 0, 0), (65299, 'Pause', 19, 0, 0), (65509, 'Caps_Lock', 20, 0, 0), (65307, 'Escape', 27, 0, 0), (32, 'space', 32, 0, 0), (32, 'space', 32, 0, 1), (65365, 'Page_Up', 33, 0, 0), (65366, 'Page_Down', 34, 0, 0), (65367, 'End', 35, 0, 0), (65360, 'Home', 36, 0, 0), (65361, 'Left', 37, 0, 0), (65362, 'Up', 38, 0, 0), (65363, 'Right', 39, 0, 0), (65364, 'Down', 40, 0, 0), (65376, 'Select', 41, 0, 0), (65377, 'Print', 42, 0, 0), (65378, 'Execute', 43, 0, 0), (65377, 'Print', 44, 0, 0), (65379, 'Insert', 45, 0, 0), (65535, 'Delete', 46, 0, 0), (65386, 'Help', 47, 0, 0), (48, '0', 48, 0, 0), (61, 'equal', 48, 0, 1), (125, 'braceright', 48, 0, 2), (49, '1', 49, 0, 0), (33, 'exclam', 49, 0, 1), (50, '2', 50, 0, 0), (34, 'quotedbl', 50, 0, 1), (178, 'twosuperior', 50, 0, 2), (51, '3', 51, 0, 0), (167, 'section', 51, 0, 1), (179, 'threesuperior', 51, 0, 2), (52, '4', 52, 0, 0), (36, 'dollar', 52, 0, 1), (53, '5', 53, 0, 0), (37, 'percent', 53, 0, 1), (54, '6', 54, 0, 0), (38, 'ampersand', 54, 0, 1), (55, '7', 55, 0, 0), (47, 'slash', 55, 0, 1), (123, 'braceleft', 55, 0, 2), (56, '8', 56, 0, 0), (40, 'parenleft', 56, 0, 1), (91, 'bracketleft', 56, 0, 2), (57, '9', 57, 0, 0), (41, 'parenright', 57, 0, 1), (93, 'bracketright', 57, 0, 2), (97, 'a', 65, 0, 0), (65, 'A', 65, 0, 1), (98, 'b', 66, 0, 0), (66, 'B', 66, 0, 1), (99, 'c', 67, 0, 0), (67, 'C', 67, 0, 1), (100, 'd', 68, 0, 0), (68, 'D', 68, 0, 1), (101, 'e', 69, 0, 0), (69, 'E', 69, 0, 1), (8364, 'EuroSign', 69, 0, 2), (102, 'f', 70, 0, 0), (70, 'F', 70, 0, 1), (103, 'g', 71, 0, 0), (71, 'G', 71, 0, 1), (104, 'h', 72, 0, 0), (72, 'H', 72, 0, 1), (105, 'i', 73, 0, 0), (73, 'I', 73, 0, 1), (106, 'j', 74, 0, 0), (74, 'J', 74, 0, 1), (107, 'k', 75, 0, 0), (75, 'K', 75, 0, 1), (108, 'l', 76, 0, 0), (76, 'L', 76, 0, 1), (109, 'm', 77, 0, 0), (77, 'M', 77, 0, 1), (181, 'mu', 77, 0, 2), (110, 'n', 78, 0, 0), (78, 'N', 78, 0, 1), (111, 'o', 79, 0, 0), (79, 'O', 79, 0, 1), (112, 'p', 80, 0, 0), (80, 'P', 80, 0, 1), (113, 'q', 81, 0, 0), (81, 'Q', 81, 0, 1), (64, 'at', 81, 0, 2), (114, 'r', 82, 0, 0), (82, 'R', 82, 0, 1), (115, 's', 83, 0, 0), (83, 'S', 83, 0, 1), (116, 't', 84, 0, 0), (84, 'T', 84, 0, 1), (117, 'u', 85, 0, 0), (85, 'U', 85, 0, 1), (118, 'v', 86, 0, 0), (86, 'V', 86, 0, 1), (119, 'w', 87, 0, 0), (87, 'W', 87, 0, 1), (120, 'x', 88, 0, 0), (88, 'X', 88, 0, 1), (121, 'y', 89, 0, 0), (89, 'Y', 89, 0, 1), (122, 'z', 90, 0, 0), (90, 'Z', 90, 0, 1), (65511, 'Meta_L', 91, 0, 0), (65512, 'Meta_R', 92, 0, 0), (65383, 'Menu', 93, 0, 0), (65456, 'KP_0', 96, 0, 0), (65457, 'KP_1', 97, 0, 0), (65458, 'KP_2', 98, 0, 0), (65459, 'KP_3', 99, 0, 0), (65460, 'KP_4', 100, 0, 0), (65461, 'KP_5', 101, 0, 0), (65462, 'KP_6', 102, 0, 0), (65463, 'KP_7', 103, 0, 0), (65464, 'KP_8', 104, 0, 0), (65465, 'KP_9', 105, 0, 0), (65450, 'KP_Multiply', 106, 0, 0), (65451, 'KP_Add', 107, 0, 0), (65452, 'KP_Separator', 108, 0, 0), (65453, 'KP_Subtract', 109, 0, 0), (65454, 'KP_Decimal', 110, 0, 0), (65455, 'KP_Divide', 111, 0, 0), (65470, 'F1', 112, 0, 0), (65471, 'F2', 113, 0, 0), (65472, 'F3', 114, 0, 0), (65473, 'F4', 115, 0, 0), (65474, 'F5', 116, 0, 0), (65475, 'F6', 117, 0, 0), (65476, 'F7', 118, 0, 0), (65477, 'F8', 119, 0, 0), (65478, 'F9', 120, 0, 0), (65479, 'F10', 121, 0, 0), (65480, 'F11', 122, 0, 0), (65481, 'F12', 123, 0, 0), (65482, 'F13', 124, 0, 0), (65483, 'F14', 125, 0, 0), (65484, 'F15', 126, 0, 0), (65485, 'F16', 127, 0, 0), (65486, 'F17', 128, 0, 0), (65487, 'F18', 129, 0, 0), (65488, 'F19', 130, 0, 0), (65489, 'F20', 131, 0, 0), (65490, 'F21', 132, 0, 0), (65491, 'F22', 133, 0, 0), (65492, 'F23', 134, 0, 0), (65493, 'F24', 135, 0, 0), (65407, 'Num_Lock', 144, 0, 0), (65300, 'Scroll_Lock', 145, 0, 0), (65505, 'Shift_L', 160, 0, 0), (65506, 'Shift_R', 161, 0, 0), (65507, 'Control_L', 162, 0, 0), (65508, 'Control_R', 163, 0, 0), (65513, 'Alt_L', 164, 0, 0), (65514, 'Alt_R', 165, 0, 0), (252, 'udiaeresis', 186, 0, 0), (220, 'Udiaeresis', 186, 0, 1), (43, 'plus', 187, 0, 0), (42, 'asterisk', 187, 0, 1), (126, 'asciitilde', 187, 0, 2), (44, 'comma', 188, 0, 0), (59, 'semicolon', 188, 0, 1), (45, 'minus', 189, 0, 0), (95, 'underscore', 189, 0, 1), (46, 'period', 190, 0, 0), (58, 'colon', 190, 0, 1), (35, 'numbersign', 191, 0, 0), (39, 'apostrophe', 191, 0, 1), (246, 'odiaeresis', 192, 0, 0), (214, 'Odiaeresis', 192, 0, 1), (223, 'ssharp', 219, 0, 0), (63, 'question', 219, 0, 1), (92, 'backslash', 219, 0, 2), (16785054, 'U+1E9E', 219, 0, 5), (65106, 'dead_circumflex', 220, 0, 0), (176, 'degree', 220, 0, 1), (65105, 'dead_acute', 221, 0, 0), (65104, 'dead_grave', 221, 0, 1), (228, 'adiaeresis', 222, 0, 0), (196, 'Adiaeresis', 222, 0, 1), (60, 'less', 226, 0, 0), (62, 'greater', 226, 0, 1), (124, 'bar', 226, 0, 2), (94, 'asciicircum', 255, 0, 0)] (keymap=<__gi__.GdkWin32Keymap object at 0x0000017ba3f1aac0 (GdkWin32Keymap at 0x0000017b9f259160)>)
2024-12-21 19:31:13,979 query_xkbmap() keycodes=((65385, 'Cancel', 3, 0, 0), (65288, 'BackSpace', 8, 0, 0), (65289, 'Tab', 9, 0, 0), (65056, 'ISO_Left_Tab', 9, 0, 1), (65291, 'Clear', 12, 0, 0), (65293, 'Return', 13, 0, 0), (65505, 'Shift_L', 16, 0, 0), (65507, 'Control_L', 17, 0, 0), (65513, 'Alt_L', 18, 0, 0), (65299, 'Pause', 19, 0, 0), (65509, 'Caps_Lock', 20, 0, 0), (65307, 'Escape', 27, 0, 0), (32, 'space', 32, 0, 0), (32, 'space', 32, 0, 1), (65365, 'Page_Up', 33, 0, 0), (65366, 'Page_Down', 34, 0, 0), (65367, 'End', 35, 0, 0), (65360, 'Home', 36, 0, 0), (65361, 'Left', 37, 0, 0), (65362, 'Up', 38, 0, 0), (65363, 'Right', 39, 0, 0), (65364, 'Down', 40, 0, 0), (65376, 'Select', 41, 0, 0), (65377, 'Print', 42, 0, 0), (65378, 'Execute', 43, 0, 0), (65377, 'Print', 44, 0, 0), (65379, 'Insert', 45, 0, 0), (65535, 'Delete', 46, 0, 0), (65386, 'Help', 47, 0, 0), (48, '0', 48, 0, 0), (61, 'equal', 48, 0, 1), (125, 'braceright', 48, 0, 2), (49, '1', 49, 0, 0), (33, 'exclam', 49, 0, 1), (50, '2', 50, 0, 0), (34, 'quotedbl', 50, 0, 1), (178, 'twosuperior', 50, 0, 2), (51, '3', 51, 0, 0), (167, 'section', 51, 0, 1), (179, 'threesuperior', 51, 0, 2), (52, '4', 52, 0, 0), (36, 'dollar', 52, 0, 1), (53, '5', 53, 0, 0), (37, 'percent', 53, 0, 1), (54, '6', 54, 0, 0), (38, 'ampersand', 54, 0, 1), (55, '7', 55, 0, 0), (47, 'slash', 55, 0, 1), (123, 'braceleft', 55, 0, 2), (56, '8', 56, 0, 0), (40, 'parenleft', 56, 0, 1), (91, 'bracketleft', 56, 0, 2), (57, '9', 57, 0, 0), (41, 'parenright', 57, 0, 1), (93, 'bracketright', 57, 0, 2), (97, 'a', 65, 0, 0), (65, 'A', 65, 0, 1), (98, 'b', 66, 0, 0), (66, 'B', 66, 0, 1), (99, 'c', 67, 0, 0), (67, 'C', 67, 0, 1), (100, 'd', 68, 0, 0), (68, 'D', 68, 0, 1), (101, 'e', 69, 0, 0), (69, 'E', 69, 0, 1), (8364, 'EuroSign', 69, 0, 2), (102, 'f', 70, 0, 0), (70, 'F', 70, 0, 1), (103, 'g', 71, 0, 0), (71, 'G', 71, 0, 1), (104, 'h', 72, 0, 0), (72, 'H', 72, 0, 1), (105, 'i', 73, 0, 0), (73, 'I', 73, 0, 1), (106, 'j', 74, 0, 0), (74, 'J', 74, 0, 1), (107, 'k', 75, 0, 0), (75, 'K', 75, 0, 1), (108, 'l', 76, 0, 0), (76, 'L', 76, 0, 1), (109, 'm', 77, 0, 0), (77, 'M', 77, 0, 1), (181, 'mu', 77, 0, 2), (110, 'n', 78, 0, 0), (78, 'N', 78, 0, 1), (111, 'o', 79, 0, 0), (79, 'O', 79, 0, 1), (112, 'p', 80, 0, 0), (80, 'P', 80, 0, 1), (113, 'q', 81, 0, 0), (81, 'Q', 81, 0, 1), (64, 'at', 81, 0, 2), (114, 'r', 82, 0, 0), (82, 'R', 82, 0, 1), (115, 's', 83, 0, 0), (83, 'S', 83, 0, 1), (116, 't', 84, 0, 0), (84, 'T', 84, 0, 1), (117, 'u', 85, 0, 0), (85, 'U', 85, 0, 1), (118, 'v', 86, 0, 0), (86, 'V', 86, 0, 1), (119, 'w', 87, 0, 0), (87, 'W', 87, 0, 1), (120, 'x', 88, 0, 0), (88, 'X', 88, 0, 1), (121, 'y', 89, 0, 0), (89, 'Y', 89, 0, 1), (122, 'z', 90, 0, 0), (90, 'Z', 90, 0, 1), (65511, 'Meta_L', 91, 0, 0), (65512, 'Meta_R', 92, 0, 0), (65383, 'Menu', 93, 0, 0), (65456, 'KP_0', 96, 0, 0), (65457, 'KP_1', 97, 0, 0), (65458, 'KP_2', 98, 0, 0), (65459, 'KP_3', 99, 0, 0), (65460, 'KP_4', 100, 0, 0), (65461, 'KP_5', 101, 0, 0), (65462, 'KP_6', 102, 0, 0), (65463, 'KP_7', 103, 0, 0), (65464, 'KP_8', 104, 0, 0), (65465, 'KP_9', 105, 0, 0), (65450, 'KP_Multiply', 106, 0, 0), (65451, 'KP_Add', 107, 0, 0), (65452, 'KP_Separator', 108, 0, 0), (65453, 'KP_Subtract', 109, 0, 0), (65454, 'KP_Decimal', 110, 0, 0), (65455, 'KP_Divide', 111, 0, 0), (65470, 'F1', 112, 0, 0), (65471, 'F2', 113, 0, 0), (65472, 'F3', 114, 0, 0), (65473, 'F4', 115, 0, 0), (65474, 'F5', 116, 0, 0), (65475, 'F6', 117, 0, 0), (65476, 'F7', 118, 0, 0), (65477, 'F8', 119, 0, 0), (65478, 'F9', 120, 0, 0), (65479, 'F10', 121, 0, 0), (65480, 'F11', 122, 0, 0), (65481, 'F12', 123, 0, 0), (65482, 'F13', 124, 0, 0), (65483, 'F14', 125, 0, 0), (65484, 'F15', 126, 0, 0), (65485, 'F16', 127, 0, 0), (65486, 'F17', 128, 0, 0), (65487, 'F18', 129, 0, 0), (65488, 'F19', 130, 0, 0), (65489, 'F20', 131, 0, 0), (65490, 'F21', 132, 0, 0), (65491, 'F22', 133, 0, 0), (65492, 'F23', 134, 0, 0), (65493, 'F24', 135, 0, 0), (65407, 'Num_Lock', 144, 0, 0), (65300, 'Scroll_Lock', 145, 0, 0), (65505, 'Shift_L', 160, 0, 0), (65506, 'Shift_R', 161, 0, 0), (65507, 'Control_L', 162, 0, 0), (65508, 'Control_R', 163, 0, 0), (65513, 'Alt_L', 164, 0, 0), (65514, 'Alt_R', 165, 0, 0), (252, 'udiaeresis', 186, 0, 0), (220, 'Udiaeresis', 186, 0, 1), (43, 'plus', 187, 0, 0), (42, 'asterisk', 187, 0, 1), (126, 'asciitilde', 187, 0, 2), (44, 'comma', 188, 0, 0), (59, 'semicolon', 188, 0, 1), (45, 'minus', 189, 0, 0), (95, 'underscore', 189, 0, 1), (46, 'period', 190, 0, 0), (58, 'colon', 190, 0, 1), (35, 'numbersign', 191, 0, 0), (39, 'apostrophe', 191, 0, 1), (246, 'odiaeresis', 192, 0, 0), (214, 'Odiaeresis', 192, 0, 1), (223, 'ssharp', 219, 0, 0), (63, 'question', 219, 0, 1), (92, 'backslash', 219, 0, 2), (16785054, 'U+1E9E', 219, 0, 5), (65106, 'dead_circumflex', 220, 0, 0), (176, 'degree', 220, 0, 1), (65105, 'dead_acute', 221, 0, 0), (65104, 'dead_grave', 221, 0, 1), (228, 'adiaeresis', 222, 0, 0), (196, 'Adiaeresis', 222, 0, 1), (60, 'less', 226, 0, 0), (62, 'greater', 226, 0, 1), (124, 'bar', 226, 0, 2), (94, 'asciicircum', 255, 0, 0))
2024-12-21 19:31:13,983 query_xkbmap() win32.Keyboard.get_x11_keymap()={}
2024-12-21 19:31:13,984 query_xkbmap() get_keymap_modifiers()=({}, [], ['lock'])
2024-12-21 19:31:13,985 layout=de, layouts=['de', '[]'], variant=, variants=['[]']
2024-12-21 19:31:13,986 query-struct={}
2024-12-21 19:31:13,987 keycodes="((65385, 'Cancel', 3, 0, 0), (65288, 'BackSpace .. r', 226, 0, 2), (94, 'asciicircum', 255, 0, 0))"
2024-12-21 19:31:13,988 x11 keycodes='{}'
2024-12-21 19:31:14,002 mod managed: []
2024-12-21 19:31:14,003 mod meanings: {}
2024-12-21 19:31:14,003 mod pointermissing: ['lock']
2024-12-21 19:31:14,004 hash=de/1329ed67e6e28e4331269ac25670aeef544a01c91344dec35b6efbf315a151f3
2024-12-21 19:31:14,005 parse_shortcuts: modifier names={'shift': 'shift', 'control': 'control', 'ctrl': 'control', 'alt': 'mod1', 'meta': 'mod1', 'super': 'mod3', 'hyper': 'mod4', 'altgr': 'mod5', 'mode_switch': 'mod5'}
2024-12-21 19:31:14,009 shortcut modifiers=['meta', 'shift']
2024-12-21 19:31:14,010 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'])
2024-12-21 19:31:14,012 action(Control+Menu:toggle_keyboard_grab)=toggle_keyboard_grab[]
2024-12-21 19:31:14,013 shortcut(Control+Menu:toggle_keyboard_grab)=['control'], toggle_keyboard_grab, []
2024-12-21 19:31:14,015 action(Shift+Menu:toggle_pointer_grab)=toggle_pointer_grab[]
2024-12-21 19:31:14,015 shortcut(Shift+Menu:toggle_pointer_grab)=['shift'], toggle_pointer_grab, []
2024-12-21 19:31:14,016 action(Shift+F11:toggle_fullscreen)=toggle_fullscreen[]
2024-12-21 19:31:14,016 shortcut(Shift+F11:toggle_fullscreen)=['shift'], toggle_fullscreen, []
2024-12-21 19:31:14,016 action(#+F1:show_menu)=show_menu[]
2024-12-21 19:31:14,017 shortcut(#+F1:show_menu)=['mod1', 'shift'], show_menu, []
2024-12-21 19:31:14,017 action(#+F2:show_start_new_command)=show_start_new_command[]
2024-12-21 19:31:14,017 shortcut(#+F2:show_start_new_command)=['mod1', 'shift'], show_start_new_command, []
2024-12-21 19:31:14,018 action(#+F3:show_bug_report)=show_bug_report[]
2024-12-21 19:31:14,018 shortcut(#+F3:show_bug_report)=['mod1', 'shift'], show_bug_report, []
2024-12-21 19:31:14,018 action(#+F4:quit)=quit[]
2024-12-21 19:31:14,018 shortcut(#+F4:quit)=['mod1', 'shift'], quit, []
2024-12-21 19:31:14,019 action(#+F5:show_window_info)=show_window_info[]
2024-12-21 19:31:14,019 shortcut(#+F5:show_window_info)=['mod1', 'shift'], show_window_info, []
2024-12-21 19:31:14,020 action(#+F6:show_shortcuts)=show_shortcuts[]
2024-12-21 19:31:14,020 shortcut(#+F6:show_shortcuts)=['mod1', 'shift'], show_shortcuts, []
2024-12-21 19:31:14,020 action(#+F7:show_docs)=show_docs[]
2024-12-21 19:31:14,021 shortcut(#+F7:show_docs)=['mod1', 'shift'], show_docs, []
2024-12-21 19:31:14,021 action(#+F8:toggle_keyboard_grab)=toggle_keyboard_grab[]
2024-12-21 19:31:14,021 shortcut(#+F8:toggle_keyboard_grab)=['mod1', 'shift'], toggle_keyboard_grab, []
2024-12-21 19:31:14,022 action(#+F9:toggle_pointer_grab)=toggle_pointer_grab[]
2024-12-21 19:31:14,025 shortcut(#+F9:toggle_pointer_grab)=['mod1', 'shift'], toggle_pointer_grab, []
2024-12-21 19:31:14,026 action(#+F10:magic_key)=magic_key[]
2024-12-21 19:31:14,027 shortcut(#+F10:magic_key)=['mod1', 'shift'], magic_key, []
2024-12-21 19:31:14,028 action(#+F11:show_session_info)=show_session_info[]
2024-12-21 19:31:14,029 shortcut(#+F11:show_session_info)=['mod1', 'shift'], show_session_info, []
2024-12-21 19:31:14,029 action(#+F12:toggle_debug)=toggle_debug[]
2024-12-21 19:31:14,030 shortcut(#+F12:toggle_debug)=['mod1', 'shift'], toggle_debug, []
2024-12-21 19:31:14,030 action(#+plus:scaleup)=scaleup[]
2024-12-21 19:31:14,030 shortcut(#+plus:scaleup)=['mod1', 'shift'], scaleup, []
2024-12-21 19:31:14,031 action(#+minus:scaledown)=scaledown[]
2024-12-21 19:31:14,031 shortcut(#+minus:scaledown)=['mod1', 'shift'], scaledown, []
2024-12-21 19:31:14,031 action(#+underscore:scaledown)=scaledown[]
2024-12-21 19:31:14,032 shortcut(#+underscore:scaledown)=['mod1', 'shift'], scaledown, []
2024-12-21 19:31:14,032 action(#+KP_Add:scaleup)=scaleup[]
2024-12-21 19:31:14,032 shortcut(#+KP_Add:scaleup)=['mod1', 'shift'], scaleup, []
2024-12-21 19:31:14,033 action(#+KP_Subtract:scaledown)=scaledown[]
2024-12-21 19:31:14,033 shortcut(#+KP_Subtract:scaledown)=['mod1', 'shift'], scaledown, []
2024-12-21 19:31:14,033 action(#+KP_Multiply:scalereset)=scalereset[]
2024-12-21 19:31:14,033 shortcut(#+KP_Multiply:scalereset)=['mod1', 'shift'], scalereset, []
2024-12-21 19:31:14,034 action(#+bar:scalereset)=scalereset[]
2024-12-21 19:31:14,035 shortcut(#+bar:scalereset)=['mod1', 'shift'], scalereset, []
2024-12-21 19:31:14,035 action(#+question:scalingoff)=scalingoff[]
2024-12-21 19:31:14,035 shortcut(#+question:scalingoff)=['mod1', 'shift'], scalingoff, []
2024-12-21 19:31:14,036 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', [])]}
2024-12-21 19:31:14,037 * F1                              : [(['mod1', 'shift'], 'show_menu', [])]
2024-12-21 19:31:14,037 * F2                              : [(['mod1', 'shift'], 'show_start_new_command', [])]
2024-12-21 19:31:14,038 * F3                              : [(['mod1', 'shift'], 'show_bug_report', [])]
2024-12-21 19:31:14,038 * F4                              : [(['mod1', 'shift'], 'quit', [])]
2024-12-21 19:31:14,039 * F5                              : [(['mod1', 'shift'], 'show_window_info', [])]
2024-12-21 19:31:14,039 * F6                              : [(['mod1', 'shift'], 'show_shortcuts', [])]
2024-12-21 19:31:14,043 * F7                              : [(['mod1', 'shift'], 'show_docs', [])]
2024-12-21 19:31:14,044 * F8                              : [(['mod1', 'shift'], 'toggle_keyboard_grab', [])]
2024-12-21 19:31:14,044 * F9                              : [(['mod1', 'shift'], 'toggle_pointer_grab', [])]
2024-12-21 19:31:14,045 * F10                             : [(['mod1', 'shift'], 'magic_key', [])]
2024-12-21 19:31:14,047 * F11                             : [(['shift'], 'toggle_fullscreen', []), (['mod1', 'shift'], 'show_session_info', [])]
2024-12-21 19:31:14,049 * F12                             : [(['mod1', 'shift'], 'toggle_debug', [])]
2024-12-21 19:31:14,050 * KP_Add                          : [(['mod1', 'shift'], 'scaleup', [])]
2024-12-21 19:31:14,050 * KP_Multiply                     : [(['mod1', 'shift'], 'scalereset', [])]
2024-12-21 19:31:14,051 * KP_Subtract                     : [(['mod1', 'shift'], 'scaledown', [])]
2024-12-21 19:31:14,051 * Menu                            : [(['control'], 'toggle_keyboard_grab', []), (['shift'], 'toggle_pointer_grab', [])]
2024-12-21 19:31:14,052 * bar                             : [(['mod1', 'shift'], 'scalereset', [])]
2024-12-21 19:31:14,052 * minus                           : [(['mod1', 'shift'], 'scaledown', [])]
2024-12-21 19:31:14,052 * plus                            : [(['mod1', 'shift'], 'scaleup', [])]
2024-12-21 19:31:14,052 * question                        : [(['mod1', 'shift'], 'scalingoff', [])]
2024-12-21 19:31:14,053 * underscore                      : [(['mod1', 'shift'], 'scaledown', [])]
2024-12-21 19:31:14,053 update() modifier_map={'shift': 1, 'lock': 2, 'control': 4, 'mod1': 8, 'mod2': 16, 'mod3': 32, 'mod4': 64, 'mod5': 128}, old hash=None, new hash=de/1329ed67e6e28e4331269ac25670aeef544a01c91344dec35b6efbf315a151f3
2024-12-21 19:31:17,191 OpenGL 4.6 enabled on 'Intel(R) HD Graphics 520'
2024-12-21 19:31:17,192  using native win32 backend
2024-12-21 19:31:17,194  zerocopy is available
2024-12-21 19:31:17,205 init_keyboard_listener() hook_id=0x7c10f25
2024-12-21 19:31:17,295 Connected (version 2.0, client OpenSSH_8.0)
2024-12-21 19:31:17,519 Authentication (publickey) failed.
2024-12-21 19:31:17,521 SSH agent key 'MD5:ac:1d:14:46:c4:fb:9f:dd:dd:37:04:fa:ef:73:a9:a7' rejected for user 'leo'
2024-12-21 19:31:17,522 agent authentication failed, tried 1 keys
2024-12-21 19:31:17,701 loaded RSA private key from 'C:\\Users\\leo/.ssh\\id_rsa'
2024-12-21 19:31:17,748 Authentication (publickey) failed.
2024-12-21 19:31:17,755 SSH authentication using key 'C:\\Users\\leo/.ssh\\id_rsa' failed:
2024-12-21 19:31:17,766  Authentication failed.
2024-12-21 19:31:17,811 SSH password authentication failed:
2024-12-21 19:31:17,813  Bad authentication type
2024-12-21 19:31:17,814   allowed types: ['publickey', 'gssapi-keyex', 'gssapi-with-mic', 'password']
2024-12-21 19:31:18,974 GetKeyboardLayoutList()=0x4070c07
2024-12-21 19:31:18,985 found keyboard layout 'de' / 0x407 with variants=('nodeadkeys', 'sundeadkeys', 'mac'), code 'DEU' for kbid=0x4070c07
2024-12-21 19:31:19,016 get_layout_spec() GetKeyboardLayoutName()=00000407
2024-12-21 19:31:19,067 sublang(0x407)=0x1
2024-12-21 19:31:19,081 get_layout_spec() WIN32_KEYBOARDS[0x407]=('de', 'German')
2024-12-21 19:31:19,084 GetKeyboardLayout(0)=0x4070c07
2024-12-21 19:31:19,086 unknown win32 layout 67570695
2024-12-21 19:31:19,104 found keyboard layout 'at' / 0xc07 with variants=('nodeadkeys', 'sundeadkeys', 'mac'), code 'DEA' for kbid=3079 (0x4070c07)
2024-12-21 19:31:19,112 unknown win32 layout 7
2024-12-21 19:31:19,112 win32.Keyboard.get_layout_spec()=('de', ['de', 'at'], '', ['nodeadkeys', 'sundeadkeys', 'mac'], '')
2024-12-21 19:31:19,113 get_layout_spec()=('de', ['de', '[]'], '', ['[]'], '')
2024-12-21 19:31:30,036 Authentication (password) successful!
2024-12-21 19:31:30,317 ssh server OS is 'linux-gnu'
2024-12-21 19:31:30,633 paramiko SSH agent forwarding enabled
2024-12-21 19:31:30,723 mask_to_names(0)=[]
2024-12-21 19:31:30,724  keyboard settings: layout=de
2024-12-21 19:31:30,731  desktop size is 9000x2160:
2024-12-21 19:31:30,731   Default (1587x381 mm - DPI: 144x144)
2024-12-21 19:31:30,732     Lenovo Wide viewing angle & High density FlexView Display 2560x1440 2560x1440 at    0x0    (309x174 mm - DPI: 210x210) workarea: 2398x1440
2024-12-21 19:31:30,732     LG ULTRAWIDE     5160x2160 at 3840x0    (800x334 mm - DPI: 164x164) workarea: 5160x2160 at 3840x0
2024-12-21 19:31:31,073  SSH: 'Entering daemon mode; any further errors will be reported to:'
2024-12-21 19:31:31,078  SSH: "  '/run/user/500/xpra/100/server.log'"
2024-12-21 19:31:33,110 enabled remote logging
2024-12-21 19:31:33,113 Xpra X11 seamless server version 6.2
2024-12-21 19:31:33,178 set_modifier_mappings({mappings})
2024-12-21 19:31:33,180 modifier_keys={'Shift_L': 'shift', 'Shift_R': 'shift', 'Caps_Lock': 'lock', 'Control_L': 'control', 'Control_R': 'control', 'Alt_L': 'mod1', 'Meta_L': 'mod1', 'Num_Lock': 'mod2', 'Super_L': 'mod3', 'Super_R': 'mod3', 'Hyper_L': 'mod4', 'Hyper_R': 'mod4', 'ISO_Level3_Shift': 'mod5'}
2024-12-21 19:31:33,180 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'}
2024-12-21 19:31:33,182 modifier_keycodes={'Shift_L': [50], 'Shift_R': [62], 'Caps_Lock': [66], 'Control_L': [37], 'Control_R': [105], 'Num_Lock': [77], 'Super_L': [133], 'Super_R': [134], 'Hyper_L': [207], 'Hyper_R': [252], 'ISO_Level3_Shift': [92]}
2024-12-21 19:31:33,184 set_modifier_mappings found 'Num_Lock' with modifier value: mod2
2024-12-21 19:31:33,184 set_modifier_mappings found 'AltGr'='ISO_Level3_Shift' with modifier value: mod5
2024-12-21 19:31:33,185 send_keymap()
2024-12-21 19:31:33,207 running
2024-12-21 19:31:34,454 mask_to_names(0) GetKeyState(VK_NUMLOCK)=0, names=[]
2024-12-21 19:31:34,492 mask_to_names(0) GetKeyState(VK_NUMLOCK)=0, names=[]
2024-12-21 19:31:34,521 mask_to_names(0) GetKeyState(VK_NUMLOCK)=0, names=[]
2024-12-21 19:31:41,608 mask_to_names(0) GetKeyState(VK_NUMLOCK)=0, names=[]
2024-12-21 19:31:41,609 parse_key_event(<Gdk.EventKey object at 0x0000017bcbc99770 (void at 0x0000017ba3443a90)>, True)=KeyEvent(modifiers=[], keyname=dead_circumflex, keyval=65106, keycode=220, group=0, string=, pressed=True)
2024-12-21 19:31:41,611 handle_key_action(ClientWindow(1), KeyEvent(modifiers=[], keyname=dead_circumflex, keyval=65106, keycode=220, group=0, string=, pressed=True)) wid=1
2024-12-21 19:31:41,612 key_handled_as_shortcut(ClientWindow(1), 'dead_circumflex', [], True) shortcuts_enabled=True, shortcuts=None
2024-12-21 19:31:41,613 send_delayed_key() delayed_event=None
2024-12-21 19:31:41,614 send_key_action(1, KeyEvent(modifiers=[], keyname=dead_circumflex, keyval=65106, keycode=220, group=0, string=, pressed=True))
2024-12-21 19:31:41,673 mask_to_names(0) GetKeyState(VK_NUMLOCK)=0, names=[]
2024-12-21 19:31:41,674 parse_key_event(<Gdk.EventKey object at 0x0000017bcbce4f00 (void at 0x0000017ba34439d0)>, False)=KeyEvent(modifiers=[], keyname=dead_circumflex, keyval=65106, keycode=220, group=0, string=, pressed=False)
2024-12-21 19:31:41,675 handle_key_action(ClientWindow(1), KeyEvent(modifiers=[], keyname=dead_circumflex, keyval=65106, keycode=220, group=0, string=, pressed=False)) wid=1
2024-12-21 19:31:41,676 key_handled_as_shortcut(ClientWindow(1), 'dead_circumflex', [], False) shortcuts_enabled=True, shortcuts=None
2024-12-21 19:31:41,677 send_delayed_key() delayed_event=None
2024-12-21 19:31:41,678 send_key_action(1, KeyEvent(modifiers=[], keyname=dead_circumflex, keyval=65106, keycode=220, group=0, string=, pressed=False))
2024-12-21 19:31:43,817 mask_to_names(1) GetKeyState(VK_NUMLOCK)=0, names=['shift']
2024-12-21 19:31:43,819 parse_key_event(<Gdk.EventKey object at 0x0000017bcbce43c0 (void at 0x0000017ba3441e10)>, True)=KeyEvent(modifiers=['shift'], keyname=Shift_L, keyval=65505, keycode=16, group=0, string=, pressed=True)
2024-12-21 19:31:43,820 handle_key_action(ClientWindow(1), KeyEvent(modifiers=['shift'], keyname=Shift_L, keyval=65505, keycode=16, group=0, string=, pressed=True)) wid=1
2024-12-21 19:31:43,821 key_handled_as_shortcut(ClientWindow(1), 'Shift_L', ['shift'], True) shortcuts_enabled=True, shortcuts=None
2024-12-21 19:31:43,823 send_delayed_key() delayed_event=None
2024-12-21 19:31:43,824 send_key_action(1, KeyEvent(modifiers=['shift'], keyname=Shift_L, keyval=65505, keycode=16, group=0, string=, pressed=True))
2024-12-21 19:31:44,609 mask_to_names(1) GetKeyState(VK_NUMLOCK)=0, names=['shift']
2024-12-21 19:31:44,610 parse_key_event(<Gdk.EventKey object at 0x0000017bcbce4690 (void at 0x0000017ba3443e50)>, True)=KeyEvent(modifiers=['shift'], keyname=dead_grave, keyval=65104, keycode=221, group=0, string=, pressed=True)
2024-12-21 19:31:44,611 handle_key_action(ClientWindow(1), KeyEvent(modifiers=['shift'], keyname=dead_grave, keyval=65104, keycode=221, group=0, string=, pressed=True)) wid=1
2024-12-21 19:31:44,612 key_handled_as_shortcut(ClientWindow(1), 'dead_grave', ['shift'], True) shortcuts_enabled=True, shortcuts=None
2024-12-21 19:31:44,613 send_delayed_key() delayed_event=None
2024-12-21 19:31:44,614 send_key_action(1, KeyEvent(modifiers=['shift'], keyname=dead_grave, keyval=65104, keycode=221, group=0, string=, pressed=True))
2024-12-21 19:31:44,678 mask_to_names(1) GetKeyState(VK_NUMLOCK)=0, names=['shift']
2024-12-21 19:31:44,683 parse_key_event(<Gdk.EventKey object at 0x0000017bcbce46e0 (void at 0x0000017ba34439d0)>, False)=KeyEvent(modifiers=['shift'], keyname=dead_grave, keyval=65104, keycode=221, group=0, string=, pressed=False)
2024-12-21 19:31:44,695 handle_key_action(ClientWindow(1), KeyEvent(modifiers=['shift'], keyname=dead_grave, keyval=65104, keycode=221, group=0, string=, pressed=False)) wid=1
2024-12-21 19:31:44,697 key_handled_as_shortcut(ClientWindow(1), 'dead_grave', ['shift'], False) shortcuts_enabled=True, shortcuts=None
2024-12-21 19:31:44,699 send_delayed_key() delayed_event=None
2024-12-21 19:31:44,707 send_key_action(1, KeyEvent(modifiers=['shift'], keyname=dead_grave, keyval=65104, keycode=221, group=0, string=, pressed=False))
2024-12-21 19:31:45,235 mask_to_names(0) GetKeyState(VK_NUMLOCK)=0, names=[]
2024-12-21 19:31:45,239 parse_key_event(<Gdk.EventKey object at 0x0000017bcbce5040 (void at 0x0000017ba34427d0)>, False)=KeyEvent(modifiers=[], keyname=Shift_L, keyval=65505, keycode=16, group=0, string=, pressed=False)
2024-12-21 19:31:45,241 handle_key_action(ClientWindow(1), KeyEvent(modifiers=[], keyname=Shift_L, keyval=65505, keycode=16, group=0, string=, pressed=False)) wid=1
2024-12-21 19:31:45,242 key_handled_as_shortcut(ClientWindow(1), 'Shift_L', [], False) shortcuts_enabled=True, shortcuts=None
2024-12-21 19:31:45,244 send_delayed_key() delayed_event=None
2024-12-21 19:31:45,246 send_key_action(1, KeyEvent(modifiers=[], keyname=Shift_L, keyval=65505, keycode=16, group=0, string=, pressed=False))
2024-12-21 19:31:51,483 mask_to_names(0) GetKeyState(VK_NUMLOCK)=0, names=[]
2024-12-21 19:31:51,489 parse_key_event(<Gdk.EventKey object at 0x0000017bcbce45f0 (void at 0x0000017ba3443a90)>, True)=KeyEvent(modifiers=[], keyname=dead_acute, keyval=65105, keycode=221, group=0, string=, pressed=True)
2024-12-21 19:31:51,492 handle_key_action(ClientWindow(1), KeyEvent(modifiers=[], keyname=dead_acute, keyval=65105, keycode=221, group=0, string=, pressed=True)) wid=1
2024-12-21 19:31:51,495 key_handled_as_shortcut(ClientWindow(1), 'dead_acute', [], True) shortcuts_enabled=True, shortcuts=None
2024-12-21 19:31:51,497 send_delayed_key() delayed_event=None
2024-12-21 19:31:51,504 send_key_action(1, KeyEvent(modifiers=[], keyname=dead_acute, keyval=65105, keycode=221, group=0, string=, pressed=True))
2024-12-21 19:31:51,534 mask_to_names(0) GetKeyState(VK_NUMLOCK)=0, names=[]
2024-12-21 19:31:51,541 parse_key_event(<Gdk.EventKey object at 0x0000017bcbce50e0 (void at 0x0000017ba3442950)>, False)=KeyEvent(modifiers=[], keyname=dead_acute, keyval=65105, keycode=221, group=0, string=, pressed=False)
2024-12-21 19:31:51,545 handle_key_action(ClientWindow(1), KeyEvent(modifiers=[], keyname=dead_acute, keyval=65105, keycode=221, group=0, string=, pressed=False)) wid=1
2024-12-21 19:31:51,547 key_handled_as_shortcut(ClientWindow(1), 'dead_acute', [], False) shortcuts_enabled=True, shortcuts=None
2024-12-21 19:31:51,555 send_delayed_key() delayed_event=None
2024-12-21 19:31:51,557 send_key_action(1, KeyEvent(modifiers=[], keyname=dead_acute, keyval=65105, keycode=221, group=0, string=, pressed=False))

@totaam
Copy link
Collaborator

totaam commented Dec 22, 2024

Have you tried switching input methods with --input-method= ?

totaam added a commit that referenced this issue Dec 22, 2024
@totaam
Copy link
Collaborator

totaam commented Dec 22, 2024

TILs, the key events seen:

KeyEvent(modifiers=[], keyname=dead_circumflex, keyval=65106, keycode=220, group=0, string=, pressed=True)
KeyEvent(modifiers=[], keyname=dead_circumflex, keyval=65106, keycode=220, group=0, string=, pressed=False)
KeyEvent(modifiers=['shift'], keyname=Shift_L, keyval=65505, keycode=16, group=0, string=, pressed=True)
KeyEvent(modifiers=['shift'], keyname=dead_grave, keyval=65104, keycode=221, group=0, string=, pressed=True)
KeyEvent(modifiers=['shift'], keyname=dead_grave, keyval=65104, keycode=221, group=0, string=, pressed=False)
KeyEvent(modifiers=[], keyname=Shift_L, keyval=65505, keycode=16, group=0, string=, pressed=False)
KeyEvent(modifiers=[], keyname=dead_acute, keyval=65105, keycode=221, group=0, string=, pressed=True)
KeyEvent(modifiers=[], keyname=dead_acute, keyval=65105, keycode=221, group=0, string=, pressed=False)

I would need to look at the server log to see what events are being produced there.

@leo-b
Copy link
Author

leo-b commented Dec 22, 2024

Here is the server log...

  • ^ (keyname dead_circumflex) is pressed at 09:13:20.
  • ` (keyname dead_grave) is pressed at 09:13:29.
  • ´ (keyname dead_acute) is pressed at 09:13:38.

server.log

@leo-b
Copy link
Author

leo-b commented Dec 22, 2024

Here are my test results with different --input-method and --keyboard-... variations:

input-method no-keyboard-arg --keyboard-layout=de --keyboard-layout=de --keyboard-variant=nodeadkeys
auto NO-OUTPUT NO-OUTPUT NO-OUTPUT
none OK (dead-keys) OK (dead-keys) NO-OUTPUT
keep OK (dead-keys OK (dead-keys) NO-OUTPUT
xim OK (dead-keys) OK (dead-keys) NO-OUTPUT
IBus NO-OUTPUT NO-OUTPUT NO-OUTPUT
SCIM OK (dead-keys) OK (dead-keys) NO-OUTPUT
uim OK (dead-keys) OK (dead-keys) NO-OUTPUT
OK (dead-keys)
generates the key after pressing a subsequent key

@totaam
Copy link
Collaborator

totaam commented Dec 22, 2024

TBH, I have no idea which input method should be the default! (auto currently chooses ibus)
None of them are documented properly AFAICT.
We switched to ibus back in #2359

Are you problems fully resolved?

@leo-b
Copy link
Author

leo-b commented Dec 22, 2024

Are you problems fully resolved?

Using --input-method=SCIM or uim I have a working keyboard setup now. Thanks for the hint!

However the keys are working as dead keys now, which is rather cumbersome when coding. (I have to press them twice to obtain the corresponding character.)

On my linux systems I'm using the nodeadkeys keyboard variant to avoid that. But in this case I am connecting from a windows client (which doesn't have a nodeadkeys variant) and I was trying to set up an xpra session to a linux server using nodeadkeys. Unfortunately according to the above table, this doesn't seem to work, at least not by just specifying --input-method and --keyboard-variant.

Do you have a hint how to configure nodeadkeys in my setup?

@totaam
Copy link
Collaborator

totaam commented Dec 23, 2024

Ah, gotcha. I never use these kinds of layouts myself, so I am a bit lost.
I have seen some search results suggesting --keyboard-option=nodeadkeys, but I am not convinced this is correct.

One way forward would be to connect from a working Linux X11 client, then post the server log so we can see what "correct" settings are being used to get nodeadkeys.

The fact that nothing works at all for you with ibus is quite suspicious.
Perhaps, getting ibus working would be easier?

Another idea, the latest commits also allow you to change the keyboard model: #4445 (comment)
This may also help?

@leo-b
Copy link
Author

leo-b commented Jan 12, 2025

The fact that nothing works at all for you with ibus is quite suspicious.

I just found out that ibus seems to work fine. It looks like it's just the initial keyboard-layout and -variant, that are are not correctly set:

If I start an xpra session with --input-method=IBus, the ibus daemon starts and I am able to interact with it using ibus-setup and the ibus cli command.

Initially, when starting a new xpra session with --input-method=IBus --keyboard-layout=de, the command ibus engine yields:

$ ibus engine

(process:1219536): IBUS-WARNING **: 18:41:56.914: ibus_bus_call_sync: org.freedesktop.DBus.Properties.Get: GDBus.Error:org.freedesktop.DBus.Error.Failed: No global engine.
No engine is set.

Running ibus list-engine shows a long list of possible layouts:

$ ibus list-engine | grep -i german | grep deadk
  xkb:de:nodeadkeys:deu - German (no dead keys)
  xkb:ch:de_nodeadkeys:deu - German (Switzerland, no dead keys)
  xkb:at:nodeadkeys:deu - German (Austria, no dead keys)
  xkb:de:mac_nodeadkeys:deu - German (Macintosh, no dead keys)
  xkb:de:ro_nodeadkeys:ron - Romanian (Germany, no dead keys)
  xkb:ch:de_nodeadkeys:gsw - German (Switzerland, no dead keys)

Selecting one of those variants by e.g. ibus engine xkb:at:nodeadkeys:deu works like a charm!

So it looks like only the initial setting by xpra does not work.

Btw. ibus-setup indicates that there should be a system tray icon. However I cannot find such an icon in my tray.

grafik

Should there be an ibus tray icon to select the keyboard layout?

The xpra keyboard tray menu just shows those [] entries:
grafik

Switching from a working keyboard (set by ibus engine xkb:at:nodeadkeys:deu) to the de menu entry, returns a german keyboard with dead keys. Note that this is different from the initial keyboard layout because without having called ibus engine ..., accent keys do not work at all. Querying with ibus engine still returns ibus engine xkb:at:nodeadkeys:deu. Running ibus engine xkb:at:nodeadkeys:deu restores nodeadkeys functionality.
Switching to de - [] seems to do the same as de.
Switching to auto breaks keyboard accent keys in a way that a subsequent ibus engine xkb:at:nodeadkeys:deu command doesn't work anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants