Skip to content

Instantly share code, notes, and snippets.

@attic-stuff
Created May 6, 2024 20:49
Show Gist options
  • Select an option

  • Save attic-stuff/382c0aa89187afd043cf45890c0661f9 to your computer and use it in GitHub Desktop.

Select an option

Save attic-stuff/382c0aa89187afd043cf45890c0661f9 to your computer and use it in GitHub Desktop.
get key name
function lowkey_get_key_name(key) {
static names = undefined;
if (names == undefined) {
names = {};
names[$ vk_lshift] = "left shift";
names[$ vk_rshift] = "right shift";
names[$ vk_backspace] = "backspace";
names[$ vk_tab] = "tab";
names[$ vk_enter] = "enter";
names[$ vk_shift] = "either shift";
names[$ vk_control] = "either control";
names[$ vk_alt] = "either alt";
names[$ vk_pause] = "pause";
names[$ 20] = "caps lock";
names[$ vk_escape] = "escape";
names[$ vk_space] = "spacebar";
names[$ vk_pageup] = "page up";
names[$ vk_pagedown] = "page down";
names[$ vk_end] = "end";
names[$ vk_left] = "left arrow";
names[$ vk_up] = "up arrow";
names[$ vk_right] = "right arrow";
names[$ vk_down] = "down arrow";
names[$ vk_printscreen] = "print screen";
names[$ vk_delete] = "delete";
names[$ ord("0")] = "0"; /* 48 */
names[$ ord("1")] = "1"; /* 49 */
names[$ ord("2")] = "2"; /* 50 */
names[$ ord("3")] = "3"; /* 51 */
names[$ ord("4")] = "4"; /* 52 */
names[$ ord("5")] = "5"; /* 53 */
names[$ ord("6")] = "6"; /* 54 */
names[$ ord("7")] = "7"; /* 55 */
names[$ ord("8")] = "8"; /* 56 */
names[$ ord("9")] = "9"; /* 57 */
names[$ ord("A")] = "a"; /* 65 */
names[$ ord("B")] = "b"; /* 66 */
names[$ ord("C")] = "c"; /* 67 */
names[$ ord("D")] = "d"; /* 68 */
names[$ ord("E")] = "e"; /* 69 */
names[$ ord("F")] = "f"; /* 70 */
names[$ ord("G")] = "g"; /* 71 */
names[$ ord("H")] = "h"; /* 72 */
names[$ ord("I")] = "i"; /* 73 */
names[$ ord("J")] = "j"; /* 74 */
names[$ ord("K")] = "k"; /* 75 */
names[$ ord("L")] = "l"; /* 76 */
names[$ ord("M")] = "m"; /* 77 */
names[$ ord("N")] = "n"; /* 78 */
names[$ ord("O")] = "o"; /* 79 */
names[$ ord("P")] = "p"; /* 80 */
names[$ ord("Q")] = "q"; /* 81 */
names[$ ord("R")] = "r"; /* 82 */
names[$ ord("S")] = "s"; /* 83 */
names[$ ord("T")] = "t"; /* 84 */
names[$ ord("U")] = "u"; /* 85 */
names[$ ord("V")] = "v"; /* 86 */
names[$ ord("W")] = "w"; /* 87 */
names[$ ord("X")] = "x"; /* 88 */
names[$ ord("Y")] = "y"; /* 89 */
names[$ ord("Z")] = "z"; /* 90 */
names[$ 91] = "system key";
names[$ vk_numpad0] = "numpad 0";
names[$ vk_numpad1] = "numpad 1";
names[$ vk_numpad2] = "numpad 2";
names[$ vk_numpad3] = "numpad 3";
names[$ vk_numpad4] = "numpad 4";
names[$ vk_numpad5] = "numpad 5";
names[$ vk_numpad6] = "numpad 6";
names[$ vk_numpad7] = "numpad 7";
names[$ vk_numpad8] = "numpad 8";
names[$ vk_numpad9] = "numpad 9";
names[$ vk_multiply] = "numpad *";
names[$ vk_add] = "numpad +";
names[$ vk_subtract] = "numpad -";
names[$ vk_decimal] = "numpad .";
names[$ vk_divide] = "numpad /";
names[$ vk_f1] = "f1";
names[$ vk_f2] = "f2";
names[$ vk_f3] = "f3";
names[$ vk_f4] = "f4";
names[$ vk_f5] = "f5";
names[$ vk_f6] = "f6";
names[$ vk_f7] = "f7";
names[$ vk_f8] = "f8";
names[$ vk_f9] = "f9";
names[$ vk_f10] = "f10";
names[$ vk_f11] = "f11";
names[$ vk_f12] = "f12";
names[$ 144] = "numpad lock";
names[$ 145] = "scroll lock";
names[$ vk_lcontrol] = "left control";
names[$ vk_rcontrol] = "right control";
names[$ vk_lalt] = "left alt";
names[$ vk_ralt] = "right alt";
names[$ 186] = ";";
names[$ 187] = "=";
names[$ 188] = ",";
names[$ 189] = "-";
names[$ 190] = ".";
names[$ 191] = "/";
names[$ 192] = "`";
names[$ 219] = "[";
names[$ 220] = "\\";
names[$ 221] = "]";
names[$ 222] = "'";
}
return names[$ key] ?? "unknown";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment