Browse Source

Document tests for server keyboard handling

tags/v1.9.90
Pierre Ossman 5 years ago
parent
commit
794812dc76
1 changed files with 37 additions and 0 deletions
  1. 37
    0
      doc/keyboard-test.txt

+ 37
- 0
doc/keyboard-test.txt View File

@@ -164,3 +164,40 @@ Client (both modes)
* Usually needs to be enabled with: xmodmap -e "add mod3 = Scroll_Lock"

- Virtual keyboard (as much of the above as is possible)

Server
------

- Fake key events

An extra press or release should be added before the real key press
in order to get the correct state to get the desired symbol. A second
fake event should be added after the real key press to restore state.
No extra events should be added for a key release.

Possible fake keys:

- Shift
- AltGr

- Shift+Tab bypasses this and never fake releases Shift

- Alternative keys

A semantically equivalent key is sent when the desired key cannot be
reached in the current keyboard state:

- Left modifier <=> Right modifier (e.g. Alt_R for Alt_L)
- Keypad key <=> Standard key
- ISO_Level3_Shift <=> Mode_Switch

- Meta for Shift+Alt (if server keymap agrees)

- Lock key heuristics (for clients without lock key extension)

- CapsLock is corrected when A-Z or a-z are pressed
- CapsLock is corrected when Shift and A-Z or a-z are pressed*
- NumLock is corrected when 0-9 on the keypad are pressed

* Gives incorrect behaviour if the client doesn't have "Shift cancels
CapsLock behaviour", e.g. macOS

Loading…
Cancel
Save