xpra icon
Bug tracker and wiki

Opened 5 months ago

Last modified 2 months ago

#1373 new defect

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 (1)

comment:1 Changed 2 months 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.

Note: See TracTickets for help on using tickets.