annotate src/keymap.h @ 34219:a0a4a774117b v9.1.0058

patch 9.1.0058: Cannot map Super Keys in GTK UI Commit: https://github.com/vim/vim/commit/92e90a1e102825aa9149262cacfc991264db05df Author: Casey Tucker <dctucker@hotmail.com> Date: Thu Jan 25 22:44:00 2024 +0100 patch 9.1.0058: Cannot map Super Keys in GTK UI Problem: Cannot map Super Keys in GTK UI (Casey Tucker) Solution: Enable Super Key mappings in GTK using <D-Key> (Casey Tucker) As a developer who works in both Mac and Linux using the same keyboard, it can be frustrating having to remember different key combinations or having to rely on system utilities to remap keys. This change allows `<D-z>` `<D-x>` `<D-c>` `<D-v>` etc. to be recognized by the `map` commands, along with the `<D-S-...>` shifted variants. ```vimrc if has('gui_gtk') nnoremap <D-z> u nnoremap <D-S-Z> <C-r> vnoremap <D-x> "+d vnoremap <D-c> "+y cnoremap <D-v> <C-R>+ inoremap <D-v> <C-o>"+gP nnoremap <D-v> "+P vnoremap <D-v> "-d"+P nnoremap <D-s> :w<CR> inoremap <D-s> <C-o>:w<CR> nnoremap <D-w> :q<CR> nnoremap <D-q> :qa<CR> nnoremap <D-t> :tabe<CR> nnoremap <D-S-T> :vs#<CR><C-w>T nnoremap <D-a> ggVG vnoremap <D-a> <ESC>ggVG inoremap <D-a> <ESC>ggVG nnoremap <D-f> / nnoremap <D-g> n nnoremap <D-S-G> N vnoremap <D-x> "+x endif ``` closes: #12698 Signed-off-by: Casey Tucker <dctucker@hotmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 25 Jan 2024 23:00:03 +0100
parents cab7d8accab7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10042
4aead6a9b7a9 commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents: 8281
diff changeset
1 /* vi:set ts=8 sts=4 sw=4 noet:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 * VIM - Vi IMproved by Bram Moolenaar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 * Do ":help uganda" in Vim to read copying and usage conditions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 * Do ":help credits" in Vim to see a list of people who contributed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 /*
595
fea48f63efc8 updated for version 7.0169
vimboss
parents: 377
diff changeset
10 * Keycode definitions for special keys.
fea48f63efc8 updated for version 7.0169
vimboss
parents: 377
diff changeset
11 *
fea48f63efc8 updated for version 7.0169
vimboss
parents: 377
diff changeset
12 * Any special key code sequences are replaced by these codes.
fea48f63efc8 updated for version 7.0169
vimboss
parents: 377
diff changeset
13 */
fea48f63efc8 updated for version 7.0169
vimboss
parents: 377
diff changeset
14
fea48f63efc8 updated for version 7.0169
vimboss
parents: 377
diff changeset
15 /*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 * For MSDOS some keys produce codes larger than 0xff. They are split into two
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 * chars, the first one is K_NUL (same value used in term.h).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 */
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
19 #define K_NUL (0xce) // for MSDOS: special key follows
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 * K_SPECIAL is the first byte of a special key code and is always followed by
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 * two bytes.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 * The second byte can have any value. ASCII is used for normal termcap
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 * entries, 0x80 and higher for special keys, see below.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 * The third byte is guaranteed to be between 0x02 and 0x7f.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 #define K_SPECIAL (0x80)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 * Positive characters are "normal" characters.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 * Negative characters are special key codes. Only characters below -0x200
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 * are used to so that the absolute value can't be mistaken for a single-byte
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 * character.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 #define IS_SPECIAL(c) ((c) < 0)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 * Characters 0x0100 - 0x01ff have a special meaning for abbreviations.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 * Multi-byte characters also have ABBR_OFF added, thus are above 0x0200.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 #define ABBR_OFF 0x100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 * NUL cannot be in the input string, therefore it is replaced by
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 * K_SPECIAL KS_ZERO KE_FILLER
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 #define KS_ZERO 255
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 * K_SPECIAL cannot be in the input string, therefore it is replaced by
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 * K_SPECIAL KS_SPECIAL KE_FILLER
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 #define KS_SPECIAL 254
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 * KS_EXTRA is used for keys that have no termcap name
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 * K_SPECIAL KS_EXTRA KE_xxx
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 #define KS_EXTRA 253
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 * KS_MODIFIER is used when a modifier is given for a (special) key
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 * K_SPECIAL KS_MODIFIER bitmask
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 #define KS_MODIFIER 252
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 * These are used for the GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 * K_SPECIAL KS_xxx KE_FILLER
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 #define KS_MOUSE 251
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 #define KS_MENU 250
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 #define KS_VER_SCROLLBAR 249
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 #define KS_HOR_SCROLLBAR 248
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 * These are used for DEC mouse
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 #define KS_NETTERM_MOUSE 247
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 #define KS_DEC_MOUSE 246
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 * Used for switching Select mode back on after a mapping or menu.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 #define KS_SELECT 245
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 #define K_SELECT_STRING (char_u *)"\200\365X"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 * Used for tearing off a menu.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 #define KS_TEAROFF 244
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
95 // Used for JSB term mouse.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 #define KS_JSBTERM_MOUSE 243
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
98 // Used a termcap entry that produces a normal character.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 #define KS_KEY 242
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
101 // Used for the qnx pterm mouse.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 #define KS_PTERM_MOUSE 241
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
104 // Used for click in a tab pages label.
685
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 620
diff changeset
105 #define KS_TABLINE 240
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 620
diff changeset
106
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
107 // Used for menu in a tab pages line.
687
d4b8e06e7c96 updated for version 7.0207
vimboss
parents: 685
diff changeset
108 #define KS_TABMENU 239
d4b8e06e7c96 updated for version 7.0207
vimboss
parents: 685
diff changeset
109
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
110 // Used for the urxvt mouse.
3145
98a05814f1b4 updated for version 7.3.343
Bram Moolenaar <bram@vim.org>
parents: 2409
diff changeset
111 #define KS_URXVT_MOUSE 238
98a05814f1b4 updated for version 7.3.343
Bram Moolenaar <bram@vim.org>
parents: 2409
diff changeset
112
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
113 // Used for the sgr mouse.
3746
44038a9777aa updated for version 7.3.632
Bram Moolenaar <bram@vim.org>
parents: 3273
diff changeset
114 #define KS_SGR_MOUSE 237
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
115 #define KS_SGR_MOUSE_RELEASE 236
3746
44038a9777aa updated for version 7.3.632
Bram Moolenaar <bram@vim.org>
parents: 3273
diff changeset
116
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
117 // Used for the GPM mouse.
16523
a72ad8a8b249 patch 8.1.1265: when GPM mouse support is enabled double clicks do not work
Bram Moolenaar <Bram@vim.org>
parents: 13829
diff changeset
118 #define KS_GPM_MOUSE 235
a72ad8a8b249 patch 8.1.1265: when GPM mouse support is enabled double clicks do not work
Bram Moolenaar <Bram@vim.org>
parents: 13829
diff changeset
119
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 * Filler used after KS_SPECIAL and others
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 #define KE_FILLER ('X')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 * translation of three byte code "K_SPECIAL a b" into int "K_xxx" and back
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 #define TERMCAP2KEY(a, b) (-((a) + ((int)(b) << 8)))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 #define KEY2TERMCAP0(x) ((-(x)) & 0xff)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 #define KEY2TERMCAP1(x) (((unsigned)(-(x)) >> 8) & 0xff)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 * get second or third byte when translating special key code into three bytes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 #define K_SECOND(c) ((c) == K_SPECIAL ? KS_SPECIAL : (c) == NUL ? KS_ZERO : KEY2TERMCAP0(c))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 #define K_THIRD(c) (((c) == K_SPECIAL || (c) == NUL) ? KE_FILLER : KEY2TERMCAP1(c))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 * get single int code from second byte after K_SPECIAL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 #define TO_SPECIAL(a, b) ((a) == KS_SPECIAL ? K_SPECIAL : (a) == KS_ZERO ? K_ZERO : TERMCAP2KEY(a, b))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 * Codes for keys that do not have a termcap name.
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
146 * The numbers are fixed to make sure that recorded key sequences remain valid.
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
147 * Add new entries at the end, not halfway.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 * K_SPECIAL KS_EXTRA KE_xxx
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 enum key_extra
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 {
27478
ce352871b382 patch 8.2.4267: unused entry in keymap enum
Bram Moolenaar <Bram@vim.org>
parents: 27140
diff changeset
153 KE_S_UP = 4 // shift-up
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
154 , KE_S_DOWN = 5 // shift-down
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
156 , KE_S_F1 = 6 // shifted function keys
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
157 , KE_S_F2 = 7
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
158 , KE_S_F3 = 8
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
159 , KE_S_F4 = 9
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
160 , KE_S_F5 = 10
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
161 , KE_S_F6 = 11
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
162 , KE_S_F7 = 12
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
163 , KE_S_F8 = 13
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
164 , KE_S_F9 = 14
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
165 , KE_S_F10 = 15
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
167 , KE_S_F11 = 16
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
168 , KE_S_F12 = 17
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
169 , KE_S_F13 = 18
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
170 , KE_S_F14 = 19
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
171 , KE_S_F15 = 20
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
172 , KE_S_F16 = 21
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
173 , KE_S_F17 = 22
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
174 , KE_S_F18 = 23
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
175 , KE_S_F19 = 24
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
176 , KE_S_F20 = 25
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
178 , KE_S_F21 = 26
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
179 , KE_S_F22 = 27
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
180 , KE_S_F23 = 28
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
181 , KE_S_F24 = 29
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
182 , KE_S_F25 = 30
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
183 , KE_S_F26 = 31
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
184 , KE_S_F27 = 32
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
185 , KE_S_F28 = 33
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
186 , KE_S_F29 = 34
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
187 , KE_S_F30 = 35
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
189 , KE_S_F31 = 36
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
190 , KE_S_F32 = 37
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
191 , KE_S_F33 = 38
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
192 , KE_S_F34 = 39
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
193 , KE_S_F35 = 40
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
194 , KE_S_F36 = 41
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
195 , KE_S_F37 = 42
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
197 , KE_MOUSE = 43 // mouse event start
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 * Symbols for pseudo keys which are translated from the real key symbols
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 * above.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 */
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
203 , KE_LEFTMOUSE = 44 // Left mouse button click
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
204 , KE_LEFTDRAG = 45 // Drag with left mouse button down
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
205 , KE_LEFTRELEASE = 46 // Left mouse button release
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
206 , KE_MIDDLEMOUSE = 47 // Middle mouse button click
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
207 , KE_MIDDLEDRAG = 48 // Drag with middle mouse button down
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
208 , KE_MIDDLERELEASE = 49 // Middle mouse button release
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
209 , KE_RIGHTMOUSE = 50 // Right mouse button click
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
210 , KE_RIGHTDRAG = 51 // Drag with right mouse button down
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
211 , KE_RIGHTRELEASE = 52 // Right mouse button release
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
213 , KE_IGNORE = 53 // Ignored mouse drag/release
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
215 , KE_TAB = 54 // unshifted TAB key
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
216 , KE_S_TAB_OLD = 55 // shifted TAB key (no longer used)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
218 , KE_SNIFF_UNUSED = 56 // obsolete
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
219 , KE_XF1 = 57 // extra vt100 function keys for xterm
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
220 , KE_XF2 = 58
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
221 , KE_XF3 = 59
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
222 , KE_XF4 = 60
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
223 , KE_XEND = 61 // extra (vt100) end key for xterm
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
224 , KE_ZEND = 62 // extra (vt100) end key for xterm
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
225 , KE_XHOME = 63 // extra (vt100) home key for xterm
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
226 , KE_ZHOME = 64 // extra (vt100) home key for xterm
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
227 , KE_XUP = 65 // extra vt100 cursor keys for xterm
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
228 , KE_XDOWN = 66
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
229 , KE_XLEFT = 67
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
230 , KE_XRIGHT = 68
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
232 , KE_LEFTMOUSE_NM = 69 // non-mappable Left mouse button click
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
233 , KE_LEFTRELEASE_NM = 70 // non-mappable left mouse button release
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
235 , KE_S_XF1 = 71 // vt100 shifted function keys for xterm
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
236 , KE_S_XF2 = 72
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
237 , KE_S_XF3 = 73
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
238 , KE_S_XF4 = 74
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
240 // NOTE: The scroll wheel events are inverted: i.e. UP is the same as
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
241 // moving the actual scroll wheel down, LEFT is the same as moving the
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
242 // scroll wheel right.
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
243 , KE_MOUSEDOWN = 75 // scroll wheel pseudo-button Down
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
244 , KE_MOUSEUP = 76 // scroll wheel pseudo-button Up
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
245 , KE_MOUSELEFT = 77 // scroll wheel pseudo-button Left
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
246 , KE_MOUSERIGHT = 78 // scroll wheel pseudo-button Right
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
248 , KE_KINS = 79 // keypad Insert key
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
249 , KE_KDEL = 80 // keypad Delete key
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
251 , KE_CSI = 81 // CSI typed directly
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
252 , KE_SNR = 82 // <SNR>
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
253 , KE_PLUG = 83 // <Plug>
27478
ce352871b382 patch 8.2.4267: unused entry in keymap enum
Bram Moolenaar <Bram@vim.org>
parents: 27140
diff changeset
254 , KE_CMDWIN = 84 // open command-line window from Command-line
ce352871b382 patch 8.2.4267: unused entry in keymap enum
Bram Moolenaar <Bram@vim.org>
parents: 27140
diff changeset
255 // Mode
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
257 , KE_C_LEFT = 85 // control-left
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
258 , KE_C_RIGHT = 86 // control-right
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
259 , KE_C_HOME = 87 // control-home
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
260 , KE_C_END = 88 // control-end
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
262 , KE_X1MOUSE = 89 // X1/X2 mouse-buttons
11629
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
263 , KE_X1DRAG = 90
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
264 , KE_X1RELEASE = 91
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
265 , KE_X2MOUSE = 92
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
266 , KE_X2DRAG = 93
1a6daa73590a patch 8.0.0697: recorded key sequences may become invalid
Christian Brabandt <cb@256bit.org>
parents: 11557
diff changeset
267 , KE_X2RELEASE = 94
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
269 , KE_DROP = 95 // DnD data is available
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
270 , KE_CURSORHOLD = 96 // CursorHold event
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
271 , KE_NOP = 97 // doesn't do something
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
272 , KE_FOCUSGAINED = 98 // focus gained
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
273 , KE_FOCUSLOST = 99 // focus lost
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
274 , KE_MOUSEMOVE = 100 // mouse moved with no button down
24850
f8906bd5b277 patch 8.2.2963: GUI: mouse move may start Visual mode with a popup visible
Bram Moolenaar <Bram@vim.org>
parents: 22862
diff changeset
275 , KE_MOUSEMOVE_XY = 101 // KE_MOUSEMOVE with coordinates
f8906bd5b277 patch 8.2.2963: GUI: mouse move may start Visual mode with a popup visible
Bram Moolenaar <Bram@vim.org>
parents: 22862
diff changeset
276 , KE_CANCEL = 102 // return from vgetc()
f8906bd5b277 patch 8.2.2963: GUI: mouse move may start Visual mode with a popup visible
Bram Moolenaar <Bram@vim.org>
parents: 22862
diff changeset
277 , KE_COMMAND = 103 // <Cmd> special key
27140
a9eeb18e749c patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents: 24850
diff changeset
278 , KE_SCRIPT_COMMAND = 104 // <ScriptCmd> special key
28809
d0241e74bfdb patch 8.2.4928: various white space and cosmetic mistakes
Bram Moolenaar <Bram@vim.org>
parents: 28704
diff changeset
279 , KE_S_BS = 105 // shift + <BS>
30102
539fb427124d patch 9.0.0387: repeat <ScriptCmd> mapping doesn't use right script context
Bram Moolenaar <Bram@vim.org>
parents: 28809
diff changeset
280 , KE_SID = 106 // <SID> special key, followed by {nr};
31281
cab7d8accab7 patch 9.0.0974: even when Esc is encoded a timeout is used
Bram Moolenaar <Bram@vim.org>
parents: 30102
diff changeset
281 , KE_ESC = 107 // used for K_ESC
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 };
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284 /*
31281
cab7d8accab7 patch 9.0.0974: even when Esc is encoded a timeout is used
Bram Moolenaar <Bram@vim.org>
parents: 30102
diff changeset
285 * The three-byte codes are replaced with a negative number when using vgetc().
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 #define K_ZERO TERMCAP2KEY(KS_ZERO, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288
31281
cab7d8accab7 patch 9.0.0974: even when Esc is encoded a timeout is used
Bram Moolenaar <Bram@vim.org>
parents: 30102
diff changeset
289 #define K_ESC TERMCAP2KEY(KS_EXTRA, KE_ESC)
cab7d8accab7 patch 9.0.0974: even when Esc is encoded a timeout is used
Bram Moolenaar <Bram@vim.org>
parents: 30102
diff changeset
290
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291 #define K_UP TERMCAP2KEY('k', 'u')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 #define K_DOWN TERMCAP2KEY('k', 'd')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 #define K_LEFT TERMCAP2KEY('k', 'l')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 #define K_RIGHT TERMCAP2KEY('k', 'r')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295 #define K_S_UP TERMCAP2KEY(KS_EXTRA, KE_S_UP)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 #define K_S_DOWN TERMCAP2KEY(KS_EXTRA, KE_S_DOWN)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 #define K_S_LEFT TERMCAP2KEY('#', '4')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 #define K_C_LEFT TERMCAP2KEY(KS_EXTRA, KE_C_LEFT)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299 #define K_S_RIGHT TERMCAP2KEY('%', 'i')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300 #define K_C_RIGHT TERMCAP2KEY(KS_EXTRA, KE_C_RIGHT)
31281
cab7d8accab7 patch 9.0.0974: even when Esc is encoded a timeout is used
Bram Moolenaar <Bram@vim.org>
parents: 30102
diff changeset
301
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 #define K_S_HOME TERMCAP2KEY('#', '2')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303 #define K_C_HOME TERMCAP2KEY(KS_EXTRA, KE_C_HOME)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 #define K_S_END TERMCAP2KEY('*', '7')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 #define K_C_END TERMCAP2KEY(KS_EXTRA, KE_C_END)
31281
cab7d8accab7 patch 9.0.0974: even when Esc is encoded a timeout is used
Bram Moolenaar <Bram@vim.org>
parents: 30102
diff changeset
306
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 #define K_TAB TERMCAP2KEY(KS_EXTRA, KE_TAB)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308 #define K_S_TAB TERMCAP2KEY('k', 'B')
28704
e1aff2f300be patch 8.2.4876: MS-Windows: Shift-BS results in strange char in powershell
Bram Moolenaar <Bram@vim.org>
parents: 27478
diff changeset
309 #define K_S_BS TERMCAP2KEY(KS_EXTRA, KE_S_BS)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
311 // extra set of function keys F1-F4, for vt100 compatible xterm
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 #define K_XF1 TERMCAP2KEY(KS_EXTRA, KE_XF1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313 #define K_XF2 TERMCAP2KEY(KS_EXTRA, KE_XF2)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314 #define K_XF3 TERMCAP2KEY(KS_EXTRA, KE_XF3)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 #define K_XF4 TERMCAP2KEY(KS_EXTRA, KE_XF4)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
317 // extra set of cursor keys for vt100 compatible xterm
180
7e70fc748752 updated for version 7.0056
vimboss
parents: 179
diff changeset
318 #define K_XUP TERMCAP2KEY(KS_EXTRA, KE_XUP)
7e70fc748752 updated for version 7.0056
vimboss
parents: 179
diff changeset
319 #define K_XDOWN TERMCAP2KEY(KS_EXTRA, KE_XDOWN)
7e70fc748752 updated for version 7.0056
vimboss
parents: 179
diff changeset
320 #define K_XLEFT TERMCAP2KEY(KS_EXTRA, KE_XLEFT)
7e70fc748752 updated for version 7.0056
vimboss
parents: 179
diff changeset
321 #define K_XRIGHT TERMCAP2KEY(KS_EXTRA, KE_XRIGHT)
7e70fc748752 updated for version 7.0056
vimboss
parents: 179
diff changeset
322
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
323 #define K_F1 TERMCAP2KEY('k', '1') // function keys
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
324 #define K_F2 TERMCAP2KEY('k', '2')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
325 #define K_F3 TERMCAP2KEY('k', '3')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326 #define K_F4 TERMCAP2KEY('k', '4')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327 #define K_F5 TERMCAP2KEY('k', '5')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328 #define K_F6 TERMCAP2KEY('k', '6')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 #define K_F7 TERMCAP2KEY('k', '7')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330 #define K_F8 TERMCAP2KEY('k', '8')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
331 #define K_F9 TERMCAP2KEY('k', '9')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332 #define K_F10 TERMCAP2KEY('k', ';')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 #define K_F11 TERMCAP2KEY('F', '1')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
335 #define K_F12 TERMCAP2KEY('F', '2')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 #define K_F13 TERMCAP2KEY('F', '3')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
337 #define K_F14 TERMCAP2KEY('F', '4')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 #define K_F15 TERMCAP2KEY('F', '5')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 #define K_F16 TERMCAP2KEY('F', '6')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 #define K_F17 TERMCAP2KEY('F', '7')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
341 #define K_F18 TERMCAP2KEY('F', '8')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342 #define K_F19 TERMCAP2KEY('F', '9')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343 #define K_F20 TERMCAP2KEY('F', 'A')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
344
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 #define K_F21 TERMCAP2KEY('F', 'B')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346 #define K_F22 TERMCAP2KEY('F', 'C')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 #define K_F23 TERMCAP2KEY('F', 'D')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 #define K_F24 TERMCAP2KEY('F', 'E')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349 #define K_F25 TERMCAP2KEY('F', 'F')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350 #define K_F26 TERMCAP2KEY('F', 'G')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351 #define K_F27 TERMCAP2KEY('F', 'H')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
352 #define K_F28 TERMCAP2KEY('F', 'I')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
353 #define K_F29 TERMCAP2KEY('F', 'J')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354 #define K_F30 TERMCAP2KEY('F', 'K')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
355
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356 #define K_F31 TERMCAP2KEY('F', 'L')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 #define K_F32 TERMCAP2KEY('F', 'M')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
358 #define K_F33 TERMCAP2KEY('F', 'N')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
359 #define K_F34 TERMCAP2KEY('F', 'O')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
360 #define K_F35 TERMCAP2KEY('F', 'P')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
361 #define K_F36 TERMCAP2KEY('F', 'Q')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
362 #define K_F37 TERMCAP2KEY('F', 'R')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
363
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
364 // extra set of shifted function keys F1-F4, for vt100 compatible xterm
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
365 #define K_S_XF1 TERMCAP2KEY(KS_EXTRA, KE_S_XF1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
366 #define K_S_XF2 TERMCAP2KEY(KS_EXTRA, KE_S_XF2)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 #define K_S_XF3 TERMCAP2KEY(KS_EXTRA, KE_S_XF3)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
368 #define K_S_XF4 TERMCAP2KEY(KS_EXTRA, KE_S_XF4)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
369
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
370 #define K_S_F1 TERMCAP2KEY(KS_EXTRA, KE_S_F1) // shifted func. keys
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
371 #define K_S_F2 TERMCAP2KEY(KS_EXTRA, KE_S_F2)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
372 #define K_S_F3 TERMCAP2KEY(KS_EXTRA, KE_S_F3)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 #define K_S_F4 TERMCAP2KEY(KS_EXTRA, KE_S_F4)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
374 #define K_S_F5 TERMCAP2KEY(KS_EXTRA, KE_S_F5)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375 #define K_S_F6 TERMCAP2KEY(KS_EXTRA, KE_S_F6)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376 #define K_S_F7 TERMCAP2KEY(KS_EXTRA, KE_S_F7)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377 #define K_S_F8 TERMCAP2KEY(KS_EXTRA, KE_S_F8)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378 #define K_S_F9 TERMCAP2KEY(KS_EXTRA, KE_S_F9)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
379 #define K_S_F10 TERMCAP2KEY(KS_EXTRA, KE_S_F10)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
380
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
381 #define K_S_F11 TERMCAP2KEY(KS_EXTRA, KE_S_F11)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
382 #define K_S_F12 TERMCAP2KEY(KS_EXTRA, KE_S_F12)
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
383 // K_S_F13 to K_S_F37 are currently not used
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
384
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
385 #define K_HELP TERMCAP2KEY('%', '1')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
386 #define K_UNDO TERMCAP2KEY('&', '8')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
387
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
388 #define K_BS TERMCAP2KEY('k', 'b')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
389
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
390 #define K_INS TERMCAP2KEY('k', 'I')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
391 #define K_KINS TERMCAP2KEY(KS_EXTRA, KE_KINS)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
392 #define K_DEL TERMCAP2KEY('k', 'D')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
393 #define K_KDEL TERMCAP2KEY(KS_EXTRA, KE_KDEL)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
394 #define K_HOME TERMCAP2KEY('k', 'h')
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
395 #define K_KHOME TERMCAP2KEY('K', '1') // keypad home (upper left)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
396 #define K_XHOME TERMCAP2KEY(KS_EXTRA, KE_XHOME)
230
9281a51ca7a2 updated for version 7.0064
vimboss
parents: 203
diff changeset
397 #define K_ZHOME TERMCAP2KEY(KS_EXTRA, KE_ZHOME)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
398 #define K_END TERMCAP2KEY('@', '7')
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
399 #define K_KEND TERMCAP2KEY('K', '4') // keypad end (lower left)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
400 #define K_XEND TERMCAP2KEY(KS_EXTRA, KE_XEND)
230
9281a51ca7a2 updated for version 7.0064
vimboss
parents: 203
diff changeset
401 #define K_ZEND TERMCAP2KEY(KS_EXTRA, KE_ZEND)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
402 #define K_PAGEUP TERMCAP2KEY('k', 'P')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
403 #define K_PAGEDOWN TERMCAP2KEY('k', 'N')
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
404 #define K_KPAGEUP TERMCAP2KEY('K', '3') // keypad pageup (upper R.)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
405 #define K_KPAGEDOWN TERMCAP2KEY('K', '5') // keypad pagedown (lower R.)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
406
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
407 #define K_KPLUS TERMCAP2KEY('K', '6') // keypad plus
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
408 #define K_KMINUS TERMCAP2KEY('K', '7') // keypad minus
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
409 #define K_KDIVIDE TERMCAP2KEY('K', '8') // keypad /
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
410 #define K_KMULTIPLY TERMCAP2KEY('K', '9') // keypad *
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
411 #define K_KENTER TERMCAP2KEY('K', 'A') // keypad Enter
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
412 #define K_KPOINT TERMCAP2KEY('K', 'B') // keypad . or ,
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
413 #define K_PS TERMCAP2KEY('P', 'S') // paste start
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
414 #define K_PE TERMCAP2KEY('P', 'E') // paste end
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
415
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
416 #define K_K0 TERMCAP2KEY('K', 'C') // keypad 0
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
417 #define K_K1 TERMCAP2KEY('K', 'D') // keypad 1
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
418 #define K_K2 TERMCAP2KEY('K', 'E') // keypad 2
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
419 #define K_K3 TERMCAP2KEY('K', 'F') // keypad 3
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
420 #define K_K4 TERMCAP2KEY('K', 'G') // keypad 4
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
421 #define K_K5 TERMCAP2KEY('K', 'H') // keypad 5
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
422 #define K_K6 TERMCAP2KEY('K', 'I') // keypad 6
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
423 #define K_K7 TERMCAP2KEY('K', 'J') // keypad 7
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
424 #define K_K8 TERMCAP2KEY('K', 'K') // keypad 8
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
425 #define K_K9 TERMCAP2KEY('K', 'L') // keypad 9
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
426
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
427 #define K_MOUSE TERMCAP2KEY(KS_MOUSE, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
428 #define K_MENU TERMCAP2KEY(KS_MENU, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
429 #define K_VER_SCROLLBAR TERMCAP2KEY(KS_VER_SCROLLBAR, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
430 #define K_HOR_SCROLLBAR TERMCAP2KEY(KS_HOR_SCROLLBAR, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
431
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
432 #define K_NETTERM_MOUSE TERMCAP2KEY(KS_NETTERM_MOUSE, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
433 #define K_DEC_MOUSE TERMCAP2KEY(KS_DEC_MOUSE, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
434 #define K_JSBTERM_MOUSE TERMCAP2KEY(KS_JSBTERM_MOUSE, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
435 #define K_PTERM_MOUSE TERMCAP2KEY(KS_PTERM_MOUSE, KE_FILLER)
3273
c75a8d2404bd updated for version 7.3.405
Bram Moolenaar <bram@vim.org>
parents: 3145
diff changeset
436 #define K_URXVT_MOUSE TERMCAP2KEY(KS_URXVT_MOUSE, KE_FILLER)
3746
44038a9777aa updated for version 7.3.632
Bram Moolenaar <bram@vim.org>
parents: 3273
diff changeset
437 #define K_SGR_MOUSE TERMCAP2KEY(KS_SGR_MOUSE, KE_FILLER)
11557
7e5e76d8d451 patch 8.0.0661: recognizing urxvt mouse codes does not work well
Christian Brabandt <cb@256bit.org>
parents: 10644
diff changeset
438 #define K_SGR_MOUSERELEASE TERMCAP2KEY(KS_SGR_MOUSE_RELEASE, KE_FILLER)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
439
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
440 #define K_SELECT TERMCAP2KEY(KS_SELECT, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
441 #define K_TEAROFF TERMCAP2KEY(KS_TEAROFF, KE_FILLER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
442
685
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 620
diff changeset
443 #define K_TABLINE TERMCAP2KEY(KS_TABLINE, KE_FILLER)
687
d4b8e06e7c96 updated for version 7.0207
vimboss
parents: 685
diff changeset
444 #define K_TABMENU TERMCAP2KEY(KS_TABMENU, KE_FILLER)
685
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 620
diff changeset
445
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
446 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
447 * Symbols for pseudo keys which are translated from the real key symbols
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
448 * above.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
449 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
450 #define K_LEFTMOUSE TERMCAP2KEY(KS_EXTRA, KE_LEFTMOUSE)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
451 #define K_LEFTMOUSE_NM TERMCAP2KEY(KS_EXTRA, KE_LEFTMOUSE_NM)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
452 #define K_LEFTDRAG TERMCAP2KEY(KS_EXTRA, KE_LEFTDRAG)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
453 #define K_LEFTRELEASE TERMCAP2KEY(KS_EXTRA, KE_LEFTRELEASE)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
454 #define K_LEFTRELEASE_NM TERMCAP2KEY(KS_EXTRA, KE_LEFTRELEASE_NM)
12865
ebb4f6c93598 patch 8.0.1309: cannot use 'balloonexpr' in a terminal
Christian Brabandt <cb@256bit.org>
parents: 12716
diff changeset
455 #define K_MOUSEMOVE TERMCAP2KEY(KS_EXTRA, KE_MOUSEMOVE)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
456 #define K_MIDDLEMOUSE TERMCAP2KEY(KS_EXTRA, KE_MIDDLEMOUSE)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
457 #define K_MIDDLEDRAG TERMCAP2KEY(KS_EXTRA, KE_MIDDLEDRAG)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
458 #define K_MIDDLERELEASE TERMCAP2KEY(KS_EXTRA, KE_MIDDLERELEASE)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
459 #define K_RIGHTMOUSE TERMCAP2KEY(KS_EXTRA, KE_RIGHTMOUSE)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
460 #define K_RIGHTDRAG TERMCAP2KEY(KS_EXTRA, KE_RIGHTDRAG)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
461 #define K_RIGHTRELEASE TERMCAP2KEY(KS_EXTRA, KE_RIGHTRELEASE)
22862
6d50182e7e24 patch 8.2.1978: making a mapping work in all modes is complicated
Bram Moolenaar <Bram@vim.org>
parents: 18753
diff changeset
462 #define K_X1MOUSE TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)
6d50182e7e24 patch 8.2.1978: making a mapping work in all modes is complicated
Bram Moolenaar <Bram@vim.org>
parents: 18753
diff changeset
463 #define K_X1MOUSE TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
464 #define K_X1DRAG TERMCAP2KEY(KS_EXTRA, KE_X1DRAG)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
465 #define K_X1RELEASE TERMCAP2KEY(KS_EXTRA, KE_X1RELEASE)
22862
6d50182e7e24 patch 8.2.1978: making a mapping work in all modes is complicated
Bram Moolenaar <Bram@vim.org>
parents: 18753
diff changeset
466 #define K_X2MOUSE TERMCAP2KEY(KS_EXTRA, KE_X2MOUSE)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
467 #define K_X2DRAG TERMCAP2KEY(KS_EXTRA, KE_X2DRAG)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
468 #define K_X2RELEASE TERMCAP2KEY(KS_EXTRA, KE_X2RELEASE)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
469
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
470 #define K_IGNORE TERMCAP2KEY(KS_EXTRA, KE_IGNORE)
620
9e359e5759f6 updated for version 7.0177
vimboss
parents: 595
diff changeset
471 #define K_NOP TERMCAP2KEY(KS_EXTRA, KE_NOP)
13829
044337cbf854 patch 8.0.1786: no test for 'termwinkey'
Christian Brabandt <cb@256bit.org>
parents: 12865
diff changeset
472 #define K_CANCEL TERMCAP2KEY(KS_EXTRA, KE_CANCEL)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
473
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
474 #define K_MOUSEDOWN TERMCAP2KEY(KS_EXTRA, KE_MOUSEDOWN)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
475 #define K_MOUSEUP TERMCAP2KEY(KS_EXTRA, KE_MOUSEUP)
2409
0ca06a92adfb Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents: 1380
diff changeset
476 #define K_MOUSELEFT TERMCAP2KEY(KS_EXTRA, KE_MOUSELEFT)
0ca06a92adfb Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents: 1380
diff changeset
477 #define K_MOUSERIGHT TERMCAP2KEY(KS_EXTRA, KE_MOUSERIGHT)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
478
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
479 #define K_CSI TERMCAP2KEY(KS_EXTRA, KE_CSI)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
480 #define K_SNR TERMCAP2KEY(KS_EXTRA, KE_SNR)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
481 #define K_PLUG TERMCAP2KEY(KS_EXTRA, KE_PLUG)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
482 #define K_CMDWIN TERMCAP2KEY(KS_EXTRA, KE_CMDWIN)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
483
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
484 #define K_DROP TERMCAP2KEY(KS_EXTRA, KE_DROP)
1380
99a9e42e5688 updated for version 7.1-095
vimboss
parents: 1121
diff changeset
485 #define K_FOCUSGAINED TERMCAP2KEY(KS_EXTRA, KE_FOCUSGAINED)
99a9e42e5688 updated for version 7.1-095
vimboss
parents: 1121
diff changeset
486 #define K_FOCUSLOST TERMCAP2KEY(KS_EXTRA, KE_FOCUSLOST)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
487
203
80000fb16feb updated for version 7.0060
vimboss
parents: 180
diff changeset
488 #define K_CURSORHOLD TERMCAP2KEY(KS_EXTRA, KE_CURSORHOLD)
80000fb16feb updated for version 7.0060
vimboss
parents: 180
diff changeset
489
22862
6d50182e7e24 patch 8.2.1978: making a mapping work in all modes is complicated
Bram Moolenaar <Bram@vim.org>
parents: 18753
diff changeset
490 #define K_COMMAND TERMCAP2KEY(KS_EXTRA, KE_COMMAND)
27140
a9eeb18e749c patch 8.2.4099: Vim9: cannot use Vim9 syntax in mapping
Bram Moolenaar <Bram@vim.org>
parents: 24850
diff changeset
491 #define K_SCRIPT_COMMAND TERMCAP2KEY(KS_EXTRA, KE_SCRIPT_COMMAND)
30102
539fb427124d patch 9.0.0387: repeat <ScriptCmd> mapping doesn't use right script context
Bram Moolenaar <Bram@vim.org>
parents: 28809
diff changeset
492 #define K_SID TERMCAP2KEY(KS_EXTRA, KE_SID)
22862
6d50182e7e24 patch 8.2.1978: making a mapping work in all modes is complicated
Bram Moolenaar <Bram@vim.org>
parents: 18753
diff changeset
493
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
494 // Bits for modifier mask
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
495 // 0x01 cannot be used, because the modifier must be 0x02 or higher
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
496 #define MOD_MASK_SHIFT 0x02
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
497 #define MOD_MASK_CTRL 0x04
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
498 #define MOD_MASK_ALT 0x08 // aka META
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
499 #define MOD_MASK_META 0x10 // META when it's different from ALT
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
500 #define MOD_MASK_2CLICK 0x20 // use MOD_MASK_MULTI_CLICK
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
501 #define MOD_MASK_3CLICK 0x40 // use MOD_MASK_MULTI_CLICK
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
502 #define MOD_MASK_4CLICK 0x60 // use MOD_MASK_MULTI_CLICK
34219
a0a4a774117b patch 9.1.0058: Cannot map Super Keys in GTK UI
Christian Brabandt <cb@256bit.org>
parents: 31281
diff changeset
503 #if defined(MACOS_X) || defined(FEAT_GUI_GTK)
a0a4a774117b patch 9.1.0058: Cannot map Super Keys in GTK UI
Christian Brabandt <cb@256bit.org>
parents: 31281
diff changeset
504 # define MOD_MASK_CMD 0x80 // aka SUPER
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
505 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
506
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
507 #define MOD_MASK_MULTI_CLICK (MOD_MASK_2CLICK|MOD_MASK_3CLICK|MOD_MASK_4CLICK)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
508
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
509 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
510 * The length of the longest special key name, including modifiers.
10644
2025bec9175f patch 8.0.0212: buffer for key name may be too small
Christian Brabandt <cb@256bit.org>
parents: 10640
diff changeset
511 * Current longest is <M-C-S-T-D-A-4-ScrollWheelRight> (length includes '<' and
2025bec9175f patch 8.0.0212: buffer for key name may be too small
Christian Brabandt <cb@256bit.org>
parents: 10640
diff changeset
512 * '>').
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
513 */
10644
2025bec9175f patch 8.0.0212: buffer for key name may be too small
Christian Brabandt <cb@256bit.org>
parents: 10640
diff changeset
514 #define MAX_KEY_NAME_LEN 32
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
515
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
516 /*
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 16523
diff changeset
517 * Maximum length of a special key event as tokens. This includes modifiers.
179
7fd70926e2e1 updated for version 7.0055
vimboss
parents: 36
diff changeset
518 * The longest event is something like <M-C-S-T-4-LeftDrag> which would be the
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
519 * following string of tokens:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
520 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
521 * <K_SPECIAL> <KS_MODIFIER> bitmask <K_SPECIAL> <KS_EXTRA> <KT_LEFTDRAG>.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
522 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
523 * This is a total of 6 tokens, and is currently the longest one possible.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
524 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
525 #define MAX_KEY_CODE_LEN 6