]> source.dussan.org Git - tigervnc.git/commitdiff
Document test cases for testing the keyboard handling
authorPierre Ossman <ossman@cendio.se>
Wed, 17 Sep 2014 11:55:51 +0000 (13:55 +0200)
committerPierre Ossman <ossman@cendio.se>
Wed, 17 Sep 2014 11:55:51 +0000 (13:55 +0200)
doc/keyboard-test.txt [new file with mode: 0644]

diff --git a/doc/keyboard-test.txt b/doc/keyboard-test.txt
new file mode 100644 (file)
index 0000000..2d2b2b6
--- /dev/null
@@ -0,0 +1,107 @@
+Test protocol for keyboard handling
+===================================
+
+Platform specific tests/issues are marked with [].
+
+Client
+------
+
+- Normal symbols:
+
+  - ASCII characters
+  - Latin 1 character
+  - Unicode BMP characters
+  - Unicode non-BMP characters
+
+- Dead keys:
+
+  - Grave
+  - Acute
+  - Circumflex
+  - Tilde
+  - Macron
+  - Breve
+  - Dot above
+  - Diaeresis
+  - Ring above
+  - Double acute
+  - Caron
+  - Cedilla
+  - Ogonek
+  - Ypogegrammeni
+  - Katakana voiced mark
+  - Katakana semi-voiced mark
+  - Dialytika tonos
+  - FIXME: Many more that we currently probably don't support
+
+  - No composition on client
+
+- Modifiers:
+
+  - CapsLock, NumLock (sent but ignored by server)
+  - Shift, Ctrl
+  - Alt, AltGr, Super [Win, X11] (FIXME: AltGr broken on Win)
+  - Left/right identification (FIXME: broken for Shift on Win)
+  - CmdL => AltL, CmdR => SuperL, AltL => ModeSwitch, AltR => Level3Shift [Mac]
+  - Meta and Hyper sends Super [X11]
+
+  - CapsLock, Shift and AltGr affect symbol lookup
+  - NumLock affects symbol lookup [Win, X11]
+  - Ctrl does not affect symbol lookup
+  - Shift inverts NumLock behaviour [X11]
+  - Shift turns NumLock off, but not on [Win] (FIXME: fake Shifts also sent)
+  - CtrlL+AltR fake release [Win]
+  - Ctrl+Alt+any (note behaviour above though)
+  - Ctrl+AltGr+any (FIXME: broken on Win)
+  - "Shift press, A press, Shift release, A release" should not send "a release"
+
+- Numpad:
+
+  - Numpad specific symbols are sent
+  - Affected by NumLock
+  - Decimal key should send Decimal for layouts with . as a symbol, and
+    Separator for layouts with , as a symbol
+
+- Multimedia keys:
+
+  - Back, Forward, Refresh, Stop
+  - HomePage, Search, Favourites
+  - Mail, Calculator
+  - Volume up, down, mute
+  - Media next, previous, stop, play
+  - Sleep
+  - FIXME: probably more keys exist
+
+- Non-character keys:
+
+  - F1-F24
+  - Tab, Space, Backspace, Return
+  - LeftTab sends Tab
+  - Esc, PrntScrn, ScrollLock, Pause
+  - Insert, Delete, Home, End, PageUp, PageDown
+  - Arrow keys
+  - Menu
+
+- French layout (AZERTY and inverted shift behaviour for many keys)
+
+- Key repeat should not send repeated release events
+
+- Keys are released on loss of focus
+
+- Local layout changes are respected
+
+- Local input methods are disabled/enabled with focus
+
+- System keys should be grabbed in full screen
+
+  The exact keys depends on the system and configuration, but it
+  is usually variants of these:
+
+  - Alt+Tab
+  - Super (and Super+other)
+  - Multimedia keys
+  - Ctrl+Alt+Delete
+  - Ctrl+Esc
+  - F8-F12
+
+- Virtual keyboard (as much of the above as is possible)