AS3 Keycode to String Function
After searching Google for a few minutes I couldn't find anything like this. It pissed me off enough to write my own, so here it is. This function, when passed a keycode, will tell you exactly what the fuck that key is in plain English. None of this "just A through Z" bullshit. I'm talking up arrows, tabs, function keys, all that crap. So, enjoy. This is my gift to humanity.
trace(keycodeToString(38));
function keycodeToString(num:int):String
{
//letters first
if (num >= 65 && num <= 90)
{
return String.fromCharCode(num);
}
//buttons
switch (num)
{
case 8: return "backspace";
case 9: return "tab";
case 13: return "enter";
case 16: return "shift";
case 17: return "control";
case 19: return "pause / break";
case 20: return "capslock";
case 27: return "esc";
case 32: return "space";
case 33: return "pageup";
case 34: return "pagedown";
case 35: return "end";
case 36: return "home";
case 37: return "left arrow";
case 38: return "up arrow";
case 39: return "right arrow";
case 40: return "down arrow";
case 45: return "insert";
case 46: return "delete";
case 96: return "numpad 0";
case 97: return "numpad 1";
case 98: return "numpad 2";
case 99: return "numpad 3";
case 100: return "numpad 4";
case 101: return "numpad 5";
case 102: return "numpad 6";
case 103: return "numpad 7";
case 104: return "numpad 8";
case 105: return "numpad 9";
case 106: return "numpad *";
case 107: return "numpad +";
case 109: return "numpad -";
case 110: return "numpad .";
case 111: return "numpad /";
case 112: return "F1";
case 113: return "F2";
case 114: return "F3";
case 115: return "F4";
case 116: return "F5";
case 117: return "F6";
case 118: return "F7";
case 119: return "F8";
case 120: return "F9";
case 122: return "F11";
case 123: return "F12";
case 124: return "F13";
case 125: return "F14";
case 126: return "F15";
case 144: return "numlock";
case 145: return "scroll lock";
case 186: return ";";
case 187: return "=";
case 188: return ",";
case 189: return "-";
case 190: return ".";
case 191: return "/";
case 192: return "`";
case 219: return "[";
case 220: return "\\";
case 221: return "]";
case 222: return "\"";
default: return "???";
}
}