Opened 5 years ago
Last modified 17 months ago
#1716 assigned defect
per user keyboard state
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | critical | Milestone: | 5.0 |
Component: | keyboard | Version: | trunk |
Keywords: | Cc: |
Change History (8)
comment:1 Changed 4 years ago by
Milestone: | future → 2.5 |
---|---|
Status: | new → assigned |
comment:3 Changed 4 years ago by
Priority: | major → critical |
---|
We can't control-c from the secondary client unless it uses the same modifier keys, the server log shows:
make_keymask_match: ignored as keynames_for_mod not assigned yet
comment:4 Changed 4 years ago by
r21174 fixes the ignored as keynames_for_mod not assigned yet
problem without splitting the keyboard class.
This is probably too intrusive and risky to be backported.
The server keyboard object is actually already instantiated for every client in the input servers' parse_hello
method: we call get_keyboard_config
which returns an x11 KeyboardConfig
object for x11 servers.
- some attributes need to be shared:
keys_pressed
is shared and passed in (a bit of a hack too). - some attributes are definitely per-client:
keycode_translation
,xkbmap_mod_nuisance
andxkbmap_mod_pointermissing
, etc.. - for others, it is less clear:
xkbmap_layout
,xkbmap_variant
and friends are currently only set by the first client, but we could consider merging the data from multiple clients so that all layouts are supported..
comment:5 Changed 4 years ago by
r21178 moves the "keyboard-sync" flag to the per-user keyboard configuration.
Still TODO:
set_keyboard_layout_group
- maybe this belongs elsewhere?keys_pressed
unshare it? keep a per user version?owner
attribute belongs elsewhere..
comment:8 Changed 17 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1716
Note: See
TracTickets for help on using
tickets.
See also #1027