Skip to content

Commit

Permalink
Document tests for server keyboard handling
Browse files Browse the repository at this point in the history
  • Loading branch information
CendioOssman committed Oct 19, 2018
1 parent 2ae7795 commit 794812d
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions doc/keyboard-test.txt
Expand Up @@ -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

0 comments on commit 794812d

Please sign in to comment.