Xpra-org / xpra

Persistent remote applications for X11; screen sharing for X11, MacOS and MSWindows.
https://xpra.org/
GNU General Public License v2.0
1.99k stars 169 forks source link

Trying to type `&` with `de` keyboard layout results in `K` #4404

Open Voros-Roka opened 1 month ago

Voros-Roka commented 1 month ago

Describe the bug When trying to type &, shift+6 with a de keyboard layout on client, K is inserted instead.

To Reproduce Steps to reproduce the behavior:

  1. server command: xpra start :0 --uid=1000 --gid=1000 --mdns=no --exit-with-client=no --exit-with-children=no --exit-with-windows=no --daemon=no --mmap=/sys/devices/pci0000:00/0000:00:08.0/resource2_wc --bind-vsock=auto:2000
  2. client command: XPRA_USE_NATIVE_TRAY=0 xpra attach vsock://4:2000 --mmap=/dev/shm/my-ivshmem --border=red,8 --opengl=no --sharing=yes
  3. Pressing shift+6 to type & with de keyboard layout on server and client

System Information (please complete the following information):

Additional context The server runs with xdummy inside a qemu vm. LightDM is the display manager and AwesomeWM the window manager both on server and client. There is no compositing involved. xpra is set to keyboard layout auto in the menu. While testing commit ce124c6415 (on server) for issue https://github.com/Xpra-org/xpra/issues/4403 i noticed that when i am trying to type & (shift+6) with a de keyboard layout (setxkbmap de on client) i get a K instead. This did definitely not happen with 75d2762385 or any previous version as server. I tried ce124c6415 and 75d2762385 as clients but there was no difference, i still got K instead of &. xpra toolbox -> keyboard shows the following for pressing the 6 without shift:

down 6                            '6'   54        15     0 0    2
up   6                            '6'   54        15     0 0    2

and for shift+6:

down Shift_L                      ''    65505     50     0 0    S
down K                            'K'   75        45     0 0    S, 2
up   K                            'K'   75        45     0 0    S, 2

That got me curious and i tried different combinations that resulted in the following table (N/A means that while pressing the key nothing happened):

setxkbmap client setxkbmap server shift+6 expected shift+6 actual shift+7 expected shift+7 actual
de de & K / /
de us & K / &
us us ^ ^ & K
us de ^ N/A & K

Something between commit 75d2762385 and ce124c6415 changed that leads to that behavior. Even if we disregard mismatched layouts between server and client there is definitly something wrong. I did not notice any problems with other keys. Sadly i am currently not able to provide more information then that, but as soon as i am able to what can i provide to help with debugging?

totaam commented 1 month ago

Likely a duplicate of #4396

The commit has been reverted in v6.2.x

I'm trying to find a better solution for git master.

totaam commented 2 days ago

@Voros-Roka is this still a problem? I think 730e45eb41bb38aa8e75e0bb3c78f3339910c11e is the correct fix (server side).