This repository has no description
Something went wrong. Try again.
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327// SPDX-License-Identifier: AGPL-3.0-or-later
export const UiohookKeycode = { Escape: 1, F1: 59, F2: 60, F3: 61, F4: 62, F5: 63, F6: 64, F7: 65, F8: 66, F9: 67, F10: 68, F11: 87, F12: 88, F13: 91, F14: 92, F15: 93, F16: 99, F17: 100, F18: 101, F19: 102, F20: 103, F21: 104, F22: 105, F23: 106, F24: 107, Backquote: 41, Digit1: 2, Digit2: 3, Digit3: 4, Digit4: 5, Digit5: 6, Digit6: 7, Digit7: 8, Digit8: 9, Digit9: 10, Digit0: 11, Minus: 12, Equal: 13, Backspace: 14, Tab: 15, KeyQ: 16, KeyW: 17, KeyE: 18, KeyR: 19, KeyT: 20, KeyY: 21, KeyU: 22, KeyI: 23, KeyO: 24, KeyP: 25, BracketLeft: 26, BracketRight: 27, Backslash: 43, CapsLock: 58, KeyA: 30, KeyS: 31, KeyD: 32, KeyF: 33, KeyG: 34, KeyH: 35, KeyJ: 36, KeyK: 37, KeyL: 38, Semicolon: 39, Quote: 40, Enter: 28, ShiftLeft: 42, KeyZ: 44, KeyX: 45, KeyC: 46, KeyV: 47, KeyB: 48, KeyN: 49, KeyM: 50, Comma: 51, Period: 52, Slash: 53, ShiftRight: 54, ControlLeft: 29, MetaLeft: 3675, AltLeft: 56, Space: 57, AltRight: 3640, MetaRight: 3676, ControlRight: 3613, PrintScreen: 3639, ScrollLock: 70, Pause: 3653, Insert: 57426, Delete: 57427, Home: 57415, End: 57423, PageUp: 57417, PageDown: 57425, ArrowUp: 57416, ArrowLeft: 57419, ArrowDown: 57424, ArrowRight: 57421, NumLock: 69, NumpadDivide: 3637, NumpadMultiply: 55, NumpadSubtract: 74, NumpadAdd: 78, NumpadEnter: 3612, NumpadDecimal: 83, Numpad0: 82, Numpad1: 79, Numpad2: 80, Numpad3: 81, Numpad4: 75, Numpad5: 76, Numpad6: 77, Numpad7: 71, Numpad8: 72, Numpad9: 73, AudioVolumeMute: 57376, AudioVolumeDown: 57390, AudioVolumeUp: 57392, MediaPlayPause: 57378, MediaStop: 57380, MediaTrackPrevious: 57360, MediaTrackNext: 57369,} as const;const jsToUiohookMap: Record<string, number> = { Escape: UiohookKeycode.Escape, F1: UiohookKeycode.F1, F2: UiohookKeycode.F2, F3: UiohookKeycode.F3, F4: UiohookKeycode.F4, F5: UiohookKeycode.F5, F6: UiohookKeycode.F6, F7: UiohookKeycode.F7, F8: UiohookKeycode.F8, F9: UiohookKeycode.F9, F10: UiohookKeycode.F10, F11: UiohookKeycode.F11, F12: UiohookKeycode.F12, F13: UiohookKeycode.F13, F14: UiohookKeycode.F14, F15: UiohookKeycode.F15, F16: UiohookKeycode.F16, F17: UiohookKeycode.F17, F18: UiohookKeycode.F18, F19: UiohookKeycode.F19, F20: UiohookKeycode.F20, F21: UiohookKeycode.F21, F22: UiohookKeycode.F22, F23: UiohookKeycode.F23, F24: UiohookKeycode.F24, Backquote: UiohookKeycode.Backquote, Digit1: UiohookKeycode.Digit1, Digit2: UiohookKeycode.Digit2, Digit3: UiohookKeycode.Digit3, Digit4: UiohookKeycode.Digit4, Digit5: UiohookKeycode.Digit5, Digit6: UiohookKeycode.Digit6, Digit7: UiohookKeycode.Digit7, Digit8: UiohookKeycode.Digit8, Digit9: UiohookKeycode.Digit9, Digit0: UiohookKeycode.Digit0, Minus: UiohookKeycode.Minus, Equal: UiohookKeycode.Equal, Backspace: UiohookKeycode.Backspace, Tab: UiohookKeycode.Tab, KeyQ: UiohookKeycode.KeyQ, KeyW: UiohookKeycode.KeyW, KeyE: UiohookKeycode.KeyE, KeyR: UiohookKeycode.KeyR, KeyT: UiohookKeycode.KeyT, KeyY: UiohookKeycode.KeyY, KeyU: UiohookKeycode.KeyU, KeyI: UiohookKeycode.KeyI, KeyO: UiohookKeycode.KeyO, KeyP: UiohookKeycode.KeyP, BracketLeft: UiohookKeycode.BracketLeft, BracketRight: UiohookKeycode.BracketRight, Backslash: UiohookKeycode.Backslash, CapsLock: UiohookKeycode.CapsLock, KeyA: UiohookKeycode.KeyA, KeyS: UiohookKeycode.KeyS, KeyD: UiohookKeycode.KeyD, KeyF: UiohookKeycode.KeyF, KeyG: UiohookKeycode.KeyG, KeyH: UiohookKeycode.KeyH, KeyJ: UiohookKeycode.KeyJ, KeyK: UiohookKeycode.KeyK, KeyL: UiohookKeycode.KeyL, Semicolon: UiohookKeycode.Semicolon, Quote: UiohookKeycode.Quote, Enter: UiohookKeycode.Enter, ShiftLeft: UiohookKeycode.ShiftLeft, KeyZ: UiohookKeycode.KeyZ, KeyX: UiohookKeycode.KeyX, KeyC: UiohookKeycode.KeyC, KeyV: UiohookKeycode.KeyV, KeyB: UiohookKeycode.KeyB, KeyN: UiohookKeycode.KeyN, KeyM: UiohookKeycode.KeyM, Comma: UiohookKeycode.Comma, Period: UiohookKeycode.Period, Slash: UiohookKeycode.Slash, ShiftRight: UiohookKeycode.ShiftRight, ControlLeft: UiohookKeycode.ControlLeft, MetaLeft: UiohookKeycode.MetaLeft, AltLeft: UiohookKeycode.AltLeft, Space: UiohookKeycode.Space, AltRight: UiohookKeycode.AltRight, MetaRight: UiohookKeycode.MetaRight, ControlRight: UiohookKeycode.ControlRight, PrintScreen: UiohookKeycode.PrintScreen, ScrollLock: UiohookKeycode.ScrollLock, Pause: UiohookKeycode.Pause, Break: UiohookKeycode.Pause, ArrowUp: UiohookKeycode.ArrowUp, ArrowLeft: UiohookKeycode.ArrowLeft, ArrowDown: UiohookKeycode.ArrowDown, ArrowRight: UiohookKeycode.ArrowRight, Insert: UiohookKeycode.Insert, Delete: UiohookKeycode.Delete, Home: UiohookKeycode.Home, End: UiohookKeycode.End, PageUp: UiohookKeycode.PageUp, PageDown: UiohookKeycode.PageDown, NumLock: UiohookKeycode.NumLock, NumpadDivide: UiohookKeycode.NumpadDivide, NumpadMultiply: UiohookKeycode.NumpadMultiply, NumpadSubtract: UiohookKeycode.NumpadSubtract, NumpadAdd: UiohookKeycode.NumpadAdd, NumpadEnter: UiohookKeycode.NumpadEnter, NumpadDecimal: UiohookKeycode.NumpadDecimal, Numpad0: UiohookKeycode.Numpad0, Numpad1: UiohookKeycode.Numpad1, Numpad2: UiohookKeycode.Numpad2, Numpad3: UiohookKeycode.Numpad3, Numpad4: UiohookKeycode.Numpad4, Numpad5: UiohookKeycode.Numpad5, Numpad6: UiohookKeycode.Numpad6, Numpad7: UiohookKeycode.Numpad7, Numpad8: UiohookKeycode.Numpad8, Numpad9: UiohookKeycode.Numpad9, AudioVolumeMute: UiohookKeycode.AudioVolumeMute, AudioVolumeDown: UiohookKeycode.AudioVolumeDown, AudioVolumeUp: UiohookKeycode.AudioVolumeUp, MediaPlayPause: UiohookKeycode.MediaPlayPause, MediaStop: UiohookKeycode.MediaStop, MediaTrackPrevious: UiohookKeycode.MediaTrackPrevious, MediaTrackNext: UiohookKeycode.MediaTrackNext, ' ': UiohookKeycode.Space, '1': UiohookKeycode.Digit1, '2': UiohookKeycode.Digit2, '3': UiohookKeycode.Digit3, '4': UiohookKeycode.Digit4, '5': UiohookKeycode.Digit5, '6': UiohookKeycode.Digit6, '7': UiohookKeycode.Digit7, '8': UiohookKeycode.Digit8, '9': UiohookKeycode.Digit9, '0': UiohookKeycode.Digit0, Q: UiohookKeycode.KeyQ, W: UiohookKeycode.KeyW, E: UiohookKeycode.KeyE, R: UiohookKeycode.KeyR, T: UiohookKeycode.KeyT, Y: UiohookKeycode.KeyY, U: UiohookKeycode.KeyU, I: UiohookKeycode.KeyI, O: UiohookKeycode.KeyO, P: UiohookKeycode.KeyP, A: UiohookKeycode.KeyA, S: UiohookKeycode.KeyS, D: UiohookKeycode.KeyD, F: UiohookKeycode.KeyF, G: UiohookKeycode.KeyG, H: UiohookKeycode.KeyH, J: UiohookKeycode.KeyJ, K: UiohookKeycode.KeyK, L: UiohookKeycode.KeyL, Z: UiohookKeycode.KeyZ, X: UiohookKeycode.KeyX, C: UiohookKeycode.KeyC, V: UiohookKeycode.KeyV, B: UiohookKeycode.KeyB, N: UiohookKeycode.KeyN, M: UiohookKeycode.KeyM, q: UiohookKeycode.KeyQ, w: UiohookKeycode.KeyW, e: UiohookKeycode.KeyE, r: UiohookKeycode.KeyR, t: UiohookKeycode.KeyT, y: UiohookKeycode.KeyY, u: UiohookKeycode.KeyU, i: UiohookKeycode.KeyI, o: UiohookKeycode.KeyO, p: UiohookKeycode.KeyP, a: UiohookKeycode.KeyA, s: UiohookKeycode.KeyS, d: UiohookKeycode.KeyD, f: UiohookKeycode.KeyF, g: UiohookKeycode.KeyG, h: UiohookKeycode.KeyH, j: UiohookKeycode.KeyJ, k: UiohookKeycode.KeyK, l: UiohookKeycode.KeyL, z: UiohookKeycode.KeyZ, x: UiohookKeycode.KeyX, c: UiohookKeycode.KeyC, v: UiohookKeycode.KeyV, b: UiohookKeycode.KeyB, n: UiohookKeycode.KeyN, m: UiohookKeycode.KeyM,};
export function jsKeyToUiohookKeycode(keyNameOrCode: string | undefined): number | null { if (!keyNameOrCode) return null; if (keyNameOrCode in jsToUiohookMap) { return jsToUiohookMap[keyNameOrCode] ?? null; } const upper = keyNameOrCode.toUpperCase(); if (upper in jsToUiohookMap) { return jsToUiohookMap[upper] ?? null; } return null;}