123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #ifndef _GPXE_KEYS_H
- #define _GPXE_KEYS_H
-
- /** @file
- *
- * Key definitions
- *
- */
-
- FILE_LICENCE ( GPL2_OR_LATER );
-
- /*
- * Symbolic names for some standard ASCII characters
- *
- */
-
- #define NUL 0x00
- #define CTRL_A 0x01
- #define CTRL_B 0x02
- #define CTRL_C 0x03
- #define CTRL_D 0x04
- #define CTRL_E 0x05
- #define CTRL_F 0x06
- #define CTRL_G 0x07
- #define CTRL_H 0x08
- #define CTRL_I 0x09
- #define CTRL_J 0x0a
- #define CTRL_K 0x0b
- #define CTRL_L 0x0c
- #define CTRL_M 0x0d
- #define CTRL_N 0x0e
- #define CTRL_O 0x0f
- #define CTRL_P 0x10
- #define CTRL_Q 0x11
- #define CTRL_R 0x12
- #define CTRL_S 0x13
- #define CTRL_T 0x14
- #define CTRL_U 0x15
- #define CTRL_V 0x16
- #define CTRL_W 0x17
- #define CTRL_X 0x18
- #define CTRL_Y 0x19
- #define CTRL_Z 0x1a
-
- #define BACKSPACE CTRL_H
- #define TAB CTRL_I
- #define LF CTRL_J
- #define CR CTRL_M
- #define ESC 0x1b
-
- /*
- * Special keys outside the normal ASCII range
- *
- *
- * The names are chosen to match those used by curses. The values are
- * chosen to facilitate easy conversion from a received ANSI escape
- * sequence to a KEY_XXX constant.
- */
-
- #define KEY_ANSI( n, terminator ) ( 0x100 * ( (n) + 1 ) + (terminator) )
-
- #define KEY_MIN 0x101
- #define KEY_UP KEY_ANSI ( 0, 'A' ) /**< Up arrow */
- #define KEY_DOWN KEY_ANSI ( 0, 'B' ) /**< Down arrow */
- #define KEY_RIGHT KEY_ANSI ( 0, 'C' ) /**< Right arrow */
- #define KEY_LEFT KEY_ANSI ( 0, 'D' ) /**< Left arrow */
- #define KEY_END KEY_ANSI ( 0, 'F' ) /**< End */
- #define KEY_HOME KEY_ANSI ( 0, 'H' ) /**< Home */
- #define KEY_IC KEY_ANSI ( 2, '~' ) /**< Insert */
- #define KEY_DC KEY_ANSI ( 3, '~' ) /**< Delete */
- #define KEY_PPAGE KEY_ANSI ( 5, '~' ) /**< Page up */
- #define KEY_NPAGE KEY_ANSI ( 6, '~' ) /**< Page down */
- #define KEY_F8 KEY_ANSI ( 19, '~' ) /**< F8 (for PXE) */
-
- /* Not in the [KEY_MIN,KEY_MAX] range; terminals seem to send these as
- * normal ASCII values.
- */
- #define KEY_BACKSPACE BACKSPACE
- #define KEY_ENTER LF
-
- #endif /* _GPXE_KEYS_H */
|