|
| 1 | +/** |
| 2 | + * Standard key mapping table optimized for Ruffle/Flash environments. |
| 3 | + * Categorized and ordered by keyCode in ascending order. |
| 4 | + */ |
| 5 | +export const STANDARD_KEYS = { |
| 6 | + // --- System Controls (8-27) --- |
| 7 | + Backspace: { type: 'keyboard', key: 'Backspace', code: 'Backspace', keyCode: 8 }, |
| 8 | + Tab: { type: 'keyboard', key: 'Tab', code: 'Tab', keyCode: 9 }, |
| 9 | + Enter: { type: 'keyboard', key: 'Enter', code: 'Enter', keyCode: 13 }, |
| 10 | + ShiftLeft: { type: 'keyboard', key: 'Shift', code: 'ShiftLeft', keyCode: 16 }, |
| 11 | + ControlLeft: { type: 'keyboard', key: 'Control', code: 'ControlLeft', keyCode: 17 }, |
| 12 | + AltLeft: { type: 'keyboard', key: 'Alt', code: 'AltLeft', keyCode: 18 }, |
| 13 | + Pause: { type: 'keyboard', key: 'Pause', code: 'Pause', keyCode: 19 }, |
| 14 | + CapsLock: { type: 'keyboard', key: 'CapsLock', code: 'CapsLock', keyCode: 20 }, |
| 15 | + Escape: { type: 'keyboard', key: 'Escape', code: 'Escape', keyCode: 27 }, |
| 16 | + |
| 17 | + // --- Navigation & Editing (32-46) --- |
| 18 | + Space: { type: 'keyboard', key: ' ', code: 'Space', keyCode: 32 }, |
| 19 | + PageUp: { type: 'keyboard', key: 'PageUp', code: 'PageUp', keyCode: 33 }, |
| 20 | + PageDown: { type: 'keyboard', key: 'PageDown', code: 'PageDown', keyCode: 34 }, |
| 21 | + End: { type: 'keyboard', key: 'End', code: 'End', keyCode: 35 }, |
| 22 | + Home: { type: 'keyboard', key: 'Home', code: 'Home', keyCode: 36 }, |
| 23 | + ArrowLeft: { type: 'keyboard', key: 'ArrowLeft', code: 'ArrowLeft', keyCode: 37 }, |
| 24 | + ArrowUp: { type: 'keyboard', key: 'ArrowUp', code: 'ArrowUp', keyCode: 38 }, |
| 25 | + ArrowRight: { type: 'keyboard', key: 'ArrowRight', code: 'ArrowRight', keyCode: 39 }, |
| 26 | + ArrowDown: { type: 'keyboard', key: 'ArrowDown', code: 'ArrowDown', keyCode: 40 }, |
| 27 | + PrintScreen: { type: 'keyboard', key: 'PrintScreen', code: 'PrintScreen', keyCode: 44 }, |
| 28 | + Insert: { type: 'keyboard', key: 'Insert', code: 'Insert', keyCode: 45 }, |
| 29 | + Delete: { type: 'keyboard', key: 'Delete', code: 'Delete', keyCode: 46 }, |
| 30 | + |
| 31 | + // --- Digit Keys 0-9 (48-57) --- |
| 32 | + Digit0: { type: 'keyboard', key: '0', code: 'Digit0', keyCode: 48 }, |
| 33 | + Digit1: { type: 'keyboard', key: '1', code: 'Digit1', keyCode: 49 }, |
| 34 | + Digit2: { type: 'keyboard', key: '2', code: 'Digit2', keyCode: 50 }, |
| 35 | + Digit3: { type: 'keyboard', key: '3', code: 'Digit3', keyCode: 51 }, |
| 36 | + Digit4: { type: 'keyboard', key: '4', code: 'Digit4', keyCode: 52 }, |
| 37 | + Digit5: { type: 'keyboard', key: '5', code: 'Digit5', keyCode: 53 }, |
| 38 | + Digit6: { type: 'keyboard', key: '6', code: 'Digit6', keyCode: 54 }, |
| 39 | + Digit7: { type: 'keyboard', key: '7', code: 'Digit7', keyCode: 55 }, |
| 40 | + Digit8: { type: 'keyboard', key: '8', code: 'Digit8', keyCode: 56 }, |
| 41 | + Digit9: { type: 'keyboard', key: '9', code: 'Digit9', keyCode: 57 }, |
| 42 | + |
| 43 | + // --- Alpha Keys A-Z (65-90) --- |
| 44 | + KeyA: { type: 'keyboard', key: 'a', code: 'KeyA', keyCode: 65 }, |
| 45 | + KeyB: { type: 'keyboard', key: 'b', code: 'KeyB', keyCode: 66 }, |
| 46 | + KeyC: { type: 'keyboard', key: 'c', code: 'KeyC', keyCode: 67 }, |
| 47 | + KeyD: { type: 'keyboard', key: 'd', code: 'KeyD', keyCode: 68 }, |
| 48 | + KeyE: { type: 'keyboard', key: 'e', code: 'KeyE', keyCode: 69 }, |
| 49 | + KeyF: { type: 'keyboard', key: 'f', code: 'KeyF', keyCode: 70 }, |
| 50 | + KeyG: { type: 'keyboard', key: 'g', code: 'KeyG', keyCode: 71 }, |
| 51 | + KeyH: { type: 'keyboard', key: 'h', code: 'KeyH', keyCode: 72 }, |
| 52 | + KeyI: { type: 'keyboard', key: 'i', code: 'KeyI', keyCode: 73 }, |
| 53 | + KeyJ: { type: 'keyboard', key: 'j', code: 'KeyJ', keyCode: 74 }, |
| 54 | + KeyK: { type: 'keyboard', key: 'k', code: 'KeyK', keyCode: 75 }, |
| 55 | + KeyL: { type: 'keyboard', key: 'l', code: 'KeyL', keyCode: 76 }, |
| 56 | + KeyM: { type: 'keyboard', key: 'm', code: 'KeyM', keyCode: 77 }, |
| 57 | + KeyN: { type: 'keyboard', key: 'n', code: 'KeyN', keyCode: 78 }, |
| 58 | + KeyO: { type: 'keyboard', key: 'o', code: 'KeyO', keyCode: 79 }, |
| 59 | + KeyP: { type: 'keyboard', key: 'p', code: 'KeyP', keyCode: 80 }, |
| 60 | + KeyQ: { type: 'keyboard', key: 'q', code: 'KeyQ', keyCode: 81 }, |
| 61 | + KeyR: { type: 'keyboard', key: 'r', code: 'KeyR', keyCode: 82 }, |
| 62 | + KeyS: { type: 'keyboard', key: 's', code: 'KeyS', keyCode: 83 }, |
| 63 | + KeyT: { type: 'keyboard', key: 't', code: 'KeyT', keyCode: 84 }, |
| 64 | + KeyU: { type: 'keyboard', key: 'u', code: 'KeyU', keyCode: 85 }, |
| 65 | + KeyV: { type: 'keyboard', key: 'v', code: 'KeyV', keyCode: 86 }, |
| 66 | + KeyW: { type: 'keyboard', key: 'w', code: 'KeyW', keyCode: 87 }, |
| 67 | + KeyX: { type: 'keyboard', key: 'x', code: 'KeyX', keyCode: 88 }, |
| 68 | + KeyY: { type: 'keyboard', key: 'y', code: 'KeyY', keyCode: 89 }, |
| 69 | + KeyZ: { type: 'keyboard', key: 'z', code: 'KeyZ', keyCode: 90 }, |
| 70 | + |
| 71 | + // --- Meta & Menu (91-93) --- |
| 72 | + MetaLeft: { type: 'keyboard', key: 'Meta', code: 'MetaLeft', keyCode: 91 }, |
| 73 | + ContextMenu: { type: 'keyboard', key: 'ContextMenu', code: 'ContextMenu', keyCode: 93 }, |
| 74 | + |
| 75 | + // --- Numpad Digits (96-105) --- |
| 76 | + Numpad0: { type: 'keyboard', key: '0', code: 'Numpad0', keyCode: 96 }, |
| 77 | + Numpad1: { type: 'keyboard', key: '1', code: 'Numpad1', keyCode: 97 }, |
| 78 | + Numpad2: { type: 'keyboard', key: '2', code: 'Numpad2', keyCode: 98 }, |
| 79 | + Numpad3: { type: 'keyboard', key: '3', code: 'Numpad3', keyCode: 99 }, |
| 80 | + Numpad4: { type: 'keyboard', key: '4', code: 'Numpad4', keyCode: 100 }, |
| 81 | + Numpad5: { type: 'keyboard', key: '5', code: 'Numpad5', keyCode: 101 }, |
| 82 | + Numpad6: { type: 'keyboard', key: '6', code: 'Numpad6', keyCode: 102 }, |
| 83 | + Numpad7: { type: 'keyboard', key: '7', code: 'Numpad7', keyCode: 103 }, |
| 84 | + Numpad8: { type: 'keyboard', key: '8', code: 'Numpad8', keyCode: 104 }, |
| 85 | + Numpad9: { type: 'keyboard', key: '9', code: 'Numpad9', keyCode: 105 }, |
| 86 | + |
| 87 | + // --- Numpad Symbols (106-111) --- |
| 88 | + NumpadMultiply: { type: 'keyboard', key: '*', code: 'NumpadMultiply', keyCode: 106 }, |
| 89 | + NumpadAdd: { type: 'keyboard', key: '+', code: 'NumpadAdd', keyCode: 107 }, |
| 90 | + NumpadSubtract: { type: 'keyboard', key: '-', code: 'NumpadSubtract', keyCode: 109 }, |
| 91 | + NumpadDecimal: { type: 'keyboard', key: '.', code: 'NumpadDecimal', keyCode: 110 }, |
| 92 | + NumpadDivide: { type: 'keyboard', key: '/', code: 'NumpadDivide', keyCode: 111 }, |
| 93 | + |
| 94 | + // --- Function Keys (112-123) --- |
| 95 | + F1: { type: 'keyboard', key: 'F1', code: 'F1', keyCode: 112 }, |
| 96 | + F2: { type: 'keyboard', key: 'F2', code: 'F2', keyCode: 113 }, |
| 97 | + F3: { type: 'keyboard', key: 'F3', code: 'F3', keyCode: 114 }, |
| 98 | + F4: { type: 'keyboard', key: 'F4', code: 'F4', keyCode: 115 }, |
| 99 | + F5: { type: 'keyboard', key: 'F5', code: 'F5', keyCode: 116 }, |
| 100 | + F6: { type: 'keyboard', key: 'F6', code: 'F6', keyCode: 117 }, |
| 101 | + F7: { type: 'keyboard', key: 'F7', code: 'F7', keyCode: 118 }, |
| 102 | + F8: { type: 'keyboard', key: 'F8', code: 'F8', keyCode: 119 }, |
| 103 | + F9: { type: 'keyboard', key: 'F9', code: 'F9', keyCode: 120 }, |
| 104 | + F10: { type: 'keyboard', key: 'F10', code: 'F10', keyCode: 121 }, |
| 105 | + F11: { type: 'keyboard', key: 'F11', code: 'F11', keyCode: 122 }, |
| 106 | + F12: { type: 'keyboard', key: 'F12', code: 'F12', keyCode: 123 }, |
| 107 | + |
| 108 | + // --- State Locks (144-145) --- |
| 109 | + NumLock: { type: 'keyboard', key: 'NumLock', code: 'NumLock', keyCode: 144 }, |
| 110 | + ScrollLock: { type: 'keyboard', key: 'ScrollLock', code: 'ScrollLock', keyCode: 145 }, |
| 111 | + |
| 112 | + // --- Punctuation (186-222) --- |
| 113 | + Semicolon: { type: 'keyboard', key: ';', code: 'Semicolon', keyCode: 186 }, |
| 114 | + Equal: { type: 'keyboard', key: '=', code: 'Equal', keyCode: 187 }, |
| 115 | + Comma: { type: 'keyboard', key: ',', code: 'Comma', keyCode: 188 }, |
| 116 | + Minus: { type: 'keyboard', key: '-', code: 'Minus', keyCode: 189 }, |
| 117 | + Period: { type: 'keyboard', key: '.', code: 'Period', keyCode: 190 }, |
| 118 | + Slash: { type: 'keyboard', key: '/', code: 'Slash', keyCode: 191 }, |
| 119 | + Backquote: { type: 'keyboard', key: '`', code: 'Backquote', keyCode: 192 }, |
| 120 | + BracketLeft: { type: 'keyboard', key: '[', code: 'BracketLeft', keyCode: 219 }, |
| 121 | + Backslash: { type: 'keyboard', key: '\\', code: 'Backslash', keyCode: 220 }, |
| 122 | + BracketRight: { type: 'keyboard', key: ']', code: 'BracketRight', keyCode: 221 }, |
| 123 | + Quote: { type: 'keyboard', key: "'", code: 'Quote', keyCode: 222 }, |
| 124 | + |
| 125 | + // --- Mouse --- |
| 126 | + Mouse: { type: 'mouse', button: 0 }, |
| 127 | + MouseLeft: { type: 'mouse', button: 0 }, |
| 128 | + MouseMiddle: { type: 'mouse', button: 1 }, |
| 129 | + MouseRight: { type: 'mouse', button: 2 }, |
| 130 | +} as const; |
0 commit comments