xref: /aosp_15_r20/external/coreboot/payloads/libpayload/include/keycodes.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* Public Domain Curses */
2 
3 /* $Id: curses.h,v 1.295 2008/07/15 17:13:25 wmcbrine Exp $ */
4 
5 #ifndef _KEYCODES_H
6 #define _KEYCODES_H
7 
8 /*----------------------------------------------------------------------
9  *
10  *  Function and Keypad Key Definitions.
11  *  Many are just for compatibility.
12  *
13  */
14 
15 #define KEY_CODE_YES  0x100  /* If get_wch() gives a key code */
16 
17 #define KEY_BREAK     0x101  /* Not on PC KBD */
18 #define KEY_DOWN      0x102  /* Down arrow key */
19 #define KEY_UP        0x103  /* Up arrow key */
20 #define KEY_LEFT      0x104  /* Left arrow key */
21 #define KEY_RIGHT     0x105  /* Right arrow key */
22 #define KEY_HOME      0x106  /* home key */
23 #define KEY_BACKSPACE 0x107  /* not on pc */
24 #define KEY_F0        0x108  /* function keys; 64 reserved */
25 
26 #define KEY_DL        0x148  /* delete line */
27 #define KEY_IL        0x149  /* insert line */
28 #define KEY_DC        0x14a  /* delete character */
29 #define KEY_IC        0x14b  /* insert char or enter ins mode */
30 #define KEY_EIC       0x14c  /* exit insert char mode */
31 #define KEY_CLEAR     0x14d  /* clear screen */
32 #define KEY_EOS       0x14e  /* clear to end of screen */
33 #define KEY_EOL       0x14f  /* clear to end of line */
34 #define KEY_SF        0x150  /* scroll 1 line forward */
35 #define KEY_SR        0x151  /* scroll 1 line back (reverse) */
36 #define KEY_NPAGE     0x152  /* next page */
37 #define KEY_PPAGE     0x153  /* previous page */
38 #define KEY_STAB      0x154  /* set tab */
39 #define KEY_CTAB      0x155  /* clear tab */
40 #define KEY_CATAB     0x156  /* clear all tabs */
41 #define KEY_ENTER     0x157  /* enter or send (unreliable) */
42 #define KEY_SRESET    0x158  /* soft/reset (partial/unreliable) */
43 #define KEY_RESET     0x159  /* reset/hard reset (unreliable) */
44 #define KEY_PRINT     0x15a  /* print/copy */
45 #define KEY_LL        0x15b  /* home down/bottom (lower left) */
46 #define KEY_ABORT     0x15c  /* abort/terminate key (any) */
47 #define KEY_SHELP     0x15d  /* short help */
48 #define KEY_LHELP     0x15e  /* long help */
49 #define KEY_BTAB      0x15f  /* Back tab key */
50 #define KEY_BEG       0x160  /* beg(inning) key */
51 #define KEY_CANCEL    0x161  /* cancel key */
52 #define KEY_CLOSE     0x162  /* close key */
53 #define KEY_COMMAND   0x163  /* cmd (command) key */
54 #define KEY_COPY      0x164  /* copy key */
55 #define KEY_CREATE    0x165  /* create key */
56 #define KEY_END       0x166  /* end key */
57 #define KEY_EXIT      0x167  /* exit key */
58 #define KEY_FIND      0x168  /* find key */
59 #define KEY_HELP      0x169  /* help key */
60 #define KEY_MARK      0x16a  /* mark key */
61 #define KEY_MESSAGE   0x16b  /* message key */
62 #define KEY_MOVE      0x16c  /* move key */
63 #define KEY_NEXT      0x16d  /* next object key */
64 #define KEY_OPEN      0x16e  /* open key */
65 #define KEY_OPTIONS   0x16f  /* options key */
66 #define KEY_PREVIOUS  0x170  /* previous object key */
67 #define KEY_REDO      0x171  /* redo key */
68 #define KEY_REFERENCE 0x172  /* ref(erence) key */
69 #define KEY_REFRESH   0x173  /* refresh key */
70 #define KEY_REPLACE   0x174  /* replace key */
71 #define KEY_RESTART   0x175  /* restart key */
72 #define KEY_RESUME    0x176  /* resume key */
73 #define KEY_SAVE      0x177  /* save key */
74 #define KEY_SBEG      0x178  /* shifted beginning key */
75 #define KEY_SCANCEL   0x179  /* shifted cancel key */
76 #define KEY_SCOMMAND  0x17a  /* shifted command key */
77 #define KEY_SCOPY     0x17b  /* shifted copy key */
78 #define KEY_SCREATE   0x17c  /* shifted create key */
79 #define KEY_SDC       0x17d  /* shifted delete char key */
80 #define KEY_SDL       0x17e  /* shifted delete line key */
81 #define KEY_SELECT    0x17f  /* select key */
82 #define KEY_SEND      0x180  /* shifted end key */
83 #define KEY_SEOL      0x181  /* shifted clear line key */
84 #define KEY_SEXIT     0x182  /* shifted exit key */
85 #define KEY_SFIND     0x183  /* shifted find key */
86 #define KEY_SHOME     0x184  /* shifted home key */
87 #define KEY_SIC       0x185  /* shifted input key */
88 
89 #define KEY_SLEFT     0x187  /* shifted left arrow key */
90 #define KEY_SMESSAGE  0x188  /* shifted message key */
91 #define KEY_SMOVE     0x189  /* shifted move key */
92 #define KEY_SNEXT     0x18a  /* shifted next key */
93 #define KEY_SOPTIONS  0x18b  /* shifted options key */
94 #define KEY_SPREVIOUS 0x18c  /* shifted prev key */
95 #define KEY_SPRINT    0x18d  /* shifted print key */
96 #define KEY_SREDO     0x18e  /* shifted redo key */
97 #define KEY_SREPLACE  0x18f  /* shifted replace key */
98 #define KEY_SRIGHT    0x190  /* shifted right arrow */
99 #define KEY_SRSUME    0x191  /* shifted resume key */
100 #define KEY_SSAVE     0x192  /* shifted save key */
101 #define KEY_SSUSPEND  0x193  /* shifted suspend key */
102 #define KEY_SUNDO     0x194  /* shifted undo key */
103 #define KEY_SUSPEND   0x195  /* suspend key */
104 #define KEY_UNDO      0x196  /* undo key */
105 
106 /* PDCurses-specific key definitions -- PC only */
107 
108 #define ALT_0         0x197
109 #define ALT_1         0x198
110 #define ALT_2         0x199
111 #define ALT_3         0x19a
112 #define ALT_4         0x19b
113 #define ALT_5         0x19c
114 #define ALT_6         0x19d
115 #define ALT_7         0x19e
116 #define ALT_8         0x19f
117 #define ALT_9         0x1a0
118 #define ALT_A         0x1a1
119 #define ALT_B         0x1a2
120 #define ALT_C         0x1a3
121 #define ALT_D         0x1a4
122 #define ALT_E         0x1a5
123 #define ALT_F         0x1a6
124 #define ALT_G         0x1a7
125 #define ALT_H         0x1a8
126 #define ALT_I         0x1a9
127 #define ALT_J         0x1aa
128 #define ALT_K         0x1ab
129 #define ALT_L         0x1ac
130 #define ALT_M         0x1ad
131 #define ALT_N         0x1ae
132 #define ALT_O         0x1af
133 #define ALT_P         0x1b0
134 #define ALT_Q         0x1b1
135 #define ALT_R         0x1b2
136 #define ALT_S         0x1b3
137 #define ALT_T         0x1b4
138 #define ALT_U         0x1b5
139 #define ALT_V         0x1b6
140 #define ALT_W         0x1b7
141 #define ALT_X         0x1b8
142 #define ALT_Y         0x1b9
143 #define ALT_Z         0x1ba
144 
145 #define CTL_LEFT      0x1bb  /* Control-Left-Arrow */
146 #define CTL_RIGHT     0x1bc
147 #define CTL_PGUP      0x1bd
148 #define CTL_PGDN      0x1be
149 #define CTL_HOME      0x1bf
150 #define CTL_END       0x1c0
151 
152 #define KEY_A1        0x1c1  /* upper left on Virtual keypad */
153 #define KEY_A2        0x1c2  /* upper middle on Virt. keypad */
154 #define KEY_A3        0x1c3  /* upper right on Vir. keypad */
155 #define KEY_B1        0x1c4  /* middle left on Virt. keypad */
156 #define KEY_B2        0x1c5  /* center on Virt. keypad */
157 #define KEY_B3        0x1c6  /* middle right on Vir. keypad */
158 #define KEY_C1        0x1c7  /* lower left on Virt. keypad */
159 #define KEY_C2        0x1c8  /* lower middle on Virt. keypad */
160 #define KEY_C3        0x1c9  /* lower right on Vir. keypad */
161 
162 #define PADSLASH      0x1ca  /* slash on keypad */
163 #define PADENTER      0x1cb  /* enter on keypad */
164 #define CTL_PADENTER  0x1cc  /* ctl-enter on keypad */
165 #define ALT_PADENTER  0x1cd  /* alt-enter on keypad */
166 #define PADSTOP       0x1ce  /* stop on keypad */
167 #define PADSTAR       0x1cf  /* star on keypad */
168 #define PADMINUS      0x1d0  /* minus on keypad */
169 #define PADPLUS       0x1d1  /* plus on keypad */
170 #define CTL_PADSTOP   0x1d2  /* ctl-stop on keypad */
171 #define CTL_PADCENTER 0x1d3  /* ctl-enter on keypad */
172 #define CTL_PADPLUS   0x1d4  /* ctl-plus on keypad */
173 #define CTL_PADMINUS  0x1d5  /* ctl-minus on keypad */
174 #define CTL_PADSLASH  0x1d6  /* ctl-slash on keypad */
175 #define CTL_PADSTAR   0x1d7  /* ctl-star on keypad */
176 #define ALT_PADPLUS   0x1d8  /* alt-plus on keypad */
177 #define ALT_PADMINUS  0x1d9  /* alt-minus on keypad */
178 #define ALT_PADSLASH  0x1da  /* alt-slash on keypad */
179 #define ALT_PADSTAR   0x1db  /* alt-star on keypad */
180 #define ALT_PADSTOP   0x1dc  /* alt-stop on keypad */
181 #define CTL_INS       0x1dd  /* ctl-insert */
182 #define ALT_DEL       0x1de  /* alt-delete */
183 #define ALT_INS       0x1df  /* alt-insert */
184 #define CTL_UP        0x1e0  /* ctl-up arrow */
185 #define CTL_DOWN      0x1e1  /* ctl-down arrow */
186 #define CTL_TAB       0x1e2  /* ctl-tab */
187 #define ALT_TAB       0x1e3
188 #define ALT_MINUS     0x1e4
189 #define ALT_EQUAL     0x1e5
190 #define ALT_HOME      0x1e6
191 #define ALT_PGUP      0x1e7
192 #define ALT_PGDN      0x1e8
193 #define ALT_END       0x1e9
194 #define ALT_UP        0x1ea  /* alt-up arrow */
195 #define ALT_DOWN      0x1eb  /* alt-down arrow */
196 #define ALT_RIGHT     0x1ec  /* alt-right arrow */
197 #define ALT_LEFT      0x1ed  /* alt-left arrow */
198 #define ALT_ENTER     0x1ee  /* alt-enter */
199 #define ALT_ESC       0x1ef  /* alt-escape */
200 #define ALT_BQUOTE    0x1f0  /* alt-back quote */
201 #define ALT_LBRACKET  0x1f1  /* alt-left bracket */
202 #define ALT_RBRACKET  0x1f2  /* alt-right bracket */
203 #define ALT_SEMICOLON 0x1f3  /* alt-semi-colon */
204 #define ALT_FQUOTE    0x1f4  /* alt-forward quote */
205 #define ALT_COMMA     0x1f5  /* alt-comma */
206 #define ALT_STOP      0x1f6  /* alt-stop */
207 #define ALT_FSLASH    0x1f7  /* alt-forward slash */
208 #define ALT_BKSP      0x1f8  /* alt-backspace */
209 #define CTL_BKSP      0x1f9  /* ctl-backspace */
210 #define PAD0          0x1fa  /* keypad 0 */
211 
212 #define CTL_PAD0      0x1fb  /* ctl-keypad 0 */
213 #define CTL_PAD1      0x1fc
214 #define CTL_PAD2      0x1fd
215 #define CTL_PAD3      0x1fe
216 #define CTL_PAD4      0x1ff
217 #define CTL_PAD5      0x200
218 #define CTL_PAD6      0x201
219 #define CTL_PAD7      0x202
220 #define CTL_PAD8      0x203
221 #define CTL_PAD9      0x204
222 
223 #define ALT_PAD0      0x205  /* alt-keypad 0 */
224 #define ALT_PAD1      0x206
225 #define ALT_PAD2      0x207
226 #define ALT_PAD3      0x208
227 #define ALT_PAD4      0x209
228 #define ALT_PAD5      0x20a
229 #define ALT_PAD6      0x20b
230 #define ALT_PAD7      0x20c
231 #define ALT_PAD8      0x20d
232 #define ALT_PAD9      0x20e
233 
234 #define CTL_DEL       0x20f  /* clt-delete */
235 #define ALT_BSLASH    0x210  /* alt-back slash */
236 #define CTL_ENTER     0x211  /* ctl-enter */
237 
238 #define SHF_PADENTER  0x212  /* shift-enter on keypad */
239 #define SHF_PADSLASH  0x213  /* shift-slash on keypad */
240 #define SHF_PADSTAR   0x214  /* shift-star  on keypad */
241 #define SHF_PADPLUS   0x215  /* shift-plus  on keypad */
242 #define SHF_PADMINUS  0x216  /* shift-minus on keypad */
243 #define SHF_UP        0x217  /* shift-up on keypad */
244 #define SHF_DOWN      0x218  /* shift-down on keypad */
245 #define SHF_IC        0x219  /* shift-insert on keypad */
246 #define SHF_DC        0x21a  /* shift-delete on keypad */
247 
248 #define KEY_MOUSE     0x21b  /* "mouse" key */
249 #define KEY_SHIFT_L   0x21c  /* Left-shift */
250 #define KEY_SHIFT_R   0x21d  /* Right-shift */
251 #define KEY_CONTROL_L 0x21e  /* Left-control */
252 #define KEY_CONTROL_R 0x21f  /* Right-control */
253 #define KEY_ALT_L     0x220  /* Left-alt */
254 #define KEY_ALT_R     0x221  /* Right-alt */
255 #define KEY_RESIZE    0x222  /* Window resize */
256 #define KEY_SUP       0x223  /* Shifted up arrow */
257 #define KEY_SDOWN     0x224  /* Shifted down arrow */
258 
259 #define KEY_MIN       KEY_BREAK      /* Minimum curses key value */
260 #define KEY_MAX       KEY_SDOWN      /* Maximum curses key */
261 
262 #define KEY_F(n)      (KEY_F0 + (n))
263 
264 #endif /* _KEYCODES_H */
265