refactor(desktop): refactor keyboard and menu bar

This commit is contained in:
wj-xiao
2026-01-13 15:58:50 +08:00
parent c88a1b5ffa
commit c10b5b499f
71 changed files with 3640 additions and 3633 deletions

View File

@@ -1,4 +1,5 @@
export const KeyboardCodes: Map<string, number> = new Map([
// Letters
['KeyA', 4],
['KeyB', 5],
['KeyC', 6],
@@ -26,6 +27,7 @@ export const KeyboardCodes: Map<string, number> = new Map([
['KeyY', 28],
['KeyZ', 29],
// Numbers
['Digit1', 30],
['Digit2', 31],
['Digit3', 32],
@@ -37,6 +39,7 @@ export const KeyboardCodes: Map<string, number> = new Map([
['Digit9', 38],
['Digit0', 39],
// Special keys
['Enter', 40],
['Escape', 41],
['Backspace', 42],
@@ -47,18 +50,18 @@ export const KeyboardCodes: Map<string, number> = new Map([
['BracketLeft', 47],
['BracketRight', 48],
['Backslash', 49],
['IntlBackslash', 49],
['Semicolon', 51],
['Quote', 52],
['Backquote', 53],
['KeyTilde', 53],
['Comma', 54],
['Period', 55],
['KeyDot', 55],
['Slash', 56],
['CapsLock', 57],
// ISO keyboard specific
['IntlHash', 50],
// Function keys
['F1', 58],
['F2', 59],
['F3', 60],
@@ -71,8 +74,8 @@ export const KeyboardCodes: Map<string, number> = new Map([
['F10', 67],
['F11', 68],
['F12', 69],
['F13', 70],
// Control keys
['PrintScreen', 70],
['ScrollLock', 71],
['Pause', 72],
@@ -82,11 +85,14 @@ export const KeyboardCodes: Map<string, number> = new Map([
['Delete', 76],
['End', 77],
['PageDown', 78],
// Arrow keys
['ArrowRight', 79],
['ArrowLeft', 80],
['ArrowDown', 81],
['ArrowUp', 82],
// Numpad
['NumLock', 83],
['NumpadDivide', 84],
['NumpadMultiply', 85],
@@ -104,15 +110,94 @@ export const KeyboardCodes: Map<string, number> = new Map([
['Numpad9', 97],
['Numpad0', 98],
['NumpadDecimal', 99],
['KeyKpDot', 99],
['Menu', 118],
// International / Non-US keyboard keys
['IntlBackslash', 100],
['ContextMenu', 101],
['Power', 102],
['NumpadEqual', 103],
// Extended function keys
['F13', 104],
['F14', 105],
['F15', 106],
['F16', 107],
['F17', 108],
['F18', 109],
['F19', 110],
['F20', 111],
['F21', 112],
['F22', 113],
['F23', 114],
['F24', 115],
// System / Edit keys
['Execute', 116],
['Help', 117],
['Props', 118],
['Select', 119],
['Stop', 120],
['Again', 121],
['Undo', 122],
['Cut', 123],
['Copy', 124],
['Paste', 125],
['Find', 126],
// Media / Volume keys
['AudioVolumeMute', 127],
['AudioVolumeUp', 128],
['AudioVolumeDown', 129],
['VolumeMute', 127],
['VolumeUp', 128],
['VolumeDown', 129],
// Locking keys (for keyboards with physical lock keys)
['LockingCapsLock', 130],
['LockingNumLock', 131],
['LockingScrollLock', 132],
// Numpad additional
['NumpadComma', 133],
['NumpadEqual2', 134],
// International keys - Japanese
['IntlRo', 135],
['KanaMode', 136],
['IntlYen', 137],
['Convert', 138],
['NonConvert', 139],
// International keys - Additional Japanese
['International6', 140],
['International7', 141],
['International8', 142],
['International9', 143],
// Language keys - Korean/Japanese/Chinese
['Lang1', 144],
['Lang2', 145],
['Lang3', 146],
['Lang4', 147],
['Lang5', 148],
['Lang6', 149],
['Lang7', 150],
['Lang8', 151],
['Lang9', 152],
// Numpad extended
['NumpadParenLeft', 182],
['NumpadParenRight', 183],
['NumpadBackspace', 187],
['NumpadMemoryStore', 208],
['NumpadMemoryRecall', 209],
['NumpadMemoryClear', 210],
['NumpadMemoryAdd', 211],
['NumpadMemorySubtract', 212],
['NumpadClear', 216],
['NumpadClearEntry', 217],
// Modifier keys
['ControlLeft', 224],
['ShiftLeft', 225],
['AltLeft', 226],
@@ -122,5 +207,35 @@ export const KeyboardCodes: Map<string, number> = new Map([
['ShiftRight', 229],
['AltRight', 230],
['MetaRight', 231],
['WinRight', 231]
['WinRight', 231],
// Media keys
['MediaPlayPause', 232],
['MediaStop', 233],
['MediaTrackPrevious', 234],
['MediaTrackNext', 235],
['Eject', 236],
['MediaSelect', 237],
// Application launch keys
['LaunchMail', 238],
['LaunchApp1', 239],
['LaunchApp2', 240],
// Additional browser/system keys
['BrowserSearch', 240],
['BrowserHome', 241],
['BrowserBack', 242],
['BrowserForward', 243],
['BrowserStop', 244],
['BrowserRefresh', 245],
['BrowserFavorites', 246],
// Sleep/Wake keys
['Sleep', 248],
['Wake', 249],
// Accessibility keys
['MediaRewind', 250],
['MediaFastForward', 251]
]);