/*
 * stolen from MWC include files
 */
 
/* Keytbl() returned vector */
struct keytbl {
	char *kt_normal;	/* Normal key mapping */
	char *kt_shifted;	/* Shifted key mapping */
	char *kt_capslock;	/* Caps Locked key mapping */
};

struct iorec {			/* Structure pointed to by Iorec return value */
	char *io_buff;		/* Buffer */
	short io_bufsiz;	/* Buffer size in bytes */
	short io_head;		/* Current write pointer */
	short io_tail;		/* Current read pointer */
	short io_low;		/* Low water mark, unstop line */
	short io_high;		/* High water mark, stop line */
};

/*
 * Scan codes for miscellaneous keys.  Some of these may be found in the
 * high word of the long returned by Bconin(BC_CON).
 */
#define KC_RET	0x1C	/* Return key */
#define KC_CTRL	0x1D	/* Control key - never returned by Bconin() */
#define KC_LSH	0x2A	/* Left shift key - never returned by Bconin() */
#define KC_RSH	0x36	/* Right shift key - never returned by Bconin() */
#define KC_ALT	0x38	/* Alt key - never returned by Bconin() */
#define KC_CAPS	0x3A	/* Caps lock key - never returned by Bconin() */
#define KC_F1	0x3B	/* Function key 1 */
#define KC_F2	0x3C
#define KC_F3	0x3D
#define KC_F4	0x3E
#define KC_F5	0x3F
#define KC_F6	0x40
#define KC_F7	0x41
#define KC_F8	0x42
#define KC_F9	0x43
#define KC_F10	0x44
#define KC_CLR	0x47	/* Clr Home key */
#define KC_CUP	0x48	/* Cursor up */
#define KC_CLEFT 0x4B	/* Cursor left */
#define KC_CRIGHT 0x4D	/* Cursor right */
#define KC_CDOWN 0x50	/* Cursor down */
#define KC_INS	0x52	/* Insert key */
#define KC_UNDO	0x61	/* Undo key */
#define KC_HELP	0x62	/* Help key */
#define KC_ENT	0x72	/* Enter key */
/*
 * Shift key bits returned by Getshift():
 */
#define GS_RSH	1	/* Right shift key */
#define GS_LSH	2	/* Left shift key */
#define GS_CTRL	4	/* Control key */
#define GS_ALT	8	/* Alt key */
#define GS_CAPS	16	/* Caps Lock key */
#define GS_RMB	32	/* Right mouse button - Clr Home */
#define GS_LMB	64	/* Left mouse button - Insert */
