mirror of
https://github.com/Kvan7/Exiled-Exchange-2.git
synced 2025-12-12 02:56:36 +00:00
Esbuild main process (#580)
* main is working * make web compile too * updating ci * fix
This commit is contained in:
committed by
GitHub
parent
9c8d2e8c6c
commit
21f00172f0
259
ipc/KeyToCode.ts
Normal file
259
ipc/KeyToCode.ts
Normal file
@@ -0,0 +1,259 @@
|
||||
|
||||
export const KeyToCode = {
|
||||
// Cancel: 3,
|
||||
Backspace: 8,
|
||||
Tab: 9,
|
||||
Enter: 13,
|
||||
Shift: 16,
|
||||
Ctrl: 17,
|
||||
Alt: 18,
|
||||
// Pause: 19,
|
||||
CapsLock: 20,
|
||||
Escape: 27,
|
||||
Space: 32,
|
||||
PageUp: 33,
|
||||
PageDown: 34,
|
||||
End: 35,
|
||||
Home: 36,
|
||||
ArrowLeft: 37,
|
||||
ArrowUp: 38,
|
||||
ArrowRight: 39,
|
||||
ArrowDown: 40,
|
||||
Insert: 45,
|
||||
Delete: 46,
|
||||
0: 48,
|
||||
1: 49,
|
||||
2: 50,
|
||||
3: 51,
|
||||
4: 52,
|
||||
5: 53,
|
||||
6: 54,
|
||||
7: 55,
|
||||
8: 56,
|
||||
9: 57,
|
||||
A: 65,
|
||||
B: 66,
|
||||
C: 67,
|
||||
D: 68,
|
||||
E: 69,
|
||||
F: 70,
|
||||
G: 71,
|
||||
H: 72,
|
||||
I: 73,
|
||||
J: 74,
|
||||
K: 75,
|
||||
L: 76,
|
||||
M: 77,
|
||||
N: 78,
|
||||
O: 79,
|
||||
P: 80,
|
||||
Q: 81,
|
||||
R: 82,
|
||||
S: 83,
|
||||
T: 84,
|
||||
U: 85,
|
||||
V: 86,
|
||||
W: 87,
|
||||
X: 88,
|
||||
Y: 89,
|
||||
Z: 90,
|
||||
Numpad0: 96,
|
||||
Numpad1: 97,
|
||||
Numpad2: 98,
|
||||
Numpad3: 99,
|
||||
Numpad4: 100,
|
||||
Numpad5: 101,
|
||||
Numpad6: 102,
|
||||
Numpad7: 103,
|
||||
Numpad8: 104,
|
||||
Numpad9: 105,
|
||||
NumpadMultiply: 106,
|
||||
NumpadAdd: 107,
|
||||
NumpadSubtract: 109,
|
||||
NumpadDecimal: 110,
|
||||
NumpadDivide: 111,
|
||||
F1: 112,
|
||||
F2: 113,
|
||||
F3: 114,
|
||||
F4: 115,
|
||||
F5: 116,
|
||||
F6: 117,
|
||||
F7: 118,
|
||||
F8: 119,
|
||||
F9: 120,
|
||||
F10: 121,
|
||||
F11: 122,
|
||||
F12: 123,
|
||||
F13: 124,
|
||||
F14: 125,
|
||||
F15: 126,
|
||||
F16: 127,
|
||||
F17: 128,
|
||||
F18: 129,
|
||||
F19: 130,
|
||||
F20: 131,
|
||||
F21: 132,
|
||||
F22: 133,
|
||||
F23: 134,
|
||||
F24: 135,
|
||||
Semicolon: 186,
|
||||
Equal: 187,
|
||||
Comma: 188,
|
||||
Minus: 189,
|
||||
Period: 190,
|
||||
Slash: 191,
|
||||
Backquote: 192,
|
||||
BracketLeft: 219,
|
||||
Backslash: 220,
|
||||
BracketRight: 221,
|
||||
Quote: 222
|
||||
}
|
||||
|
||||
export const CodeToKey = Object.fromEntries(
|
||||
Object.entries(KeyToCode).map(([key, code]) => [code, key])
|
||||
)
|
||||
|
||||
export const KeyToElectron = {
|
||||
// Cancel,
|
||||
Backspace: 'Backspace',
|
||||
Tab: 'Tab',
|
||||
Enter: 'Enter',
|
||||
// Pause,
|
||||
CapsLock: 'CapsLock',
|
||||
Escape: 'Escape',
|
||||
Space: 'Space',
|
||||
PageUp: 'PageUp',
|
||||
PageDown: 'PageDown',
|
||||
End: 'End',
|
||||
Home: 'Home',
|
||||
ArrowLeft: 'Left',
|
||||
ArrowUp: 'Up',
|
||||
ArrowRight: 'Right',
|
||||
ArrowDown: 'Down',
|
||||
Insert: 'Insert',
|
||||
Delete: 'Delete',
|
||||
0: '0',
|
||||
1: '1',
|
||||
2: '2',
|
||||
3: '3',
|
||||
4: '4',
|
||||
5: '5',
|
||||
6: '6',
|
||||
7: '7',
|
||||
8: '8',
|
||||
9: '9',
|
||||
A: 'A',
|
||||
B: 'B',
|
||||
C: 'C',
|
||||
D: 'D',
|
||||
E: 'E',
|
||||
F: 'F',
|
||||
G: 'G',
|
||||
H: 'H',
|
||||
I: 'I',
|
||||
J: 'J',
|
||||
K: 'K',
|
||||
L: 'L',
|
||||
M: 'M',
|
||||
N: 'N',
|
||||
O: 'O',
|
||||
P: 'P',
|
||||
Q: 'Q',
|
||||
R: 'R',
|
||||
S: 'S',
|
||||
T: 'T',
|
||||
U: 'U',
|
||||
V: 'V',
|
||||
W: 'W',
|
||||
X: 'X',
|
||||
Y: 'Y',
|
||||
Z: 'Z',
|
||||
Numpad0: 'num0',
|
||||
Numpad1: 'num1',
|
||||
Numpad2: 'num2',
|
||||
Numpad3: 'num3',
|
||||
Numpad4: 'num4',
|
||||
Numpad5: 'num5',
|
||||
Numpad6: 'num6',
|
||||
Numpad7: 'num7',
|
||||
Numpad8: 'num8',
|
||||
Numpad9: 'num9',
|
||||
NumpadMultiply: 'nummult',
|
||||
NumpadAdd: 'numadd',
|
||||
NumpadSubtract: 'numsub',
|
||||
NumpadDecimal: 'numdec',
|
||||
NumpadDivide: 'numdiv',
|
||||
F1: 'F1',
|
||||
F2: 'F2',
|
||||
F3: 'F3',
|
||||
F4: 'F4',
|
||||
F5: 'F5',
|
||||
F6: 'F6',
|
||||
F7: 'F7',
|
||||
F8: 'F8',
|
||||
F9: 'F9',
|
||||
F10: 'F10',
|
||||
F11: 'F11',
|
||||
F12: 'F12',
|
||||
F13: 'F13',
|
||||
F14: 'F14',
|
||||
F15: 'F15',
|
||||
F16: 'F16',
|
||||
F17: 'F17',
|
||||
F18: 'F18',
|
||||
F19: 'F19',
|
||||
F20: 'F20',
|
||||
F21: 'F21',
|
||||
F22: 'F22',
|
||||
F23: 'F23',
|
||||
F24: 'F24',
|
||||
Semicolon: ';',
|
||||
Equal: '=',
|
||||
Comma: ',',
|
||||
Minus: '-',
|
||||
Period: '.',
|
||||
Slash: '/',
|
||||
Backquote: '`',
|
||||
BracketLeft: '[',
|
||||
Backslash: '\\',
|
||||
BracketRight: ']',
|
||||
Quote: "'",
|
||||
Ctrl: 'CmdOrCtrl',
|
||||
Alt: 'Alt',
|
||||
Shift: 'Shift'
|
||||
}
|
||||
|
||||
export function hotkeyToString (keys: string[], ctrl = false, shift = false, alt = false): string {
|
||||
if (keys.includes('Ctrl')) ctrl = true
|
||||
if (keys.includes('Shift')) shift = true
|
||||
if (keys.includes('Alt')) alt = true
|
||||
keys = keys.filter(key => !isModKey(key))
|
||||
|
||||
let mod = ''
|
||||
if (ctrl && shift && alt) mod = 'Ctrl + Shift + Alt'
|
||||
else if (shift && alt) mod = 'Shift + Alt'
|
||||
else if (ctrl && shift) mod = 'Ctrl + Shift'
|
||||
else if (ctrl && alt) mod = 'Ctrl + Alt'
|
||||
else if (alt) mod = 'Alt'
|
||||
else if (ctrl) mod = 'Ctrl'
|
||||
else if (shift) mod = 'Shift'
|
||||
|
||||
return (mod && keys.length)
|
||||
? `${mod} + ${keys.join(' + ')}`
|
||||
: (keys.join(' + ') || mod)
|
||||
}
|
||||
|
||||
export function mergeTwoHotkeys (str1: string, str2: string): string {
|
||||
return hotkeyToString(Array.from(new Set([
|
||||
...str1.split(' + '),
|
||||
...str2.split(' + ')
|
||||
])))
|
||||
}
|
||||
|
||||
export function isModKey (key: string) {
|
||||
return (
|
||||
key === 'Ctrl' ||
|
||||
key === 'Shift' ||
|
||||
key === 'Alt'
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user