mirror of https://github.com/ipxe/ipxe.git
80 lines
1.9 KiB
C
80 lines
1.9 KiB
C
#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.
|
|
*/
|
|
|
|
#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 */
|