Version 28 (modified by 3 years ago) (diff) | ,
---|
Keyboard
Keyboard handling is an area that could do with some improvements.
We currently use the core X11
api, but we should be moving to Xkb
, or maybe the xkbcommon wrapper (#371).
Solved Bugs
- When connecting over high latency links, use the
--no-keyboard-sync
option to prevent keys from repeating. This toggle is also accessible from the system tray menu. (this switch may cause other problems though) - US layout and most common layouts should work ok.
- If starting xpra from an environment which has non-standard input methods, this can interfere, see #286
- Input methods don't work by default: #634
- Supporting multiple layouts and switching layouts reliably and/or manually: #230, #166, #86, #1607, #1665, #1380
- Multiple keys / meta: #668, #759
- Input grabs: #139
Pending Bugs
Reporting Bugs
First, please check the bugs above to see if any match your problem or seems related. Failing that, make sure to read the reporting bugs guidelines and generally you will need to include (select those that apply):
- active keyboard layout(s)
- input methods
- keyboard related configuration setup/files
- keyboard type
- client and server log output with the
-d keyboard
debugging switch - whether the bug is also present with/without
--no-keyboard-sync
setxkbmap -print
andsetxkbmap -query
(both directly in the client if it supports those commands and in the xpra session)Keymap_info.exe
on MS Windows, orxpra/gtk_common/keymap.py
everywhere elsexmodmap -pke
andxmodmap -pm
(again on both)xkbprint -label name $DISPLAY
- if the problem is affecting specific keys, you may want to use the environment variable
XPRA_DEBUG_KEYSYMS=keyname1,keyname2
on the server to log the keyboard mapping process for those keys xev
output of the misbehaving key events- running both the server and the client with the debug option
-d keyboard
, or for very verbose debugging:-d keyboard,verbose
- gather information using the test scripts:
- gtk_view_keyboard.py (named
GTK_Keyboard_Test.exe
on MS Windows) - keymap.py (named
Keymap_info.exe
on MS Windows)
- gtk_view_keyboard.py (named