/*
	Tom Jennings
	Fido Software
	15 Apr 91 

Define some ASCII characters and related junk

 */

#define NUL 0
#define SOH 1	/* A */
#define STX 2	/* B */
#define ETX 3	/* C */
#define EOT 4	/* D */
#define ENQ 5	/* E */
#define ACK 6	/* F */
#define BEL 7	/* G */

#define BS  8	/* H */
#define TAB 9	/* I */
#define LF  10	/* J */
#define VT  11	/* K */
#define FF  12	/* L */
#define CR  13	/* M */
#define SO  14	/* N */
#define SI  15	/* O */

#define DLE 16	/* P */
#define DC1 17	/* Q */
#define DC2 18	/* R */
#define DC3 19	/* S */
#define DC4 20	/* T */
#define NAK 21	/* U */
#define SYN 22	/* V */
#define ETB 23	/* W */

#define CAN 24	/* X */
#define EM  25	/* Y */
#define SUB 26	/* Z */
#define ESC 27
#define FS  28
#define CS  29
#define RS  30
#define US  31

#define DEL 0x7f

/* Equivalences */

#define XON DC1
#define XOF DC3
#define HT TAB

/* Define IBM PC function keys as the keyboard scan code
plus 128; keyhit() uses iskey() to decode the '00 SCANCODE'
sequence into this. Shift states are returned by (are you
ready) shiftstate() */

#define SHIFT_TAB (15+128)

#define KEY_F1 (59+128)
#define KEY_F2 (60+128)
#define KEY_F3 (61+128)
#define KEY_F4 (62+128)
#define KEY_F5 (63+128)
#define KEY_F6 (64+128)
#define KEY_F7 (65+128)
#define KEY_F8 (66+128)
#define KEY_F9 (67+128)
#define KEY_F10 (68+128)
#define KEY_F11 (133+128)		/* will not fit in 8 bits */
#define KEY_F12 (134+128)		/* will not fit in 8 bits */

#define KEY_SHIFT_F1 (84+128)
#define KEY_SHIFT_F2 (85+128)
#define KEY_SHIFT_F3 (86+128)
#define KEY_SHIFT_F4 (87+128)
#define KEY_SHIFT_F5 (88+128)
#define KEY_SHIFT_F6 (89+128)
#define KEY_SHIFT_F7 (90+128)
#define KEY_SHIFT_F8 (91+128)
#define KEY_SHIFT_F9 (92+128)
#define KEY_SHIFT_F10 (93+128)
#define KEY_SHIFT_F11 (135+128)		/* will not fit in 8 bits */
#define KEY_SHIFT_F12 (136+128)		/* will not fit in 8 bits */

#define KEY_CTL_F1 (94+128)
#define KEY_CTL_F2 (95+128)
#define KEY_CTL_F3 (96+128)
#define KEY_CTL_F4 (97+128)
#define KEY_CTL_F5 (98+128)
#define KEY_CTL_F6 (99+128)
#define KEY_CTL_F7 (100+128)
#define KEY_CTL_F8 (101+128)
#define KEY_CTL_F9 (102+128)
#define KEY_CTL_F10 (103+128)
#define KEY_CTL_F11 (137+128)		/* will not fit in 8 bits */
#define KEY_CTL_F12 (138+128)		/* will not fit in 8 bits */

#define KEY_ALT_F1 (104+128)
#define KEY_ALT_F2 (105+128)
#define KEY_ALT_F3 (106+128)
#define KEY_ALT_F4 (107+128)
#define KEY_ALT_F5 (108+128)
#define KEY_ALT_F6 (109+128)
#define KEY_ALT_F7 (110+128)
#define KEY_ALT_F8 (111+128)
#define KEY_ALT_F9 (112+128)
#define KEY_ALT_F10 (113+128)
#define KEY_ALT_F11 (139+128)		/* will not fit in 8 bits */
#define KEY_ALT_F12 (140+128)		/* will not fit in 8 bits */

#define KEY_ALT_1 (120+128)
#define KEY_ALT_2 (121+128)
#define KEY_ALT_3 (122+128)
#define KEY_ALT_4 (123+128)
#define KEY_ALT_5 (124+128)
#define KEY_ALT_6 (125+128)
#define KEY_ALT_7 (126+128)
#define KEY_ALT_8 (127+128)
#define KEY_ALT_9 (128+128)		/* will not fit in 8 bits */
#define KEY_ALT_0 (129+128)		/* will not fit in 8 bits */
#define KEY_ALT_DASH (130+128)		/* will not fit in 8 bits */
#define KEY_ALT_EQUAL (131+128)		/* will not fit in 8 bits */


#define KEY_HOME (71+128)
#define KEY_UP (72+128)
#define KEY_PGUP (73+128)
#define KEY_END (79+128)
#define KEY_PGDN (81+128)
#define KEY_DN (80+128)
#define KEY_LEFT (75+128)
#define KEY_RIGHT (77+128)
#define KEY_DELETE (83+128)
#define KEY_INSERT (82+128)

/* IBM PC shift states, as returned by INT 16h/AH=2. */

#define KEY_CAPSLOCK 64
#define KEY_NUMLOCK 32
#define KEY_SCROLLOCK 16
#define KEY_ALT 8
#define KEY_CTL 4
#define KEY_LSHIFT 2
#define KEY_RSHIFT 1
#define KEY_SHIFT (KEY_RSHIFT | KEY_LSHIFT)

