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

PgUp and PgDn get mapped to different keys on the server #4292

Closed
vchudnov opened this issue Jul 9, 2024 · 7 comments
Closed

PgUp and PgDn get mapped to different keys on the server #4292

vchudnov opened this issue Jul 9, 2024 · 7 comments
Labels
bug Something isn't working keyboard linux

Comments

@vchudnov
Copy link

vchudnov commented Jul 9, 2024

Describe the bug
The PgUp key gets interpreted as /, and the PgDn key gets interpreted as Menu on the Xpra server.

To Reproduce
Steps to reproduce the behavior:

  1. server command
  2. client command: xpra start --ssh="ssh -x -C " --keyboard-sync=no --opengl=no --keyboard-layout=us --title="@client-machine@: @title@" ssh://${USER}@${REMOTE}/100 --start=xfce4-terminal
  3. specific action to trigger the bug: Press PgUp and PgDown on an Xpra window. The former becomes a slash /, the latter becomes a Menu-key press. They work fine on my local machine.

System Information (please complete the following information):

  • Server OS: Debian 6.6.15
  • Client OS: Debian
  • Xpra Server Version v5.0.9-r0
  • Xpra Client Version v5.0.9-r0

Additional context

I have a standard 104-key US keyboard, and I don't specify any keyboard mappings.

It seems that the xpra server interprets the same keycode as the my client machine, but translates it to a different keysym. Compare the output of xev on both machines:

  • local machine

         KeyPress event, serial 35, synthetic NO, window 0x3800001,
            root 0x43c, subw 0x0, time 313163514, (109,97), root:(2580,1602),
            state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
            XLookupString gives 0 bytes: 
            XmbLookupString gives 0 bytes: 
            XFilterEvent returns: False
    
        KeyRelease event, serial 35, synthetic NO, window 0x3800001,
            root 0x43c, subw 0x0, time 313163686, (109,97), root:(2580,1602),
            state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
            XLookupString gives 0 bytes: 
            XFilterEvent returns: False
    
        KeyPress event, serial 35, synthetic NO, window 0x3800001,
            root 0x43c, subw 0x0, time 313164314, (109,97), root:(2580,1602),
            state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
            XLookupString gives 0 bytes: 
            XmbLookupString gives 0 bytes: 
            XFilterEvent returns: False
    
        KeyRelease event, serial 35, synthetic NO, window 0x3800001,
            root 0x43c, subw 0x0, time 313164477, (109,97), root:(2580,1602),
            state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
            XLookupString gives 0 bytes: 
            XFilterEvent returns: False
    
  • xpra server

        KeyPress event, serial 36, synthetic NO, window 0x1200001,
            root 0x50d, subw 0x1200002, time 145801759, (33,58), root:(3464,566),
            state 0x0, keycode 112 (keysym 0xffaf, KP_Divide), same_screen YES,
            XLookupString gives 1 bytes: (2f) "/"
            XmbLookupString gives 1 bytes: (2f) "/"
            XFilterEvent returns: False
    
        KeyRelease event, serial 36, synthetic NO, window 0x1200001,
            root 0x50d, subw 0x1200002, time 145801912, (33,58), root:(3464,566),
            state 0x0, keycode 112 (keysym 0xffaf, KP_Divide), same_screen YES,
            XLookupString gives 1 bytes: (2f) "/"
            XFilterEvent returns: False
    
        KeyPress event, serial 36, synthetic NO, window 0x1200001,
            root 0x50d, subw 0x1200002, time 145803385, (33,58), root:(3464,566),
            state 0x0, keycode 117 (keysym 0xff67, Menu), same_screen YES,
            XLookupString gives 0 bytes: 
            XmbLookupString gives 0 bytes: 
            XFilterEvent returns: False
    
        KeyRelease event, serial 36, synthetic NO, window 0x1200001,
            root 0x50d, subw 0x1200002, time 145803548, (33,58), root:(3464,566),
            state 0x0, keycode 117 (keysym 0xff67, Menu), same_screen YES,
            XLookupString gives 0 bytes: 
            XFilterEvent returns: False
    
    
@vchudnov vchudnov added the bug Something isn't working label Jul 9, 2024
@totaam
Copy link
Collaborator

totaam commented Jul 9, 2024

Server OS: Debian 6.1.94-1

Are you sure this is correct?

Why do you need to specify --keyboard-sync=no --opengl=no --keyboard-layout=us?

Have you tried --keyboard-raw=yes?

@vchudnov
Copy link
Author

vchudnov commented Jul 9, 2024

Server OS: Debian 6.1.94-1

Are you sure this is correct?

Sorry, fixed it.

Why do you need to specify --keyboard-sync=no --opengl=no --keyboard-layout=us?

I tried it with both settings for both of the keyboard flags. This was my latest incantation.

Have you tried --keyboard-raw=yes?

Yes, I did after I filed this issue. Same symptoms.

@totaam
Copy link
Collaborator

totaam commented Jul 9, 2024

Sorry, fixed it.

No, this looks like a kernel version, not an OS version: Server OS: Debian 6.6.15

@vchudnov
Copy link
Author

vchudnov commented Jul 9, 2024

Sorry, fixed it.

No, this looks like a kernel version, not an OS version: Server OS: Debian 6.6.15

Debian Bookworm on both client and server.

@vchudnov
Copy link
Author

vchudnov commented Jul 9, 2024

Symptoms persist without any of --keyboard-sync=no --opengl=no --keyboard-layout=us

Symptoms are worse with xpra attach --ssh="ssh -x -C " --keyboard-raw=yes --title="@client-machine@: @title@" ssh://XXX@YYY/100: the arrow keys get remapped as well. UpArrow becomes Print

`

@totaam
Copy link
Collaborator

totaam commented Jul 9, 2024

Please post the client output, which contains keyboard detection information.
As well as the server log.

@vchudnov
Copy link
Author

I finally had a chance to re-install the client-machine xpra (due to external constraints, it's not quite a standard install), and now everything seems to be working---or at least, I'm not seeing this problem any more.

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 linux
Projects
None yet
Development

No branches or pull requests

2 participants