blob: 33b7dc2c742f8a88b09f5b9492e39d99edd615a9 [file] [log] [blame]
Bram Moolenaare4f25e42017-07-07 11:54:15 +02001INIT
2WANTSTATE p
3
4!DECRQM on with mouse off
5PUSH "\e[?1000\$p"
6 output "\e[?1000;2\$y"
7PUSH "\e[?1002\$p"
8 output "\e[?1002;2\$y"
9PUSH "\e[?1003\$p"
10 output "\e[?1003;2\$y"
11
12!Mouse in simple button report mode
13RESET
14 settermprop 1 true
15 settermprop 2 true
16 settermprop 7 1
17PUSH "\e[?1000h"
18 settermprop 8 1
19
20!Press 1
21MOUSEMOVE 0,0 0
22MOUSEBTN d 1 0
23 output "\e[M\x20\x21\x21"
24
25!Release 1
26MOUSEBTN u 1 0
27 output "\e[M\x23\x21\x21"
28
29!Ctrl-Press 1
30MOUSEBTN d 1 C
31 output "\e[M\x30\x21\x21"
32MOUSEBTN u 1 C
33 output "\e[M\x33\x21\x21"
34
35!Button 2
36MOUSEBTN d 2 0
37 output "\e[M\x21\x21\x21"
38MOUSEBTN u 2 0
39 output "\e[M\x23\x21\x21"
40
41!Position
42MOUSEMOVE 10,20 0
43MOUSEBTN d 1 0
44 output "\e[M\x20\x35\x2b"
45
46MOUSEBTN u 1 0
47 output "\e[M\x23\x35\x2b"
48MOUSEMOVE 10,21 0
49 # no output
50
51!Wheel events
52MOUSEBTN d 4 0
53 output "\e[M\x60\x36\x2b"
54MOUSEBTN d 4 0
55 output "\e[M\x60\x36\x2b"
56MOUSEBTN d 5 0
57 output "\e[M\x61\x36\x2b"
zeertzjqb00df7a2023-08-08 11:03:00 +080058MOUSEBTN d 6 0
59 output "\e[M\x62\x36\x2b"
60MOUSEBTN d 7 0
61 output "\e[M\x63\x36\x2b"
Bram Moolenaare4f25e42017-07-07 11:54:15 +020062
63!DECRQM on mouse button mode
64PUSH "\e[?1000\$p"
65 output "\e[?1000;1\$y"
66PUSH "\e[?1002\$p"
67 output "\e[?1002;2\$y"
68PUSH "\e[?1003\$p"
69 output "\e[?1003;2\$y"
70
71!Drag events
72RESET
73 settermprop 1 true
74 settermprop 2 true
75 settermprop 7 1
76PUSH "\e[?1002h"
77 settermprop 8 2
78
79MOUSEMOVE 5,5 0
80MOUSEBTN d 1 0
81 output "\e[M\x20\x26\x26"
82MOUSEMOVE 5,6 0
83 output "\e[M\x40\x27\x26"
84MOUSEMOVE 6,6 0
85 output "\e[M\x40\x27\x27"
86MOUSEMOVE 6,6 0
87 # no output
88MOUSEBTN u 1 0
89 output "\e[M\x23\x27\x27"
90MOUSEMOVE 6,7
91 # no output
92
93!DECRQM on mouse drag mode
94PUSH "\e[?1000\$p"
95 output "\e[?1000;2\$y"
96PUSH "\e[?1002\$p"
97 output "\e[?1002;1\$y"
98PUSH "\e[?1003\$p"
99 output "\e[?1003;2\$y"
100
101!Non-drag motion events
102PUSH "\e[?1003h"
103 settermprop 8 3
104
105MOUSEMOVE 6,8 0
106 output "\e[M\x43\x29\x27"
107
108!DECRQM on mouse motion mode
109PUSH "\e[?1000\$p"
110 output "\e[?1000;2\$y"
111PUSH "\e[?1002\$p"
112 output "\e[?1002;2\$y"
113PUSH "\e[?1003\$p"
114 output "\e[?1003;1\$y"
115
116!Bounds checking
117MOUSEMOVE 300,300 0
118 output "\e[M\x43\xff\xff"
119MOUSEBTN d 1 0
120 output "\e[M\x20\xff\xff"
121MOUSEBTN u 1 0
122 output "\e[M\x23\xff\xff"
123
124!DECRQM on standard encoding mode
125PUSH "\e[?1005\$p"
126 output "\e[?1005;2\$y"
127PUSH "\e[?1006\$p"
128 output "\e[?1006;2\$y"
129PUSH "\e[?1015\$p"
130 output "\e[?1015;2\$y"
131
132!UTF-8 extended encoding mode
133# 300 + 32 + 1 = 333 = U+014d = \xc5\x8d
134PUSH "\e[?1005h"
135MOUSEBTN d 1 0
136 output "\e[M\x20\xc5\x8d\xc5\x8d"
137MOUSEBTN u 1 0
138 output "\e[M\x23\xc5\x8d\xc5\x8d"
139
140!DECRQM on UTF-8 extended encoding mode
141PUSH "\e[?1005\$p"
142 output "\e[?1005;1\$y"
143PUSH "\e[?1006\$p"
144 output "\e[?1006;2\$y"
145PUSH "\e[?1015\$p"
146 output "\e[?1015;2\$y"
147
148!SGR extended encoding mode
149PUSH "\e[?1006h"
150MOUSEBTN d 1 0
151 output "\e[<0;301;301M"
152MOUSEBTN u 1 0
153 output "\e[<0;301;301m"
154
155!DECRQM on SGR extended encoding mode
156PUSH "\e[?1005\$p"
157 output "\e[?1005;2\$y"
158PUSH "\e[?1006\$p"
159 output "\e[?1006;1\$y"
160PUSH "\e[?1015\$p"
161 output "\e[?1015;2\$y"
162
163!rxvt extended encoding mode
164PUSH "\e[?1015h"
165MOUSEBTN d 1 0
166 output "\e[0;301;301M"
167MOUSEBTN u 1 0
168 output "\e[3;301;301M"
169
170!DECRQM on rxvt extended encoding mode
171PUSH "\e[?1005\$p"
172 output "\e[?1005;2\$y"
173PUSH "\e[?1006\$p"
174 output "\e[?1006;2\$y"
175PUSH "\e[?1015\$p"
176 output "\e[?1015;1\$y"
Bram Moolenaar7da34152021-11-24 19:30:55 +0000177
178!Mouse disabled reports nothing
179RESET
180 settermprop 1 true
181 settermprop 2 true
182 settermprop 7 1
183MOUSEMOVE 0,0 0
184MOUSEBTN d 1 0
185MOUSEBTN u 1 0
zeertzjqb00df7a2023-08-08 11:03:00 +0800186
187!DECSM can set multiple modes at once
188PUSH "\e[?1002;1006h"
189 settermprop 8 2
190MOUSEBTN d 1 0
191 output "\e[<0;1;1M"