1 #ifndef _GPXE_KEYS_H 2 #define _GPXE_KEYS_H 3 4 /** @file 5 * 6 * Key definitions 7 * 8 */ 9 10 FILE_LICENCE ( GPL2_OR_LATER ); 11 12 /* 13 * Symbolic names for some standard ASCII characters 14 * 15 */ 16 17 #define NUL 0x00 18 #define CTRL_A 0x01 19 #define CTRL_B 0x02 20 #define CTRL_C 0x03 21 #define CTRL_D 0x04 22 #define CTRL_E 0x05 23 #define CTRL_F 0x06 24 #define CTRL_G 0x07 25 #define CTRL_H 0x08 26 #define CTRL_I 0x09 27 #define CTRL_J 0x0a 28 #define CTRL_K 0x0b 29 #define CTRL_L 0x0c 30 #define CTRL_M 0x0d 31 #define CTRL_N 0x0e 32 #define CTRL_O 0x0f 33 #define CTRL_P 0x10 34 #define CTRL_Q 0x11 35 #define CTRL_R 0x12 36 #define CTRL_S 0x13 37 #define CTRL_T 0x14 38 #define CTRL_U 0x15 39 #define CTRL_V 0x16 40 #define CTRL_W 0x17 41 #define CTRL_X 0x18 42 #define CTRL_Y 0x19 43 #define CTRL_Z 0x1a 44 45 #define BACKSPACE CTRL_H 46 #define TAB CTRL_I 47 #define LF CTRL_J 48 #define CR CTRL_M 49 #define ESC 0x1b 50 51 /* 52 * Special keys outside the normal ASCII range 53 * 54 * 55 * The names are chosen to match those used by curses. The values are 56 * chosen to facilitate easy conversion from a received ANSI escape 57 * sequence to a KEY_XXX constant. 58 */ 59 60 #define KEY_ANSI( n, terminator ) ( 0x100 * ( (n) + 1 ) + (terminator) ) 61 62 #define KEY_MIN 0x101 63 #define KEY_UP KEY_ANSI ( 0, 'A' ) /**< Up arrow */ 64 #define KEY_DOWN KEY_ANSI ( 0, 'B' ) /**< Down arrow */ 65 #define KEY_RIGHT KEY_ANSI ( 0, 'C' ) /**< Right arrow */ 66 #define KEY_LEFT KEY_ANSI ( 0, 'D' ) /**< Left arrow */ 67 #define KEY_END KEY_ANSI ( 0, 'F' ) /**< End */ 68 #define KEY_HOME KEY_ANSI ( 0, 'H' ) /**< Home */ 69 #define KEY_IC KEY_ANSI ( 2, '~' ) /**< Insert */ 70 #define KEY_DC KEY_ANSI ( 3, '~' ) /**< Delete */ 71 #define KEY_PPAGE KEY_ANSI ( 5, '~' ) /**< Page up */ 72 #define KEY_NPAGE KEY_ANSI ( 6, '~' ) /**< Page down */ 73 #define KEY_F8 KEY_ANSI ( 19, '~' ) /**< F8 (for PXE) */ 74 75 /* Not in the [KEY_MIN,KEY_MAX] range; terminals seem to send these as 76 * normal ASCII values. 77 */ 78 #define KEY_BACKSPACE BACKSPACE 79 #define KEY_ENTER LF 80 81 #endif /* _GPXE_KEYS_H */ 82