return {
	["backspace"]     = 8,
	["tab"]           = 9,
	["return"]        = 13,
	
	["lshift"]        = 16,
	["lctrl"]         = 17, --["lcontrol"]      = 17,
	["lalt"]          = 18,
	
	-- this block does not match vkey codes
	["rshift"]        = 20,
	["rctrl"]         = 21, --["rcontrol"]      = 21,
	["ralt"]          = 22,
	
	-- this block does not match vkey codes
	[";"]             = 24,
	["="]             = 25,
	[","]             = 26,
	["."]             = 27,
	["-"]             = 28, -- not in bl
	["/"]             = 29,
	["`"]             = 30,
	
	["space"]         = 32,
	["pageup"]        = 33,
	["pagedown"]      = 34,
	["end"]           = 35,
	["home"]          = 36,
	["left"]          = 37,
	["up"]            = 38,
	["right"]         = 39,
	["down"]          = 40,
	["insert"]        = 45,
	["delete"]        = 46,
	
	["0"]             = 48,
	["1"]             = 49,
	["2"]             = 50,
	["3"]             = 51,
	["4"]             = 52,
	["5"]             = 53,
	["6"]             = 54,
	["7"]             = 55,
	["8"]             = 56,
	["9"]             = 57,
	
	-- this block does not match vkey codes
	["["]             = 60,
	["\\"]            = 61,
	["]"]             = 62,
	["\'"]            = 63, --["apostrophe"]    = 63,
	
	["a"]             = 65,
	["b"]             = 66,
	["c"]             = 67,
	["d"]             = 68,
	["e"]             = 69,
	["f"]             = 70,
	["g"]             = 71,
	["h"]             = 72,
	["i"]             = 73,
	["j"]             = 74,
	["k"]             = 75,
	["l"]             = 76,
	["m"]             = 77,
	["n"]             = 78,
	["o"]             = 79,
	["p"]             = 80,
	["q"]             = 81,
	["r"]             = 82,
	["s"]             = 83,
	["t"]             = 84,
	["u"]             = 85,
	["v"]             = 86,
	["w"]             = 87,
	["x"]             = 88,
	["y"]             = 89,
	["z"]             = 90,
	
	["kp0"]           = 96,  --["numpad0"]       = 96,
	["kp1"]           = 97,  --["numpad1"]       = 97,
	["kp2"]           = 98,  --["numpad2"]       = 98,
	["kp3"]           = 99,  --["numpad3"]       = 99,
	["kp4"]           = 100, --["numpad4"]       = 100,
	["kp5"]           = 101, --["numpad5"]       = 101,
	["kp6"]           = 102, --["numpad6"]       = 102,
	["kp7"]           = 103, --["numpad7"]       = 103,
	["kp8"]           = 104, --["numpad8"]       = 104,
	["kp9"]           = 105, --["numpad9"]       = 105,
	["kp*"]           = 106, --["*"]             = 106,
	["kp+"]           = 107, --["+"]             = 107,
	["kpenter"]       = 108, --["numpadenter"]   = 108,
	["kp-"]           = 109, --["minus"]         = 109,
	["kp."]           = 110, --["numpaddecimal"] = 110,
	["kp/"]           = 111, --["/"]             = 111,
	
	["f1"]            = 112,
	["f2"]            = 113,
	["f3"]            = 114,
	["f4"]            = 115,
	["f5"]            = 116,
	["f6"]            = 117,
	["f7"]            = 118,
	["f8"]            = 119,
	["f9"]            = 120,
	["f10"]           = 121,
	["f11"]           = 122,
	["f12"]           = 123,
	
	["invalid"]       = 127,
}