#define Sym_Escape	1
#define Sym_one		2
#define Sym_two		3
#define Sym_three	4
#define Sym_four	5
#define Sym_five	6
#define Sym_six		7
#define Sym_seven	8
#define Sym_eight	9
#define Sym_nine	10
#define Sym_zero	11
#define Sym_minus	12
#define Sym_equal	13
#define Sym_Delete	14
#define Sym_Tab		15
#define Sym_q		16
#define Sym_w		17
#define Sym_e		18
#define Sym_r		19
#define Sym_t		20
#define Sym_y		21
#define Sym_u		22
#define Sym_i		23
#define Sym_o		24
#define Sym_p		25
#define Sym_bracketleft	26
#define Sym_bracketright	27
#define Sym_Return	28
#define Sym_LControl	29
#define Sym_a		30
#define Sym_s		31
#define Sym_d		32
#define Sym_f		33
#define Sym_g		34
#define Sym_h		35
#define Sym_j		36
#define Sym_k		37
#define Sym_l		38
#define Sym_semicolon	39
#define Sym_apostrophe	40
#define Sym_grave	41
#define Sym_LShift	42
#define Sym_backslash	43
#define Sym_z		44
#define Sym_x		45
#define Sym_c		46
#define Sym_v		47
#define Sym_b		48
#define Sym_n		49
#define Sym_m		50
#define Sym_comma	51
#define Sym_period	52
#define Sym_slash	53
#define Sym_RShift	54
#define Sym_KP_Multiply	55
#define Sym_Alt		56
#define Sym_space	57
#define Sym_Caps_Lock	58
#define Sym_F1		59
#define Sym_F2		60
#define Sym_F3		61
#define Sym_F4		62
#define Sym_F5		63
#define Sym_F6		64
#define Sym_F7		65
#define Sym_F8		66
#define Sym_F9		67
#define Sym_F10		68
#define Sym_Num_Lock	69
#define Sym_Scroll_Lock	70
#define Sym_KP_7	71
#define Sym_KP_8	72
#define Sym_KP_9	73
#define Sym_KP_Subtract	74
#define Sym_KP_4	75
#define Sym_KP_5	76
#define Sym_KP_6	77
#define Sym_KP_Add	78
#define Sym_KP_1	79
#define Sym_KP_2	80
#define Sym_KP_3	81
#define Sym_KP_0	82
#define Sym_KP_Period	83
#define Sym_Last_Console	84
#define Sym_less	86
#define Sym_F11		87
#define Sym_F12		88
#define Sym_KP_Enter	96
#define Sym_RControl	97
#define Sym_KP_Divide	98
#define Sym_Control_backslash		99
#define Sym_AltGr	100
#define Sym_Break	101
#define Sym_Find	102
#define Sym_Up		103
#define Sym_Prior	104
#define Sym_Left	105
#define Sym_Right	106
#define Sym_Select	107
#define Sym_Down	108
#define Sym_Next	109
#define Sym_Insert	110
#define Sym_Remove	111
#define Sym_Macro	112
#define Sym_F13		113
#define Sym_F14		114
#define Sym_Help	115
#define Sym_Do		116
#define Sym_F17		117
#define Sym_KP_MinPlus	118
#define Sym_Pause	119


#define NORMAL_MAP	0
#define SHIFT_MAP	1
#define CONTROL_MAP	2
static unsigned char keymaps[3][128] = {
/* Normal Keymap */
	{
	0x00, 0x1b, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 
	0x37, 0x38, 0x39, 0x30, 0x2d, 0x3d, 0x7f, 0x09, 
	0x71, 0x77, 0x65, 0x72, 0x74, 0x79, 0x75, 0x69, 
	0x6f, 0x70, 0x5b, 0x5d, 0x0d, 0x00, 0x61, 0x73, 
	0x64, 0x66, 0x67, 0x68, 0x6a, 0x6b, 0x6c, 0x3b, 
	0x27, 0x60, 0x00, 0x5c, 0x7a, 0x78, 0x63, 0x76, 
	0x62, 0x6e, 0x6d, 0x2c, 0x2e, 0x2f, 0x00, 0x2a, 
	0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2b, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x0d, 0x00, 0x2f, 0x1c, 0x00, 0x00, 0x1c, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	},
/* Shift Keymap */
	{
	0x00, 0x1b, 0x21, 0x40, 0x23, 0x24, 0x25, 0x5e, 
	0x26, 0x2a, 0x28, 0x29, 0x5f, 0x2b, 0x7f, 0x09, 
	0x51, 0x57, 0x45, 0x52, 0x54, 0x59, 0x55, 0x49, 
	0x4f, 0x50, 0x7b, 0x7d, 0x0d, 0x00, 0x41, 0x53, 
	0x44, 0x46, 0x47, 0x48, 0x4a, 0x4b, 0x4c, 0x3a, 
	0x22, 0x7e, 0x00, 0x7c, 0x5a, 0x58, 0x43, 0x56, 
	0x42, 0x4e, 0x4d, 0x3c, 0x3e, 0x3f, 0x00, 0x2a, 
	0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2b, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x0d, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x1c, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	},
/* Control Keymap */
	{
	0x00, 0x00, 0x00, 0x00, 0x1b, 0x1c, 0x1d, 0x1e, 
	0x1f, 0x7f, 0x00, 0x00, 0x1f, 0x00, 0x08, 0x00, 
	0x11, 0x17, 0x05, 0x12, 0x14, 0x19, 0x15, 0x09, 
	0x0f, 0x10, 0x1b, 0x1d, 0x0d, 0x00, 0x01, 0x13, 
	0x04, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x00, 
	0x07, 0x00, 0x00, 0x1c, 0x1a, 0x18, 0x03, 0x16, 
	0x02, 0x0e, 0x0d, 0x00, 0x00, 0x7f, 0x00, 0x2a, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2b, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x0d, 0x00, 0x2f, 0x1c, 0x00, 0x00, 0x1c, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	},
};
