keycode 0x09 =	Escape
keycode 0x43 =	F1
keycode 0x44 =	F2
keycode 0x45 =	F3
keycode 0x46 =	F4
keycode 0x47 =	F5
keycode 0x48 =	F6
keycode 0x49 =	F7
keycode 0x4A =	F8
keycode 0x4B =	F9
keycode 0x4C =	F10
keycode 0x5F =	F11
keycode 0x60 =	F12
keycode 0x6F =	Print		Execute
keycode 0x4E =	Scroll_Lock
keycode 0x6E =	Pause		Break
keycode 0x31 =	asciicircum	degree		notsign
keycode 0x0A =	1		exclam		onesuperior	exclamdown
keycode 0x0B =	2		quotedbl	twosuperior	oneeighth
keycode 0x0C =	3		section		threesuperior	sterling
keycode 0x0D =	4		dollar		onequarter	currency
keycode 0x0E =	5		percent		onehalf		threeeighths
keycode 0x0F =	6		ampersand	threequarters	fiveeighths
keycode 0x10 =	7		slash		braceleft	seveneighths
keycode 0x11 =	8		parenleft	bracketleft	trademark
keycode 0x12 =	9		parenright	bracketright	plusminus
keycode 0x13 =	0		equal		braceright	degree
keycode 0x14 =	ssharp		question	backslash	questiondown
keycode 0x15 =	acute		grave		cedilla		dead_ogonek
keycode 0x16 =	BackSpace	BackSpace	3270_DeleteWord
keycode 0x6A =	Insert
keycode 0x61 =	Home
keycode 0x63 =	Prior
keycode 0x4D =	Num_Lock	Pointer_EnableKeys
keycode 0x70 =	KP_Divide
keycode 0x3F =	KP_Multiply
keycode 0x52 =	KP_Subtract
keycode 0x17 =	Tab		ISO_Left_Tab
keycode 0x18 =	q		Q		at		Greek_OMEGA
keycode 0x19 =	w		W		lstroke		Lstroke
keycode 0x1A =	e		E		EuroSign
keycode 0x1B =	r		R		paragraph	registered
keycode 0x1C =	t		T		tslash		Tslash
keycode 0x1D =	z		Z		leftarrow	yen
keycode 0x1E =	u		U		downarrow	uparrow
keycode 0x1F =	i		I		rightarrow	idotless
keycode 0x20 =	o		O		oslash		Ooblique
keycode 0x21 =	p		P		thorn		THORN
keycode 0x22 =	udiaeresis	Udiaeresis	diaeresis	dead_abovering
keycode 0x23 =	plus		asterisk	asciitilde	macron
keycode 0x24 =	Return
keycode 0x6B =	Delete
keycode 0x67 =	End
keycode 0x69 =	Next
keycode 0x4F =	KP_Home		KP_7
keycode 0x50 =	KP_Up		KP_8
keycode 0x51 =	KP_Prior	KP_9
keycode 0x56 =	KP_Add
keycode 0x42 =	Caps_Lock
keycode 0x26 =	a		A		ae		AE
keycode 0x27 =	s		S		ssharp		section
keycode 0x28 =	d		D		eth		ETH
keycode 0x29 =	f		F		dstroke		ordfeminine
keycode 0x2A =	g		G		eng		ENG
keycode 0x2B =	h		H		hstroke		Hstroke
keycode 0x2C =	j		J
keycode 0x2D =	k		K		kra		ampersand
keycode 0x2E =	l		L		lstroke		Lstroke
keycode 0x2F =	odiaeresis	Odiaeresis	acute		dead_doubleacute
keycode 0x30 =	adiaeresis	Adiaeresis	asciicircum	dead_caron
keycode 0x33 =	numbersign	apostrophe	grave		dead_breve
keycode 0x53 =	KP_Left		KP_4
keycode 0x54 =	KP_Begin	KP_5
keycode 0x55 =	KP_Right	KP_6
keycode 0x32 =	Shift_L
keycode 0x5E =	less		greater		bar
keycode 0x34 =	y		Y		guillemotleft	less
keycode 0x35 =	x		X		guillemotright	greater
keycode 0x36 =	c		C		cent		copyright
keycode 0x37 =	v		V		leftdoublequotemark	grave
keycode 0x38 =	b		B		rightdoublequotemark	apostrophe
keycode 0x39 =	n		N
keycode 0x3A =	m		M		mu		masculine
keycode 0x3B =	comma		semicolon	horizconnector	multiply
keycode 0x3C =	period		colon		periodcentered	division
keycode 0x3D =	minus		underscore	dead_belowdot	dead_abovedot
keycode 0x3E =	Shift_R
keycode 0x62 =	Up
keycode 0x57 =	KP_End		KP_1
keycode 0x58 =	KP_Down		KP_2
keycode 0x59 =	KP_Next		KP_3
keycode 0x6C =	KP_Enter
keycode 0x25 =	Control_L
keycode 0x73 =	Super_L
keycode 0x40 =	Meta_L
keycode 0x41 =	space
keycode 0x71 =	Mode_switch	Multi_key
keycode 0x74 =	Super_R		Multi_key
keycode 0x75 =	Menu
keycode 0x6D =	Multi_key
keycode 0x64 =	Left
keycode 0x68 =	Down
keycode 0x66 =	Right
keycode 0x5A =	KP_Insert	KP_0
keycode 0x5B =	KP_Delete	KP_Decimal

clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5

add    Shift   = Shift_L Shift_R
add    Lock    = Caps_Lock
add    Control = Control_L Multi_key
remove Control = Mode_switch
!remove Control = Super_R  
add    Mod1    = Meta_L
add    Mod2    = Num_Lock
add    Mod3    = Mode_switch
add    Mod4    = Super_L Super_R
add    Mod5    = Scroll_Lock