xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.

Opened 6 years ago

Closed 5 years ago

Last modified 17 months ago

#1373 closed defect (fixed)

shared mode keyboard conflicts

Reported by: Antoine Martin Owned by: alas
Priority: major Milestone: 2.0
Component: server Version: trunk
Keywords: Cc:


Follow up from ticket:41#comment:39.
Each new client connection overwrites the keymap.

We need to keep track of who owns the keyboard (separate from "ui-driver"?) and either:

  • change the keymap on the fly when a new user interacts with the session - hard, may not work well as setting the keymap is partly asynchronous
  • translate keyboard events for the "other" clients

Change History (4)

comment:1 Changed 5 years ago by Antoine Martin

Owner: changed from Antoine Martin to alas

Done in r15110.
We can now connect multiple clients with completely different keymaps (different OS, different layout, etc) and each client should still be able to use most of their keys..
The first client to connect will still "own" the keymap, which means that we won't be adding new layouts from the secondary clients.

How to test:

  • start a server with sharing enabled
  • connect a win32 client (for example) with a 'fr' layout (which has 'a' and 'q' keys swapped)
  • connect a linux client with a 'us' layout

Both clients should be able to use the keyboard and have the correct keys appear in applications (ie: xterm).

Note: this ticket is not meant to give 100% coverage of keyboard input when sharing is enabled (which may not be achievable anyway), just to make it a lot more usable than before.

comment:2 Changed 5 years ago by J. Max Mena

Resolution: fixed
Status: newclosed

Tested (trunk Fedora 25 server, and Fedora 25 and Win8.1 clients) and it seems to behave, at least with my two identically-layed-out ENG-US keyboards. Closing

comment:3 Changed 5 years ago by Antoine Martin

Follow up: #1716

comment:4 Changed 17 months ago by migration script

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1373

Note: See TracTickets for help on using tickets.