blob: c39f56b822e4b89c43aea329edd31a921d69ef9b [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"
58
59!DECRQM on mouse button mode
60PUSH "\e[?1000\$p"
61 output "\e[?1000;1\$y"
62PUSH "\e[?1002\$p"
63 output "\e[?1002;2\$y"
64PUSH "\e[?1003\$p"
65 output "\e[?1003;2\$y"
66
67!Drag events
68RESET
69 settermprop 1 true
70 settermprop 2 true
71 settermprop 7 1
72PUSH "\e[?1002h"
73 settermprop 8 2
74
75MOUSEMOVE 5,5 0
76MOUSEBTN d 1 0
77 output "\e[M\x20\x26\x26"
78MOUSEMOVE 5,6 0
79 output "\e[M\x40\x27\x26"
80MOUSEMOVE 6,6 0
81 output "\e[M\x40\x27\x27"
82MOUSEMOVE 6,6 0
83 # no output
84MOUSEBTN u 1 0
85 output "\e[M\x23\x27\x27"
86MOUSEMOVE 6,7
87 # no output
88
89!DECRQM on mouse drag mode
90PUSH "\e[?1000\$p"
91 output "\e[?1000;2\$y"
92PUSH "\e[?1002\$p"
93 output "\e[?1002;1\$y"
94PUSH "\e[?1003\$p"
95 output "\e[?1003;2\$y"
96
97!Non-drag motion events
98PUSH "\e[?1003h"
99 settermprop 8 3
100
101MOUSEMOVE 6,8 0
102 output "\e[M\x43\x29\x27"
103
104!DECRQM on mouse motion mode
105PUSH "\e[?1000\$p"
106 output "\e[?1000;2\$y"
107PUSH "\e[?1002\$p"
108 output "\e[?1002;2\$y"
109PUSH "\e[?1003\$p"
110 output "\e[?1003;1\$y"
111
112!Bounds checking
113MOUSEMOVE 300,300 0
114 output "\e[M\x43\xff\xff"
115MOUSEBTN d 1 0
116 output "\e[M\x20\xff\xff"
117MOUSEBTN u 1 0
118 output "\e[M\x23\xff\xff"
119
120!DECRQM on standard encoding mode
121PUSH "\e[?1005\$p"
122 output "\e[?1005;2\$y"
123PUSH "\e[?1006\$p"
124 output "\e[?1006;2\$y"
125PUSH "\e[?1015\$p"
126 output "\e[?1015;2\$y"
127
128!UTF-8 extended encoding mode
129# 300 + 32 + 1 = 333 = U+014d = \xc5\x8d
130PUSH "\e[?1005h"
131MOUSEBTN d 1 0
132 output "\e[M\x20\xc5\x8d\xc5\x8d"
133MOUSEBTN u 1 0
134 output "\e[M\x23\xc5\x8d\xc5\x8d"
135
136!DECRQM on UTF-8 extended encoding mode
137PUSH "\e[?1005\$p"
138 output "\e[?1005;1\$y"
139PUSH "\e[?1006\$p"
140 output "\e[?1006;2\$y"
141PUSH "\e[?1015\$p"
142 output "\e[?1015;2\$y"
143
144!SGR extended encoding mode
145PUSH "\e[?1006h"
146MOUSEBTN d 1 0
147 output "\e[<0;301;301M"
148MOUSEBTN u 1 0
149 output "\e[<0;301;301m"
150
151!DECRQM on SGR extended encoding mode
152PUSH "\e[?1005\$p"
153 output "\e[?1005;2\$y"
154PUSH "\e[?1006\$p"
155 output "\e[?1006;1\$y"
156PUSH "\e[?1015\$p"
157 output "\e[?1015;2\$y"
158
159!rxvt extended encoding mode
160PUSH "\e[?1015h"
161MOUSEBTN d 1 0
162 output "\e[0;301;301M"
163MOUSEBTN u 1 0
164 output "\e[3;301;301M"
165
166!DECRQM on rxvt extended encoding mode
167PUSH "\e[?1005\$p"
168 output "\e[?1005;2\$y"
169PUSH "\e[?1006\$p"
170 output "\e[?1006;2\$y"
171PUSH "\e[?1015\$p"
172 output "\e[?1015;1\$y"