/*
	kbd.H

	Keyboard Interface and Context Sensitive Help Header File

	Copyright (C) 1992, Geoff Friesen B.Sc.
	All rights reserved.

	Borland C++ 3.1
*/

#define	NUL	0x0000
#define	BS	0x0008
#define	TAB	0x0009
#define	LF	0x000a
#define	FF	0x000c
#define	CR	0x000d
#define	RET	0x000d
#define	ESC	0x001b
#define	STAB	0x0f00
#define	ALTA	0x1e00
#define	ALTB	0x3000
#define	ALTC	0x2e00
#define	ALTD	0x2000
#define	ALTE	0x1200
#define	ALTF	0x2100
#define	ALTG	0x2200
#define	ALTH	0x2300
#define	ALTI	0x1700
#define	ALTJ	0x2400
#define	ALTK	0x2500
#define	ALTL	0x2600
#define	ALTM	0x3200
#define	ALTN	0x3100
#define	ALTO	0x1800
#define	ALTP	0x1900
#define	ALTQ	0x1000
#define	ALTR	0x1300
#define	ALTS	0x1f00
#define	ALTT	0x1400
#define	ALTU	0x1600
#define	ALTV	0x2f00
#define	ALTW	0x1100
#define	ALTX	0x2d00
#define	ALTY	0x1500
#define	ALTZ	0x2c00
#define	F1	0x3b00
#define	F2	0x3c00
#define	F3	0x3d00
#define	F4	0x3e00
#define	F5	0x3f00
#define	F6	0x4000
#define	F7	0x4100
#define	F8	0x4200
#define	F9	0x4300
#define	F10	0x4400
#define	HOME	0x4700
#define	UP	0x4800
#define	PGUP	0x4900
#define LEFT	0x4b00
#define	RIGHT	0x4d00
#define	END	0x4f00
#define	DOWN	0x5000
#define	PGDN	0x5100
#define	INS	0x5200
#define	DEL	0x5300

#define	CTX_CEH	0x0000
#define	CTX_MSG	0x0001
#define	CTX_USR	0x0002

#ifdef __cplusplus
extern "C"
{
#endif

int	k_fetch		(void);
void	k_flush		(void);
int	k_getctx	(void);
int	k_iskey		(void);
int	k_lastkey	(void);
void	k_setctx	(int ctx);
void	k_setctxfunc	(void (*ctxfunc) (int ctx));
int	k_xtcount	(void);
int	k_xtdel		(int okey);
int	k_xtins		(int okey, int nkey);
int	k_xtsize	(void);

#ifdef __cplusplus
}
#endif