diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-03-26 16:25:35 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-03-26 16:25:35 -0700 |
commit | 9eddd22a7b53b1d02fbae0d987df8af122924248 (patch) | |
tree | 882f5152880b0b1aa2d7a0619d30065acc69fb16 /gpxe/src/include/gpxe/keys.h | |
parent | bbb8f15936b851e6a0ef6f7bb2c95197bff35994 (diff) | |
download | syslinux-9eddd22a7b53b1d02fbae0d987df8af122924248.tar.gz |
Add gPXE into the source tree; build unified imagesyslinux-3.70-pre7
Diffstat (limited to 'gpxe/src/include/gpxe/keys.h')
-rw-r--r-- | gpxe/src/include/gpxe/keys.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/gpxe/src/include/gpxe/keys.h b/gpxe/src/include/gpxe/keys.h new file mode 100644 index 00000000..7a0b5101 --- /dev/null +++ b/gpxe/src/include/gpxe/keys.h @@ -0,0 +1,82 @@ +#ifndef _GPXE_KEYS_H +#define _GPXE_KEYS_H + +/** @file + * + * Key definitions + * + */ + +/* + * 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. The KEY_XXX constant is simply + * 0x100 plus the first byte following CSI in the ANSI escape + * sequence. For example, KEY_LEFT is 0x144, since a left cursor key + * is transmitted as the ANSI sequence "^[[D". + */ + +#define KEY_ANSI( character ) ( 0x100 + (character) ) + +#define KEY_MIN 0x101 +#define KEY_UP KEY_ANSI ( 'A' ) /**< Up arrow */ +#define KEY_DOWN KEY_ANSI ( 'B' ) /**< Down arrow */ +#define KEY_RIGHT KEY_ANSI ( 'C' ) /**< Right arrow */ +#define KEY_LEFT KEY_ANSI ( 'D' ) /**< Left arrow */ +#define KEY_END KEY_ANSI ( 'F' ) /**< End */ +#define KEY_HOME KEY_ANSI ( '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_MAX 0x1ff + +/* 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 */ |