1INIT
2WANTSTATE
3
4!Unmodified ASCII
5INCHAR 0 41
6  output "A"
7INCHAR 0 61
8  output "a"
9
10!Ctrl modifier on ASCII letters
11INCHAR C 41
12  output "\e[65;5u"
13INCHAR C 61
14  output "\x01"
15
16!Alt modifier on ASCII letters
17INCHAR A 41
18  output "\eA"
19INCHAR A 61
20  output "\ea"
21
22!Ctrl-Alt modifier on ASCII letters
23INCHAR CA 41
24  output "\e[65;7u"
25INCHAR CA 61
26  output "\e\x01"
27
28!Special handling of Ctrl-I
29INCHAR 0 49
30  output "I"
31INCHAR 0 69
32  output "i"
33INCHAR C 49
34  output "\e[73;5u"
35INCHAR C 69
36  output "\e[105;5u"
37INCHAR A 49
38  output "\eI"
39INCHAR A 69
40  output "\ei"
41INCHAR CA 49
42  output "\e[73;7u"
43INCHAR CA 69
44  output "\e[105;7u"
45
46!Special handling of Space
47INCHAR 0 20
48  output " "
49INCHAR S 20
50  output "\e[32;2u"
51INCHAR C 20
52  output "\0"
53INCHAR SC 20
54  output "\e[32;6u"
55INCHAR A 20
56  output "\e "
57INCHAR SA 20
58  output "\e[32;4u"
59INCHAR CA 20
60  output "\e\0"
61INCHAR SCA 20
62  output "\e[32;8u"
63
64!Cursor keys in reset (cursor) mode
65INKEY 0 Up
66  output "\e[A"
67INKEY S Up
68  output "\e[1;2A"
69INKEY C Up
70  output "\e[1;5A"
71INKEY SC Up
72  output "\e[1;6A"
73INKEY A Up
74  output "\e[1;3A"
75INKEY SA Up
76  output "\e[1;4A"
77INKEY CA Up
78  output "\e[1;7A"
79INKEY SCA Up
80  output "\e[1;8A"
81
82!Cursor keys in application mode
83PUSH "\e[?1h"
84# Plain "Up" should be SS3 A now
85INKEY 0 Up
86  output "\eOA"
87# Modified keys should still use CSI
88INKEY S Up
89  output "\e[1;2A"
90INKEY C Up
91  output "\e[1;5A"
92
93!Shift-Tab should be different
94INKEY 0 Tab
95  output "\x09"
96INKEY S Tab
97  output "\e[Z"
98INKEY C Tab
99  output "\e[9;5u"
100INKEY A Tab
101  output "\e\x09"
102INKEY CA Tab
103  output "\e[9;7u"
104
105!Enter in linefeed mode
106INKEY 0 Enter
107  output "\x0d"
108
109!Enter in newline mode
110PUSH "\e[20h"
111INKEY 0 Enter
112  output "\x0d\x0a"
113
114!Unmodified F1 is SS3 P
115INKEY 0 F1
116  output "\eOP"
117
118!Modified F1 is CSI P
119INKEY S F1
120  output "\e[1;2P"
121INKEY A F1
122  output "\e[1;3P"
123INKEY C F1
124  output "\e[1;5P"
125
126!Keypad in DECKPNM
127INKEY 0 KP0
128  output "0"
129
130!Keypad in DECKPAM
131PUSH "\e="
132INKEY 0 KP0
133  output "\eOp"
134
135!Bracketed paste mode off
136PASTE START
137PASTE END
138
139!Bracketed paste mode on
140PUSH "\e[?2004h"
141PASTE START
142  output "\e[200~"
143PASTE END
144  output "\e[201~"
145
146!Focus reporting disabled
147FOCUS IN
148FOCUS OUT
149
150!Focus reporting enabled
151PUSH "\e[?1004h"
152FOCUS IN
153  output "\e[I"
154FOCUS OUT
155  output "\e[O"
156