blob: 2d2b2b696a890d2e677ddb75db28269bf5c23bf9 [file] [log] [blame]
Pierre Ossmanefd42612014-09-17 13:55:51 +02001Test protocol for keyboard handling
2===================================
3
4Platform specific tests/issues are marked with [].
5
6Client
7------
8
9- Normal symbols:
10
11 - ASCII characters
12 - Latin 1 character
13 - Unicode BMP characters
14 - Unicode non-BMP characters
15
16- Dead keys:
17
18 - Grave
19 - Acute
20 - Circumflex
21 - Tilde
22 - Macron
23 - Breve
24 - Dot above
25 - Diaeresis
26 - Ring above
27 - Double acute
28 - Caron
29 - Cedilla
30 - Ogonek
31 - Ypogegrammeni
32 - Katakana voiced mark
33 - Katakana semi-voiced mark
34 - Dialytika tonos
35 - FIXME: Many more that we currently probably don't support
36
37 - No composition on client
38
39- Modifiers:
40
41 - CapsLock, NumLock (sent but ignored by server)
42 - Shift, Ctrl
43 - Alt, AltGr, Super [Win, X11] (FIXME: AltGr broken on Win)
44 - Left/right identification (FIXME: broken for Shift on Win)
45 - CmdL => AltL, CmdR => SuperL, AltL => ModeSwitch, AltR => Level3Shift [Mac]
46 - Meta and Hyper sends Super [X11]
47
48 - CapsLock, Shift and AltGr affect symbol lookup
49 - NumLock affects symbol lookup [Win, X11]
50 - Ctrl does not affect symbol lookup
51 - Shift inverts NumLock behaviour [X11]
52 - Shift turns NumLock off, but not on [Win] (FIXME: fake Shifts also sent)
53 - CtrlL+AltR fake release [Win]
54 - Ctrl+Alt+any (note behaviour above though)
55 - Ctrl+AltGr+any (FIXME: broken on Win)
56 - "Shift press, A press, Shift release, A release" should not send "a release"
57
58- Numpad:
59
60 - Numpad specific symbols are sent
61 - Affected by NumLock
62 - Decimal key should send Decimal for layouts with . as a symbol, and
63 Separator for layouts with , as a symbol
64
65- Multimedia keys:
66
67 - Back, Forward, Refresh, Stop
68 - HomePage, Search, Favourites
69 - Mail, Calculator
70 - Volume up, down, mute
71 - Media next, previous, stop, play
72 - Sleep
73 - FIXME: probably more keys exist
74
75- Non-character keys:
76
77 - F1-F24
78 - Tab, Space, Backspace, Return
79 - LeftTab sends Tab
80 - Esc, PrntScrn, ScrollLock, Pause
81 - Insert, Delete, Home, End, PageUp, PageDown
82 - Arrow keys
83 - Menu
84
85- French layout (AZERTY and inverted shift behaviour for many keys)
86
87- Key repeat should not send repeated release events
88
89- Keys are released on loss of focus
90
91- Local layout changes are respected
92
93- Local input methods are disabled/enabled with focus
94
95- System keys should be grabbed in full screen
96
97 The exact keys depends on the system and configuration, but it
98 is usually variants of these:
99
100 - Alt+Tab
101 - Super (and Super+other)
102 - Multimedia keys
103 - Ctrl+Alt+Delete
104 - Ctrl+Esc
105 - F8-F12
106
107- Virtual keyboard (as much of the above as is possible)