/ payloads / libpayload / include / keycodes.h
keycodes.h
  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 */