first commit

This commit is contained in:
Stefan Hacker
2026-04-03 09:38:48 +02:00
commit 37ad745546
47450 changed files with 3120798 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
/**
* Mapping from numeric key code to key name. If the value is an array, the first element is the
* primary key name, and the second element is the key name when shift is pressed.
*/
export declare const codes: {
[code: string]: string | string[];
};
+130
View File
@@ -0,0 +1,130 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.codes = void 0;
/**
* Mapping from numeric key code to key name. If the value is an array, the first element is the
* primary key name, and the second element is the key name when shift is pressed.
*/
exports.codes = {
// ----------------------------------------
// By Code
// ----------------------------------------
3: 'Cancel',
6: 'Help',
8: 'Backspace',
9: 'Tab',
12: 'Clear',
13: 'Enter',
16: 'Shift',
17: 'Control',
18: 'Alt',
19: 'Pause',
20: 'CapsLock',
27: 'Escape',
28: 'Convert',
29: 'NonConvert',
30: 'Accept',
31: 'ModeChange',
32: ' ',
33: 'PageUp',
34: 'PageDown',
35: 'End',
36: 'Home',
37: 'ArrowLeft',
38: 'ArrowUp',
39: 'ArrowRight',
40: 'ArrowDown',
41: 'Select',
42: 'Print',
43: 'Execute',
44: 'PrintScreen',
45: 'Insert',
46: 'Delete',
48: ['0', ')'],
49: ['1', '!'],
50: ['2', '@'],
51: ['3', '#'],
52: ['4', '$'],
53: ['5', '%'],
54: ['6', '^'],
55: ['7', '&'],
56: ['8', '*'],
57: ['9', '('],
65: ['a', 'A'],
66: ['b', 'B'],
67: ['c', 'C'],
68: ['d', 'D'],
69: ['e', 'E'],
70: ['f', 'F'],
71: ['g', 'G'],
72: ['h', 'H'],
73: ['i', 'I'],
74: ['j', 'J'],
75: ['k', 'K'],
76: ['l', 'L'],
77: ['m', 'M'],
78: ['n', 'N'],
79: ['o', 'O'],
80: ['p', 'P'],
81: ['q', 'Q'],
82: ['r', 'R'],
83: ['s', 'S'],
84: ['t', 'T'],
85: ['u', 'U'],
86: ['v', 'V'],
87: ['w', 'W'],
88: ['x', 'X'],
89: ['y', 'Y'],
90: ['z', 'Z'],
91: 'OS',
93: 'ContextMenu',
112: 'F1',
113: 'F2',
114: 'F3',
115: 'F4',
116: 'F5',
117: 'F6',
118: 'F7',
119: 'F8',
120: 'F9',
121: 'F10',
122: 'F11',
123: 'F12',
124: 'F13',
125: 'F14',
126: 'F15',
127: 'F16',
128: 'F17',
129: 'F18',
130: 'F19',
131: 'F20',
132: 'F21',
133: 'F22',
134: 'F23',
135: 'F24',
144: 'NumLock',
145: 'ScrollLock',
181: 'VolumeMute',
182: 'VolumeDown',
183: 'VolumeUp',
186: [';', ':'],
187: ['=', '+'],
188: [',', '<'],
189: ['-', '_'],
190: ['.', '>'],
191: ['/', '?'],
192: ['`', '~'],
219: ['[', '{'],
220: ['\\', '|'],
221: [']', '}'],
222: ["'", '"'],
224: 'Meta',
225: 'AltGraph',
246: 'Attn',
247: 'CrSel',
248: 'ExSel',
249: 'EraseEof',
250: 'Play',
251: 'ZoomOut',
};
//# sourceMappingURL=codes.js.map
File diff suppressed because one or more lines are too long
+236
View File
@@ -0,0 +1,236 @@
export type KeyboardEventLike = Pick<KeyboardEvent, 'key' | 'keyCode' | 'which' | 'shiftKey'>;
export interface KeyNames {
Cancel: 3;
Help: 6;
Backspace: 8;
Tab: 9;
Clear: 12;
Enter: 13;
Shift: 16;
Control: 17;
Alt: 18;
Pause: 19;
CapsLock: 20;
Escape: 27;
Convert: 28;
NonConvert: 29;
Accept: 30;
ModeChange: 31;
' ': 32;
PageUp: 33;
PageDown: 34;
End: 35;
Home: 36;
ArrowLeft: 37;
ArrowUp: 38;
ArrowRight: 39;
ArrowDown: 40;
Select: 41;
Print: 42;
Execute: 43;
PrintScreen: 44;
Insert: 45;
Delete: 46;
0: 48;
')': 48;
1: 49;
'!': 49;
2: 50;
'@': 50;
3: 51;
'#': 51;
4: 52;
$: 52;
5: 53;
'%': 53;
6: 54;
'^': 54;
7: 55;
'&': 55;
8: 56;
'*': 56;
9: 57;
'(': 57;
a: 65;
A: 65;
b: 66;
B: 66;
c: 67;
C: 67;
d: 68;
D: 68;
e: 69;
E: 69;
f: 70;
F: 70;
g: 71;
G: 71;
h: 72;
H: 72;
i: 73;
I: 73;
j: 74;
J: 74;
k: 75;
K: 75;
l: 76;
L: 76;
m: 77;
M: 77;
n: 78;
N: 78;
o: 79;
O: 79;
p: 80;
P: 80;
q: 81;
Q: 81;
r: 82;
R: 82;
s: 83;
S: 83;
t: 84;
T: 84;
u: 85;
U: 85;
v: 86;
V: 86;
w: 87;
W: 87;
x: 88;
X: 88;
y: 89;
Y: 89;
z: 90;
Z: 90;
OS: 91;
ContextMenu: 93;
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;
NumLock: 144;
ScrollLock: 145;
VolumeMute: 181;
VolumeDown: 182;
VolumeUp: 183;
';': 186;
':': 186;
'=': 187;
'+': 187;
',': 188;
'<': 188;
'-': 189;
_: 189;
'.': 190;
'>': 190;
'/': 191;
'?': 191;
'`': 192;
'~': 192;
'[': 219;
'{': 219;
'\\': 220;
'|': 220;
']': 221;
'}': 221;
"'": 222;
'"': 222;
Meta: 224;
AltGraph: 225;
Attn: 246;
CrSel: 247;
ExSel: 248;
EraseEof: 249;
Play: 250;
ZoomOut: 251;
}
/**
* Get the `keyCode` or `which` value from a keyboard event or `key` name.
* If an object is provided, the precedence of properties is `keyCode`, `which`, `key`.
* @param eventOrKey - A keyboard event-like object or `key` name. If an object, at least one of
* `key`, `keyCode`, or `which` must be defined.
*/
export declare function getCode(eventOrKey: Partial<KeyboardEventLike> | string): number | undefined;
/**
* Get the key name from a keyboard event, `keyCode`, or `which` value.
* If an object is provided, the precedence of properties is `key`, `keyCode`, `which`.
* @param eventOrCode - A keyboard event-like object or key code. If an object, at least one of
* `key`, `keyCode`, or `which` must be defined.
*/
export declare function getKey(eventOrCode: Partial<KeyboardEventLike> | number): string | undefined;
/**
* Mapping of keyboard keys with aliases and codes.
*/
export declare const keyboardKey: KeyNames;
export declare const SpacebarKey: 32;
export declare const Digit0Key: 48;
export declare const Digit1Key: 49;
export declare const Digit2Key: 50;
export declare const Digit3Key: 51;
export declare const Digit4Key: 52;
export declare const Digit5Key: 53;
export declare const Digit6Key: 54;
export declare const Digit7Key: 55;
export declare const Digit8Key: 56;
export declare const Digit9Key: 57;
export declare const TildeKey: 192;
export declare const GraveAccentKey: 192;
export declare const ExclamationPointKey: 49;
export declare const AtSignKey: 50;
export declare const PoundSignKey: 51;
export declare const PercentSignKey: 53;
export declare const CaretKey: 54;
export declare const AmpersandKey: 55;
export declare const PlusSignKey: 187;
export declare const MinusSignKey: 189;
export declare const EqualsSignKey: 187;
export declare const DivisionSignKey: 191;
export declare const MultiplicationSignKey: 56;
export declare const CommaKey: 188;
export declare const DecimalKey: 190;
export declare const ColonKey: 186;
export declare const SemicolonKey: 186;
export declare const PipeKey: 220;
export declare const BackSlashKey: 220;
export declare const QuestionMarkKey: 191;
export declare const SingleQuoteKey: 222;
export declare const DoubleQuoteKey: 222;
export declare const LeftCurlyBraceKey: 219;
export declare const RightCurlyBraceKey: 221;
export declare const LeftParenthesisKey: 57;
export declare const RightParenthesisKey: 48;
export declare const LeftAngleBracketKey: 188;
export declare const RightAngleBracketKey: 190;
export declare const LeftSquareBracketKey: 219;
export declare const RightSquareBracketKey: 221;
export declare const ArrowDownKey: 40;
export declare const ArrowLeftKey: 37;
export declare const ArrowRightKey: 39;
export declare const ArrowUpKey: 38;
export declare const EndKey: 35;
export declare const EnterKey: 13;
export declare const HomeKey: 36;
export declare const PageDownKey: 34;
export declare const PageUpKey: 33;
export declare const TabKey: 9;
+124
View File
@@ -0,0 +1,124 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.EnterKey = exports.EndKey = exports.ArrowUpKey = exports.ArrowRightKey = exports.ArrowLeftKey = exports.ArrowDownKey = exports.RightSquareBracketKey = exports.LeftSquareBracketKey = exports.RightAngleBracketKey = exports.LeftAngleBracketKey = exports.RightParenthesisKey = exports.LeftParenthesisKey = exports.RightCurlyBraceKey = exports.LeftCurlyBraceKey = exports.DoubleQuoteKey = exports.SingleQuoteKey = exports.QuestionMarkKey = exports.BackSlashKey = exports.PipeKey = exports.SemicolonKey = exports.ColonKey = exports.DecimalKey = exports.CommaKey = exports.MultiplicationSignKey = exports.DivisionSignKey = exports.EqualsSignKey = exports.MinusSignKey = exports.PlusSignKey = exports.AmpersandKey = exports.CaretKey = exports.PercentSignKey = exports.PoundSignKey = exports.AtSignKey = exports.ExclamationPointKey = exports.GraveAccentKey = exports.TildeKey = exports.Digit9Key = exports.Digit8Key = exports.Digit7Key = exports.Digit6Key = exports.Digit5Key = exports.Digit4Key = exports.Digit3Key = exports.Digit2Key = exports.Digit1Key = exports.Digit0Key = exports.SpacebarKey = exports.keyboardKey = exports.getKey = exports.getCode = void 0;
exports.TabKey = exports.PageUpKey = exports.PageDownKey = exports.HomeKey = void 0;
var codes_1 = require("./codes");
// eslint-disable-next-line @typescript-eslint/no-explicit-any
var isObject = function (val) {
return val !== null && !Array.isArray(val) && typeof val === 'object';
};
/**
* Get the `keyCode` or `which` value from a keyboard event or `key` name.
* If an object is provided, the precedence of properties is `keyCode`, `which`, `key`.
* @param eventOrKey - A keyboard event-like object or `key` name. If an object, at least one of
* `key`, `keyCode`, or `which` must be defined.
*/
function getCode(eventOrKey) {
if (isObject(eventOrKey)) {
// eslint-disable-next-line deprecation/deprecation, @typescript-eslint/no-explicit-any
return eventOrKey.keyCode || eventOrKey.which || exports.keyboardKey[eventOrKey.key];
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return exports.keyboardKey[eventOrKey];
}
exports.getCode = getCode;
/**
* Get the key name from a keyboard event, `keyCode`, or `which` value.
* If an object is provided, the precedence of properties is `key`, `keyCode`, `which`.
* @param eventOrCode - A keyboard event-like object or key code. If an object, at least one of
* `key`, `keyCode`, or `which` must be defined.
*/
function getKey(eventOrCode) {
var isEvent = isObject(eventOrCode);
var event = eventOrCode;
// handle events with a `key` already defined
if (isEvent && event.key) {
return event.key;
}
// eslint-disable-next-line deprecation/deprecation
var name = codes_1.codes[(isEvent ? event.keyCode || event.which : eventOrCode)];
if (Array.isArray(name)) {
if (isEvent) {
name = name[event.shiftKey ? 1 : 0];
}
else {
name = name[0];
}
}
return name;
}
exports.getKey = getKey;
/**
* Mapping of keyboard keys with aliases and codes.
*/
exports.keyboardKey = {};
// Populate names on keyboardKey.
for (var code in codes_1.codes) {
if (codes_1.codes.hasOwnProperty(code)) {
var value = codes_1.codes[code];
if (typeof value === 'string') {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
exports.keyboardKey[value] = Number(code);
}
else {
// Array of valid values which map to the same code.
for (var i = 0; i < value.length; i++) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
exports.keyboardKey[value[i]] = Number(code);
}
}
}
}
// As single exports for keys that normally have special functionality attached to them.
exports.SpacebarKey = exports.keyboardKey[' '];
exports.Digit0Key = exports.keyboardKey['0'];
exports.Digit1Key = exports.keyboardKey['1'];
exports.Digit2Key = exports.keyboardKey['2'];
exports.Digit3Key = exports.keyboardKey['3'];
exports.Digit4Key = exports.keyboardKey['4'];
exports.Digit5Key = exports.keyboardKey['5'];
exports.Digit6Key = exports.keyboardKey['6'];
exports.Digit7Key = exports.keyboardKey['7'];
exports.Digit8Key = exports.keyboardKey['8'];
exports.Digit9Key = exports.keyboardKey['9'];
exports.TildeKey = exports.keyboardKey['~'];
exports.GraveAccentKey = exports.keyboardKey['`'];
exports.ExclamationPointKey = exports.keyboardKey['!'];
exports.AtSignKey = exports.keyboardKey['@'];
exports.PoundSignKey = exports.keyboardKey['#'];
exports.PercentSignKey = exports.keyboardKey['%'];
exports.CaretKey = exports.keyboardKey['^'];
exports.AmpersandKey = exports.keyboardKey['&'];
exports.PlusSignKey = exports.keyboardKey['+'];
exports.MinusSignKey = exports.keyboardKey['-'];
exports.EqualsSignKey = exports.keyboardKey['='];
exports.DivisionSignKey = exports.keyboardKey['/'];
exports.MultiplicationSignKey = exports.keyboardKey['*'];
exports.CommaKey = exports.keyboardKey[','];
exports.DecimalKey = exports.keyboardKey['.'];
exports.ColonKey = exports.keyboardKey[':'];
exports.SemicolonKey = exports.keyboardKey[';'];
exports.PipeKey = exports.keyboardKey['|'];
exports.BackSlashKey = exports.keyboardKey['\\'];
exports.QuestionMarkKey = exports.keyboardKey['?'];
exports.SingleQuoteKey = exports.keyboardKey["'"];
exports.DoubleQuoteKey = exports.keyboardKey['"'];
exports.LeftCurlyBraceKey = exports.keyboardKey['{'];
exports.RightCurlyBraceKey = exports.keyboardKey['}'];
exports.LeftParenthesisKey = exports.keyboardKey['('];
exports.RightParenthesisKey = exports.keyboardKey[')'];
exports.LeftAngleBracketKey = exports.keyboardKey['<'];
exports.RightAngleBracketKey = exports.keyboardKey['>'];
exports.LeftSquareBracketKey = exports.keyboardKey['['];
exports.RightSquareBracketKey = exports.keyboardKey[']'];
exports.ArrowDownKey = exports.keyboardKey.ArrowDown;
exports.ArrowLeftKey = exports.keyboardKey.ArrowLeft;
exports.ArrowRightKey = exports.keyboardKey.ArrowRight;
exports.ArrowUpKey = exports.keyboardKey.ArrowUp;
exports.EndKey = exports.keyboardKey.End;
exports.EnterKey = exports.keyboardKey.Enter;
exports.HomeKey = exports.keyboardKey.Home;
exports.PageDownKey = exports.keyboardKey.PageDown;
exports.PageUpKey = exports.keyboardKey.PageUp;
exports.TabKey = exports.keyboardKey.Tab;
//# sourceMappingURL=index.js.map
File diff suppressed because one or more lines are too long