teditor  1.8.0@@fee5e94
Terminal based editor written in C++
xterm_strokes.h
Go to the documentation of this file.
1 const std::vector<KeyCombo> KeyCombo::Combos = {
2  // special keys above arrow keys in most keyboards
3  {Key_Insert|Meta_None, "[2~"},
4  {Key_Delete|Meta_None, "[3~"},
5  {Key_PageUp|Meta_None, "[5~"},
6  {Key_PageDown|Meta_None, "[6~"},
7  // mintty
8  {Key_Home|Meta_None, "OH"},
9  {Key_End|Meta_None, "OF"},
10  // cmd prompt
11  {Key_Home|Meta_None, "[1~"},
12  {Key_End|Meta_None, "[4~"},
13 
14  // Meta with special keys
15  {Key_Delete|Meta_Ctrl, "[3;5~"},
16  {Key_PageUp|Meta_Ctrl, "[5;5~"},
17  {Key_PageDown|Meta_Ctrl, "[6;5~"},
18  {Key_PageUp|Meta_Ctrl|Meta_Shift, "[5;6~"},
20  // mintty
21  {Key_Home|Meta_Ctrl, "[1;5H"},
22  {Key_End|Meta_Ctrl, "[1;5F"},
23  // cmd prompt
24  {Key_Home|Meta_Ctrl, "[1;5~"},
25  {Key_End|Meta_Ctrl, "[4;5~"},
26 
27  // Arrow Keys
28  // mintty
29  {Key_ArrowUp|Meta_None, "OA"},
30  {Key_ArrowDown|Meta_None, "OB"},
31  {Key_ArrowRight|Meta_None, "OC"},
32  {Key_ArrowLeft|Meta_None, "OD"},
33  // cmd prompt
34  {Key_ArrowUp|Meta_None, "[A"},
35  {Key_ArrowDown|Meta_None, "[B"},
36  {Key_ArrowRight|Meta_None, "[C"},
37  {Key_ArrowLeft|Meta_None, "[D"},
38 
39  // Shift+Arrow Keys
40  {Key_ArrowUp|Meta_Shift, "[1;2A"},
41  {Key_ArrowDown|Meta_Shift, "[1;2B"},
42  {Key_ArrowRight|Meta_Shift, "[1;2C"},
43  {Key_ArrowLeft|Meta_Shift, "[1;2D"},
44 
45  // Alt+Arrow Keys
46  // mintty
47  {Key_ArrowUp|Meta_Alt, "[1;3A"},
48  {Key_ArrowDown|Meta_Alt, "[1;3B"},
49  {Key_ArrowRight|Meta_Alt, "[1;3C"},
50  {Key_ArrowLeft|Meta_Alt, "[1;3D"},
51  // cmd prompt
52  {Key_ArrowUp|Meta_Alt, "\e[A"},
53  {Key_ArrowDown|Meta_Alt, "\e[B"},
54  {Key_ArrowRight|Meta_Alt, "\e[C"},
55  {Key_ArrowLeft|Meta_Alt, "\e[D"},
56 
57  // Ctrl+Arrow Keys
58  {Key_ArrowUp|Meta_Ctrl, "[1;5A"},
59  {Key_ArrowDown|Meta_Ctrl, "[1;5B"},
60  {Key_ArrowRight|Meta_Ctrl, "[1;5C"},
61  {Key_ArrowLeft|Meta_Ctrl, "[1;5D"},
62 
63  // Ctrl+Alt+Arrow Keys
64  // mintty
65  {Key_ArrowUp|Meta_Ctrl|Meta_Alt, "[1;7A"},
66  {Key_ArrowDown|Meta_Ctrl|Meta_Alt, "[1;7B"},
68  {Key_ArrowLeft|Meta_Ctrl|Meta_Alt, "[1;7D"},
69  // cmd prompt
70  {Key_ArrowUp|Meta_Ctrl|Meta_Alt, "\e[1;5A"},
71  {Key_ArrowDown|Meta_Ctrl|Meta_Alt, "\e[1;5B"},
72  {Key_ArrowRight|Meta_Ctrl|Meta_Alt, "\e[1;5C"},
73  {Key_ArrowLeft|Meta_Ctrl|Meta_Alt, "\e[1;5D"},
74 
75  // Ctrl+Shift+Arrow Keys
76  // mintty
77  {Key_ArrowUp|Meta_Ctrl|Meta_Shift, "[1;6A"},
81  // cmd prompt
82  {Key_ArrowUp|Meta_Ctrl|Meta_Shift, "\e[1;6A"},
83  {Key_ArrowDown|Meta_Ctrl|Meta_Shift, "\e[1;6B"},
84  {Key_ArrowRight|Meta_Ctrl|Meta_Shift, "\e[1;6C"},
85  {Key_ArrowLeft|Meta_Ctrl|Meta_Shift, "\e[1;6D"},
86 
87  // Ctrl+Shift+Alt+Arrow Keys
88  // mintty
93 
94  // Alt+Shift+Arrow Keys
95  // cmd prompt
96  {Key_ArrowUp|Meta_Alt|Meta_Shift, "[1;4A"},
100  // cmd prompt
101  {Key_ArrowUp|Meta_Alt|Meta_Shift, "\e[1;2A"},
102  {Key_ArrowDown|Meta_Alt|Meta_Shift, "\e[1;2B"},
103  {Key_ArrowRight|Meta_Alt|Meta_Shift, "\e[1;2C"},
104  {Key_ArrowLeft|Meta_Alt|Meta_Shift, "\e[1;2D"},
105 
106  // Meta keys + TAB
107  {Key_Tab|Meta_Ctrl, "[1;5I"},
108  {Key_Tab|Meta_Shift, "[Z"},
109  {Key_Tab|Meta_Ctrl|Meta_Shift, "[1;6I"},
110 
111  // Function keys
112  // mintty
113  {Key_F1|Meta_None, "OP"},
114  {Key_F2|Meta_None, "OQ"},
115  {Key_F3|Meta_None, "OR"},
116  {Key_F4|Meta_None, "OS"},
117  {Key_F5|Meta_None, "[15~"},
118  // cmd prompt
119  {Key_F1|Meta_None, "[[A"},
120  {Key_F2|Meta_None, "[[B"},
121  {Key_F3|Meta_None, "[[C"},
122  {Key_F4|Meta_None, "[[D"},
123  {Key_F5|Meta_None, "[[E"},
124  // common
125  {Key_F6|Meta_None, "[17~"},
126  {Key_F7|Meta_None, "[18~"},
127  {Key_F8|Meta_None, "[19~"},
128  {Key_F9|Meta_None, "[20~"},
129  {Key_F10|Meta_None, "[21~"},
130  {Key_F11|Meta_None, "[23~"},
131  {Key_F12|Meta_None, "[24~"},
132 
133  // Ctrl + Function keys
134  // mintty
135  {Key_F1|Meta_Ctrl, "[1;5P"},
136  {Key_F2|Meta_Ctrl, "[1;5Q"},
137  {Key_F3|Meta_Ctrl, "[1;5R"},
138  {Key_F4|Meta_Ctrl, "[1;5S"},
139  {Key_F5|Meta_Ctrl, "[15;5~"},
140  {Key_F6|Meta_Ctrl, "[17;5~"},
141  {Key_F7|Meta_Ctrl, "[18;5~"},
142  {Key_F8|Meta_Ctrl, "[19;5~"},
143  {Key_F9|Meta_Ctrl, "[20;5~"},
144  {Key_F10|Meta_Ctrl, "[21;5~"},
145  {Key_F11|Meta_Ctrl, "[23;5~"},
146  {Key_F12|Meta_Ctrl, "[24;5~"},
147  // cmd prompt
148  {Key_F1|Meta_Ctrl, "[11^"},
149  {Key_F2|Meta_Ctrl, "[12^"},
150  {Key_F3|Meta_Ctrl, "[13^"},
151  {Key_F4|Meta_Ctrl, "[14^"},
152  {Key_F5|Meta_Ctrl, "[15^"},
153  {Key_F6|Meta_Ctrl, "[17^"},
154  {Key_F7|Meta_Ctrl, "[18^"},
155  {Key_F8|Meta_Ctrl, "[19^"},
156  {Key_F9|Meta_Ctrl, "[20^"},
157  {Key_F10|Meta_Ctrl, "[21^"},
158  {Key_F11|Meta_Ctrl, "[23^"},
159  {Key_F12|Meta_Ctrl, "[24^"},
160 
161  // Ctrl + Shift + Function keys
162  // mintty
163  {Key_F1|Meta_Ctrl|Meta_Shift, "[1;6P"},
164  {Key_F2|Meta_Ctrl|Meta_Shift, "[1;6Q"},
165  {Key_F3|Meta_Ctrl|Meta_Shift, "[1;6R"},
166  {Key_F4|Meta_Ctrl|Meta_Shift, "[1;6S"},
167  {Key_F5|Meta_Ctrl|Meta_Shift, "[15;6~"},
168  {Key_F6|Meta_Ctrl|Meta_Shift, "[17;6~"},
169  {Key_F7|Meta_Ctrl|Meta_Shift, "[18;6~"},
170  {Key_F8|Meta_Ctrl|Meta_Shift, "[19;6~"},
171  {Key_F9|Meta_Ctrl|Meta_Shift, "[20;6~"},
172  {Key_F10|Meta_Ctrl|Meta_Shift, "[21;6~"},
173  {Key_F11|Meta_Ctrl|Meta_Shift, "[23;6~"},
174  {Key_F12|Meta_Ctrl|Meta_Shift, "[24;6~"},
175  // cmd prompt (F1, F2 combinations are aliased!)
176  {Key_F3|Meta_Ctrl|Meta_Shift, "[25^"},
177  {Key_F4|Meta_Ctrl|Meta_Shift, "[26^"},
178  {Key_F5|Meta_Ctrl|Meta_Shift, "[28^"},
179  {Key_F6|Meta_Ctrl|Meta_Shift, "[29^"},
180  {Key_F7|Meta_Ctrl|Meta_Shift, "[31^"},
181  {Key_F8|Meta_Ctrl|Meta_Shift, "[32^"},
182  {Key_F9|Meta_Ctrl|Meta_Shift, "[33^"},
183  {Key_F10|Meta_Ctrl|Meta_Shift, "[34^"},
184  {Key_F11|Meta_Ctrl|Meta_Shift, "[23@"},
185  {Key_F12|Meta_Ctrl|Meta_Shift, "[24@"},
186 };
teditor::Key_F7
static const key_t Key_F7
Definition: keys.h:24
teditor::Key_F5
static const key_t Key_F5
Definition: keys.h:22
teditor::Meta_Ctrl
static const key_t Meta_Ctrl
Definition: keys.h:15
teditor::Key_F9
static const key_t Key_F9
Definition: keys.h:26
teditor::Key_ArrowUp
static const key_t Key_ArrowUp
Definition: keys.h:39
teditor::Key_F11
static const key_t Key_F11
Definition: keys.h:28
teditor::Key_Tab
static const key_t Key_Tab
Definition: keys.h:57
teditor::Key_F1
static const key_t Key_F1
Definition: keys.h:18
teditor::Key_Delete
static const key_t Key_Delete
Definition: keys.h:31
teditor::Key_F10
static const key_t Key_F10
Definition: keys.h:27
teditor::Key_F6
static const key_t Key_F6
Definition: keys.h:23
teditor::Key_ArrowRight
static const key_t Key_ArrowRight
Definition: keys.h:37
teditor::Key_ArrowDown
static const key_t Key_ArrowDown
Definition: keys.h:38
teditor::Key_Home
static const key_t Key_Home
Definition: keys.h:32
teditor::Key_PageDown
static const key_t Key_PageDown
Definition: keys.h:35
teditor::Key_F4
static const key_t Key_F4
Definition: keys.h:21
teditor::Key_End
static const key_t Key_End
Definition: keys.h:33
teditor::Key_F12
static const key_t Key_F12
Definition: keys.h:29
teditor::Key_Insert
static const key_t Key_Insert
Definition: keys.h:30
teditor::Key_ArrowLeft
static const key_t Key_ArrowLeft
Definition: keys.h:36
teditor::Meta_Alt
static const key_t Meta_Alt
Definition: keys.h:14
teditor::Key_F8
static const key_t Key_F8
Definition: keys.h:25
teditor::Meta_Shift
static const key_t Meta_Shift
Definition: keys.h:13
teditor::Key_F2
static const key_t Key_F2
Definition: keys.h:19
teditor::Key_PageUp
static const key_t Key_PageUp
Definition: keys.h:34
teditor::Key_F3
static const key_t Key_F3
Definition: keys.h:20
teditor::Meta_None
static const key_t Meta_None
Definition: keys.h:12