keyspy 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +287 -0
- package/build/index.d.ts +53 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +149 -0
- package/build/ts/MacKeyServer.d.ts +45 -0
- package/build/ts/MacKeyServer.d.ts.map +1 -0
- package/build/ts/MacKeyServer.js +159 -0
- package/build/ts/WinKeyServer.d.ts +30 -0
- package/build/ts/WinKeyServer.d.ts.map +1 -0
- package/build/ts/WinKeyServer.js +88 -0
- package/build/ts/X11KeyServer.d.ts +45 -0
- package/build/ts/X11KeyServer.d.ts.map +1 -0
- package/build/ts/X11KeyServer.js +159 -0
- package/build/ts/_data/MacGlobalKeyLookup.d.ts +3 -0
- package/build/ts/_data/MacGlobalKeyLookup.d.ts.map +1 -0
- package/build/ts/_data/MacGlobalKeyLookup.js +155 -0
- package/build/ts/_data/WinGlobalKeyLookup.d.ts +6 -0
- package/build/ts/_data/WinGlobalKeyLookup.d.ts.map +1 -0
- package/build/ts/_data/WinGlobalKeyLookup.js +181 -0
- package/build/ts/_data/X11GlobalKeyLookup.d.ts +3 -0
- package/build/ts/_data/X11GlobalKeyLookup.d.ts.map +1 -0
- package/build/ts/_data/X11GlobalKeyLookup.js +144 -0
- package/build/ts/_types/IConfig.d.ts +15 -0
- package/build/ts/_types/IConfig.d.ts.map +1 -0
- package/build/ts/_types/IConfig.js +3 -0
- package/build/ts/_types/IGlobalKey.d.ts +19 -0
- package/build/ts/_types/IGlobalKey.d.ts.map +1 -0
- package/build/ts/_types/IGlobalKey.js +3 -0
- package/build/ts/_types/IGlobalKeyDownMap.d.ts +5 -0
- package/build/ts/_types/IGlobalKeyDownMap.d.ts.map +1 -0
- package/build/ts/_types/IGlobalKeyDownMap.js +3 -0
- package/build/ts/_types/IGlobalKeyEvent.d.ts +17 -0
- package/build/ts/_types/IGlobalKeyEvent.d.ts.map +1 -0
- package/build/ts/_types/IGlobalKeyEvent.js +3 -0
- package/build/ts/_types/IGlobalKeyListener.d.ts +14 -0
- package/build/ts/_types/IGlobalKeyListener.d.ts.map +1 -0
- package/build/ts/_types/IGlobalKeyListener.js +3 -0
- package/build/ts/_types/IGlobalKeyListenerRaw.d.ts +7 -0
- package/build/ts/_types/IGlobalKeyListenerRaw.d.ts.map +1 -0
- package/build/ts/_types/IGlobalKeyListenerRaw.js +3 -0
- package/build/ts/_types/IGlobalKeyLookup.d.ts +9 -0
- package/build/ts/_types/IGlobalKeyLookup.d.ts.map +1 -0
- package/build/ts/_types/IGlobalKeyLookup.js +3 -0
- package/build/ts/_types/IGlobalKeyResult.d.ts +12 -0
- package/build/ts/_types/IGlobalKeyResult.d.ts.map +1 -0
- package/build/ts/_types/IGlobalKeyResult.js +3 -0
- package/build/ts/_types/IGlobalKeyServer.d.ts +16 -0
- package/build/ts/_types/IGlobalKeyServer.d.ts.map +1 -0
- package/build/ts/_types/IGlobalKeyServer.js +3 -0
- package/build/ts/_types/IMacConfig.d.ts +10 -0
- package/build/ts/_types/IMacConfig.d.ts.map +1 -0
- package/build/ts/_types/IMacConfig.js +3 -0
- package/build/ts/_types/IWindowsConfig.d.ts +10 -0
- package/build/ts/_types/IWindowsConfig.d.ts.map +1 -0
- package/build/ts/_types/IWindowsConfig.js +3 -0
- package/build/ts/_types/IX11Config.d.ts +10 -0
- package/build/ts/_types/IX11Config.d.ts.map +1 -0
- package/build/ts/_types/IX11Config.js +3 -0
- package/build/ts/isSpawnEventSupported.d.ts +6 -0
- package/build/ts/isSpawnEventSupported.d.ts.map +1 -0
- package/build/ts/isSpawnEventSupported.js +18 -0
- package/package.json +80 -0
- package/scripts/download-binaries.js +191 -0
@@ -0,0 +1,144 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.X11GlobalKeyLookup = void 0;
|
4
|
+
/*
|
5
|
+
* Linux keycodes from `linux/input-event-codes.h`.[^1]
|
6
|
+
* X11 keycodes equal linux + 8.[^2]
|
7
|
+
*
|
8
|
+
* [^1]: https://github.com/torvalds/linux/blob/13bc32bad7059d6c5671e9d037e6e3ed001cc0f4/include/uapi/linux/input-event-codes.h#L75-L262
|
9
|
+
* [^2]: https://github.com/freedesktop/xorg-xf86-input-evdev/blob/469a30f158edceda99fe8a086abbeefffa010e02/src/evdev.c#L280
|
10
|
+
*/
|
11
|
+
exports.X11GlobalKeyLookup = {
|
12
|
+
0: { _nameRaw: "KEY_RESERVED", name: "RESERVED", standardName: "" },
|
13
|
+
1: { _nameRaw: "KEY_ESC", name: "ESCAPE", standardName: "ESCAPE" },
|
14
|
+
2: { _nameRaw: "KEY_1", name: "1", standardName: "1" },
|
15
|
+
3: { _nameRaw: "KEY_2", name: "2", standardName: "2" },
|
16
|
+
4: { _nameRaw: "KEY_3", name: "3", standardName: "3" },
|
17
|
+
5: { _nameRaw: "KEY_4", name: "4", standardName: "4" },
|
18
|
+
6: { _nameRaw: "KEY_5", name: "5", standardName: "5" },
|
19
|
+
7: { _nameRaw: "KEY_6", name: "6", standardName: "6" },
|
20
|
+
8: { _nameRaw: "KEY_7", name: "7", standardName: "7" },
|
21
|
+
9: { _nameRaw: "KEY_8", name: "8", standardName: "8" },
|
22
|
+
10: { _nameRaw: "KEY_9", name: "9", standardName: "9" },
|
23
|
+
11: { _nameRaw: "KEY_0", name: "0", standardName: "0" },
|
24
|
+
12: { _nameRaw: "KEY_MINUS", name: "MINUS", standardName: "MINUS" },
|
25
|
+
13: { _nameRaw: "KEY_EQUAL", name: "EQUALS", standardName: "EQUALS" },
|
26
|
+
14: { _nameRaw: "KEY_BACKSPACE", name: "BACKSPACE", standardName: "BACKSPACE" },
|
27
|
+
15: { _nameRaw: "KEY_TAB", name: "TAB", standardName: "TAB" },
|
28
|
+
16: { _nameRaw: "KEY_Q", name: "Q", standardName: "Q" },
|
29
|
+
17: { _nameRaw: "KEY_W", name: "W", standardName: "W" },
|
30
|
+
18: { _nameRaw: "KEY_E", name: "E", standardName: "E" },
|
31
|
+
19: { _nameRaw: "KEY_R", name: "R", standardName: "R" },
|
32
|
+
20: { _nameRaw: "KEY_T", name: "T", standardName: "T" },
|
33
|
+
21: { _nameRaw: "KEY_Y", name: "Y", standardName: "Y" },
|
34
|
+
22: { _nameRaw: "KEY_U", name: "U", standardName: "U" },
|
35
|
+
23: { _nameRaw: "KEY_I", name: "I", standardName: "I" },
|
36
|
+
24: { _nameRaw: "KEY_O", name: "O", standardName: "O" },
|
37
|
+
25: { _nameRaw: "KEY_P", name: "P", standardName: "P" },
|
38
|
+
26: { _nameRaw: "KEY_LEFTBRACE", name: "LEFTBRACE", standardName: "SQUARE BRACKET OPEN" },
|
39
|
+
27: { _nameRaw: "KEY_RIGHTBRACE", name: "RIGHTBRACE", standardName: "SQUARE BRACKET CLOSE" },
|
40
|
+
28: { _nameRaw: "KEY_ENTER", name: "ENTER", standardName: "RETURN" },
|
41
|
+
29: { _nameRaw: "KEY_LEFTCTRL", name: "LEFTCTRL", standardName: "LEFT CTRL" },
|
42
|
+
30: { _nameRaw: "KEY_A", name: "A", standardName: "A" },
|
43
|
+
31: { _nameRaw: "KEY_S", name: "S", standardName: "S" },
|
44
|
+
32: { _nameRaw: "KEY_D", name: "D", standardName: "D" },
|
45
|
+
33: { _nameRaw: "KEY_F", name: "F", standardName: "F" },
|
46
|
+
34: { _nameRaw: "KEY_G", name: "G", standardName: "G" },
|
47
|
+
35: { _nameRaw: "KEY_H", name: "H", standardName: "H" },
|
48
|
+
36: { _nameRaw: "KEY_J", name: "J", standardName: "J" },
|
49
|
+
37: { _nameRaw: "KEY_K", name: "K", standardName: "K" },
|
50
|
+
38: { _nameRaw: "KEY_L", name: "L", standardName: "L" },
|
51
|
+
39: { _nameRaw: "KEY_SEMICOLON", name: "SEMICOLON", standardName: "SEMICOLON" },
|
52
|
+
40: { _nameRaw: "KEY_APOSTROPHE", name: "APOSTROPHE", standardName: "QUOTE" },
|
53
|
+
41: { _nameRaw: "KEY_GRAVE", name: "GRAVE", standardName: "BACKTICK" },
|
54
|
+
42: { _nameRaw: "KEY_LEFTSHIFT", name: "LEFTSHIFT", standardName: "LEFT SHIFT" },
|
55
|
+
43: { _nameRaw: "KEY_BACKSLASH", name: "BACKSLASH", standardName: "BACKSLASH" },
|
56
|
+
44: { _nameRaw: "KEY_Z", name: "Z", standardName: "Z" },
|
57
|
+
45: { _nameRaw: "KEY_X", name: "X", standardName: "X" },
|
58
|
+
46: { _nameRaw: "KEY_C", name: "C", standardName: "C" },
|
59
|
+
47: { _nameRaw: "KEY_V", name: "V", standardName: "V" },
|
60
|
+
48: { _nameRaw: "KEY_B", name: "B", standardName: "B" },
|
61
|
+
49: { _nameRaw: "KEY_N", name: "N", standardName: "N" },
|
62
|
+
50: { _nameRaw: "KEY_M", name: "M", standardName: "M" },
|
63
|
+
51: { _nameRaw: "KEY_COMMA", name: "COMMA", standardName: "COMMA" },
|
64
|
+
52: { _nameRaw: "KEY_DOT", name: "DOT", standardName: "DOT" },
|
65
|
+
53: { _nameRaw: "KEY_SLASH", name: "SLASH", standardName: "FORWARD SLASH" },
|
66
|
+
54: { _nameRaw: "KEY_RIGHTSHIFT", name: "RIGHTSHIFT", standardName: "RIGHT SHIFT" },
|
67
|
+
55: { _nameRaw: "KEY_KPASTERISK", name: "KPASTERISK", standardName: "NUMPAD MULTIPLY" },
|
68
|
+
56: { _nameRaw: "KEY_LEFTALT", name: "LEFTALT", standardName: "LEFT ALT" },
|
69
|
+
57: { _nameRaw: "KEY_SPACE", name: "SPACE", standardName: "SPACE" },
|
70
|
+
58: { _nameRaw: "KEY_CAPSLOCK", name: "CAPSLOCK", standardName: "CAPS LOCK" },
|
71
|
+
59: { _nameRaw: "KEY_F1", name: "F1", standardName: "F1" },
|
72
|
+
60: { _nameRaw: "KEY_F2", name: "F2", standardName: "F2" },
|
73
|
+
61: { _nameRaw: "KEY_F3", name: "F3", standardName: "F3" },
|
74
|
+
62: { _nameRaw: "KEY_F4", name: "F4", standardName: "F4" },
|
75
|
+
63: { _nameRaw: "KEY_F5", name: "F5", standardName: "F5" },
|
76
|
+
64: { _nameRaw: "KEY_F6", name: "F6", standardName: "F6" },
|
77
|
+
65: { _nameRaw: "KEY_F7", name: "F7", standardName: "F7" },
|
78
|
+
66: { _nameRaw: "KEY_F8", name: "F8", standardName: "F8" },
|
79
|
+
67: { _nameRaw: "KEY_F9", name: "F9", standardName: "F9" },
|
80
|
+
68: { _nameRaw: "KEY_F10", name: "F10", standardName: "F10" },
|
81
|
+
69: { _nameRaw: "KEY_NUMLOCK", name: "NUMLOCK", standardName: "NUM LOCK" },
|
82
|
+
70: { _nameRaw: "KEY_SCROLLLOCK", name: "SCROLLLOCK", standardName: "SCROLL LOCK" },
|
83
|
+
71: { _nameRaw: "KEY_KP7", name: "KP7", standardName: "NUMPAD 7" },
|
84
|
+
72: { _nameRaw: "KEY_KP8", name: "KP8", standardName: "NUMPAD 8" },
|
85
|
+
73: { _nameRaw: "KEY_KP9", name: "KP9", standardName: "NUMPAD 9" },
|
86
|
+
74: { _nameRaw: "KEY_KPMINUS", name: "KPMINUS", standardName: "NUMPAD MINUS" },
|
87
|
+
75: { _nameRaw: "KEY_KP4", name: "KP4", standardName: "NUMPAD 4" },
|
88
|
+
76: { _nameRaw: "KEY_KP5", name: "KP5", standardName: "NUMPAD 5" },
|
89
|
+
77: { _nameRaw: "KEY_KP6", name: "KP6", standardName: "NUMPAD 6" },
|
90
|
+
78: { _nameRaw: "KEY_KPPLUS", name: "KPPLUS", standardName: "NUMPAD PLUS" },
|
91
|
+
79: { _nameRaw: "KEY_KP1", name: "KP1", standardName: "NUMPAD 1" },
|
92
|
+
80: { _nameRaw: "KEY_KP2", name: "KP2", standardName: "NUMPAD 2" },
|
93
|
+
81: { _nameRaw: "KEY_KP3", name: "KP3", standardName: "NUMPAD 3" },
|
94
|
+
82: { _nameRaw: "KEY_KP0", name: "KP0", standardName: "NUMPAD 0" },
|
95
|
+
83: { _nameRaw: "KEY_KPDOT", name: "KPDOT", standardName: "NUMPAD DOT" },
|
96
|
+
85: { _nameRaw: "KEY_ZENKAKUHANKAKU", name: "ZENKAKUHANKAKU", standardName: "" },
|
97
|
+
86: { _nameRaw: "KEY_102ND", name: "102ND", standardName: "" },
|
98
|
+
87: { _nameRaw: "KEY_F11", name: "F11", standardName: "F11" },
|
99
|
+
88: { _nameRaw: "KEY_F12", name: "F12", standardName: "F12" },
|
100
|
+
89: { _nameRaw: "KEY_RO", name: "RO", standardName: "" },
|
101
|
+
90: { _nameRaw: "KEY_KATAKANA", name: "KATAKANA", standardName: "" },
|
102
|
+
91: { _nameRaw: "KEY_HIRAGANA", name: "HIRAGANA", standardName: "" },
|
103
|
+
92: { _nameRaw: "KEY_HENKAN", name: "HENKAN", standardName: "" },
|
104
|
+
93: { _nameRaw: "KEY_KATAKANAHIRAGANA", name: "KATAKANAHIRAGANA", standardName: "" },
|
105
|
+
94: { _nameRaw: "KEY_MUHENKAN", name: "MUHENKAN", standardName: "" },
|
106
|
+
95: { _nameRaw: "KEY_KPJPCOMMA", name: "KPJPCOMMA", standardName: "" },
|
107
|
+
96: { _nameRaw: "KEY_KPENTER", name: "KPENTER", standardName: "NUMPAD RETURN" },
|
108
|
+
97: { _nameRaw: "KEY_RIGHTCTRL", name: "RIGHTCTRL", standardName: "RIGHT CTRL" },
|
109
|
+
98: { _nameRaw: "KEY_KPSLASH", name: "KPSLASH", standardName: "" },
|
110
|
+
99: { _nameRaw: "KEY_SYSRQ", name: "SYSRQ", standardName: "" },
|
111
|
+
100: { _nameRaw: "KEY_RIGHTALT", name: "RIGHTALT", standardName: "RIGHT ALT" },
|
112
|
+
101: { _nameRaw: "KEY_LINEFEED", name: "LINEFEED", standardName: "" },
|
113
|
+
102: { _nameRaw: "KEY_HOME", name: "HOME", standardName: "HOME" },
|
114
|
+
103: { _nameRaw: "KEY_UP", name: "UP", standardName: "UP ARROW" },
|
115
|
+
104: { _nameRaw: "KEY_PAGEUP", name: "PAGEUP", standardName: "PAGE UP" },
|
116
|
+
105: { _nameRaw: "KEY_LEFT", name: "LEFT", standardName: "LEFT ARROW" },
|
117
|
+
106: { _nameRaw: "KEY_RIGHT", name: "RIGHT", standardName: "RIGHT ARROW" },
|
118
|
+
107: { _nameRaw: "KEY_END", name: "END", standardName: "END" },
|
119
|
+
108: { _nameRaw: "KEY_DOWN", name: "DOWN", standardName: "DOWN ARROW" },
|
120
|
+
109: { _nameRaw: "KEY_PAGEDOWN", name: "PAGEDOWN", standardName: "PAGE DOWN" },
|
121
|
+
110: { _nameRaw: "KEY_INSERT", name: "INSERT", standardName: "INS" },
|
122
|
+
111: { _nameRaw: "KEY_DELETE", name: "DELETE", standardName: "DELETE" },
|
123
|
+
112: { _nameRaw: "KEY_MACRO", name: "MACRO", standardName: "" },
|
124
|
+
113: { _nameRaw: "KEY_MUTE", name: "MUTE", standardName: "" },
|
125
|
+
114: { _nameRaw: "KEY_VOLUMEDOWN", name: "VOLUMEDOWN", standardName: "" },
|
126
|
+
115: { _nameRaw: "KEY_VOLUMEUP", name: "VOLUMEUP", standardName: "" },
|
127
|
+
116: { _nameRaw: "KEY_POWER", name: "POWER", standardName: "" },
|
128
|
+
117: { _nameRaw: "KEY_KPEQUAL", name: "KPEQUAL", standardName: "NUMPAD EQUALS" },
|
129
|
+
118: { _nameRaw: "KEY_KPPLUSMINUS", name: "KPPLUSMINUS", standardName: "" },
|
130
|
+
119: { _nameRaw: "KEY_PAUSE", name: "PAUSE", standardName: "" },
|
131
|
+
120: { _nameRaw: "KEY_SCALE", name: "SCALE", standardName: "" },
|
132
|
+
121: { _nameRaw: "KEY_KPCOMMA", name: "KPCOMMA", standardName: "" },
|
133
|
+
122: { _nameRaw: "KEY_HANGEUL", name: "HANGEUL", standardName: "" },
|
134
|
+
123: { _nameRaw: "KEY_HANJA", name: "HANJA", standardName: "" },
|
135
|
+
124: { _nameRaw: "KEY_YEN", name: "YEN", standardName: "" },
|
136
|
+
125: { _nameRaw: "KEY_LEFTMETA", name: "LEFTMETA", standardName: "LEFT META" },
|
137
|
+
126: { _nameRaw: "KEY_RIGHTMETA", name: "RIGHTMETA", standardName: "RIGHT META" },
|
138
|
+
127: { _nameRaw: "KEY_COMPOSE", name: "COMPOSE", standardName: "" },
|
139
|
+
// Mouse button codes are artificially offset by 0xFFFF0000 in `X11KeyServer`.
|
140
|
+
0xffff0001: { _nameRaw: "1", name: "Button1", standardName: "MOUSE LEFT" },
|
141
|
+
0xffff0002: { _nameRaw: "2", name: "Button2", standardName: "MOUSE MIDDLE" },
|
142
|
+
0xffff0003: { _nameRaw: "3", name: "Button3", standardName: "MOUSE RIGHT" },
|
143
|
+
};
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWDExR2xvYmFsS2V5TG9va3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RzL19kYXRhL1gxMUdsb2JhbEtleUxvb2t1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7Ozs7O0dBTUc7QUFDVSxRQUFBLGtCQUFrQixHQUFxQjtJQUNsRCxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUNuRSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRTtJQUNsRSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN0RCxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN0RCxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN0RCxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN0RCxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN0RCxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN0RCxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN0RCxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN0RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRTtJQUNuRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRTtJQUNyRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTtJQUMvRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRTtJQUM3RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFO0lBQ3pGLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRTtJQUM1RixFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRTtJQUNwRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTtJQUM3RSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN2RCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTtJQUMvRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFO0lBQzdFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFO0lBQ3RFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFO0lBQ2hGLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFO0lBQy9FLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3ZELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3ZELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3ZELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3ZELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3ZELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3ZELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQ3ZELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFO0lBQ25FLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO0lBQzdELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFO0lBQzNFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUU7SUFDbkYsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFO0lBQ3ZGLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFO0lBQzFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFO0lBQ25FLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFO0lBQzdFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQzFELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO0lBQzdELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFO0lBQzFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUU7SUFDbkYsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUU7SUFDOUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUU7SUFDM0UsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUU7SUFDbEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUU7SUFFeEUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ2hGLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQzlELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO0lBQzdELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO0lBQzdELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ3hELEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ3BFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ3BFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ2hFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUNwRixFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUNwRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUN0RSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRTtJQUMvRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRTtJQUNoRixFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUNsRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUM5RCxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTtJQUM5RSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUNyRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRTtJQUNqRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRTtJQUNqRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRTtJQUN4RSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRTtJQUN2RSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRTtJQUMxRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRTtJQUM5RCxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRTtJQUN2RSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTtJQUM5RSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRTtJQUNwRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRTtJQUN2RSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUMvRCxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUM3RCxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ3pFLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQ3JFLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO0lBQy9ELEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFO0lBQ2hGLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFDM0UsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFDL0QsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFFL0QsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFDbkUsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFDbkUsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFDL0QsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFDM0QsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUU7SUFDOUUsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUU7SUFDakYsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFFbkUsOEVBQThFO0lBQzlFLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFO0lBQzFFLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFO0lBQzVFLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFO0NBQzVFLENBQUMifQ==
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import type { IMacConfig } from "./IMacConfig";
|
2
|
+
import type { IWindowsConfig } from "./IWindowsConfig";
|
3
|
+
import type { IX11Config } from "./IX11Config";
|
4
|
+
/** Key listener configuration */
|
5
|
+
export type IConfig = {
|
6
|
+
/** The windows key server configuration */
|
7
|
+
windows?: IWindowsConfig;
|
8
|
+
/** The mac key server configuration */
|
9
|
+
mac?: IMacConfig;
|
10
|
+
/** The x11 key server configuration */
|
11
|
+
x11?: IX11Config;
|
12
|
+
/** The delay after which to dispose the listener server in case no listeners are registered. Defaults to 100, use -1 for no delay at all. */
|
13
|
+
disposeDelay?: number;
|
14
|
+
};
|
15
|
+
//# sourceMappingURL=IConfig.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IConfig.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,iCAAiC;AACjC,MAAM,MAAM,OAAO,GAAG;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,uCAAuC;IACvC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,uCAAuC;IACvC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,6IAA6I;IAC7I,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cy9fdHlwZXMvSUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
@@ -0,0 +1,19 @@
|
|
1
|
+
type IUndefined = "";
|
2
|
+
type IKeyNumber = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
|
3
|
+
type IKeyLetter = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z";
|
4
|
+
type IKeyAlphaNumeric = IKeyNumber | IKeyLetter;
|
5
|
+
type IKeyArrows = "UP ARROW" | "DOWN ARROW" | "LEFT ARROW" | "RIGHT ARROW";
|
6
|
+
type IKeyNumpadNumbers = "NUMPAD 0" | "NUMPAD 1" | "NUMPAD 2" | "NUMPAD 3" | "NUMPAD 4" | "NUMPAD 5" | "NUMPAD 6" | "NUMPAD 7" | "NUMPAD 8" | "NUMPAD 9";
|
7
|
+
type IKeyNumpadSpecials = "NUMPAD EQUALS" | "NUMPAD DIVIDE" | "NUMPAD MULTIPLY" | "NUMPAD MINUS" | "NUMPAD PLUS" | "NUMPAD RETURN" | "NUMPAD DOT";
|
8
|
+
type IKeyNumpad = IKeyNumpadNumbers | IKeyNumpadSpecials;
|
9
|
+
type IKeyModifiers = "LEFT META" | "RIGHT META" | "LEFT CTRL" | "RIGHT CTRL" | "LEFT ALT" | "RIGHT ALT" | "LEFT SHIFT" | "RIGHT SHIFT" | "CAPS LOCK" | "NUM LOCK" | "SCROLL LOCK" | "FN";
|
10
|
+
type IKeyFXX = "F1" | "F2" | "F3" | "F4" | "F5" | "F6" | "F7" | "F8" | "F9" | "F10" | "F11" | "F12" | "F13" | "F14" | "F15" | "F16" | "F17" | "F18" | "F19" | "F20" | "F21" | "F22" | "F23" | "F24";
|
11
|
+
type IKeySym = "EQUALS" | "MINUS" | "SQUARE BRACKET OPEN" | "SQUARE BRACKET CLOSE" | "SEMICOLON" | "QUOTE" | "BACKSLASH" | "COMMA" | "DOT" | "FORWARD SLASH";
|
12
|
+
type IKeyButtons = "SPACE" | "BACKSPACE" | "RETURN" | "ESCAPE" | "BACKTICK" | "SECTION" | "DELETE" | "TAB";
|
13
|
+
type IKeySpecials = IKeyFXX | IKeySym | IKeyButtons;
|
14
|
+
type IKeyRareUse = "INS" | "NUMPAD CLEAR" | "PRINT SCREEN";
|
15
|
+
type IScrollKeys = "PAGE UP" | "PAGE DOWN" | "HOME" | "END";
|
16
|
+
type IKeyMouseButton = "MOUSE LEFT" | "MOUSE RIGHT" | "MOUSE MIDDLE" | "MOUSE X1" | "MOUSE X2";
|
17
|
+
export type IGlobalKey = IUndefined | IKeyAlphaNumeric | IKeyArrows | IKeyModifiers | IKeyMouseButton | IKeySpecials | IKeyNumpad | IScrollKeys | IKeyRareUse;
|
18
|
+
export {};
|
19
|
+
//# sourceMappingURL=IGlobalKey.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IGlobalKey.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IGlobalKey.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,EAAE,CAAC;AACrB,KAAK,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAC5E,KAAK,UAAU,GACX,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AACR,KAAK,gBAAgB,GAAG,UAAU,GAAG,UAAU,CAAC;AAEhD,KAAK,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC;AAE3E,KAAK,iBAAiB,GAClB,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AACf,KAAK,kBAAkB,GACnB,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,eAAe,GACf,YAAY,CAAC;AACjB,KAAK,UAAU,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEzD,KAAK,aAAa,GACd,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,UAAU,GACV,WAAW,GACX,YAAY,GACZ,aAAa,GACb,WAAW,GACX,UAAU,GACV,aAAa,GACb,IAAI,CAAC;AAET,KAAK,OAAO,GACR,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AACV,KAAK,OAAO,GACR,QAAQ,GACR,OAAO,GACP,qBAAqB,GACrB,sBAAsB,GACtB,WAAW,GACX,OAAO,GACP,WAAW,GACX,OAAO,GACP,KAAK,GACL,eAAe,CAAC;AACpB,KAAK,WAAW,GACZ,OAAO,GACP,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,GACT,QAAQ,GACR,KAAK,CAAC;AACV,KAAK,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AACpD,KAAK,WAAW,GAAG,KAAK,GAAG,cAAc,GAAG,cAAc,CAAC;AAE3D,KAAK,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAE5D,KAAK,eAAe,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/F,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,gBAAgB,GAChB,UAAU,GACV,aAAa,GACb,eAAe,GACf,YAAY,GACZ,UAAU,GACV,WAAW,GACX,WAAW,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdsb2JhbEtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cy9fdHlwZXMvSUdsb2JhbEtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IGlobalKeyDownMap.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IGlobalKeyDownMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG;KAC7B,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,OAAO;CAC5B,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdsb2JhbEtleURvd25NYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHMvX3R5cGVzL0lHbG9iYWxLZXlEb3duTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { IGlobalKey } from "./IGlobalKey";
|
2
|
+
/**
|
3
|
+
* A global key event generated by the key server
|
4
|
+
*/
|
5
|
+
export type IGlobalKeyEvent = {
|
6
|
+
vKey: number;
|
7
|
+
rawKey?: {
|
8
|
+
_nameRaw: string;
|
9
|
+
name: string;
|
10
|
+
};
|
11
|
+
name?: IGlobalKey;
|
12
|
+
state: "DOWN" | "UP";
|
13
|
+
scanCode: number;
|
14
|
+
location?: [x: number, y: number];
|
15
|
+
_raw: string;
|
16
|
+
};
|
17
|
+
//# sourceMappingURL=IGlobalKeyEvent.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IGlobalKeyEvent.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IGlobalKeyEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdsb2JhbEtleUV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RzL190eXBlcy9JR2xvYmFsS2V5RXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import type { IGlobalKeyDownMap } from "./IGlobalKeyDownMap";
|
2
|
+
import type { IGlobalKeyEvent } from "./IGlobalKeyEvent";
|
3
|
+
import type { IGlobalKeyResult } from "./IGlobalKeyResult";
|
4
|
+
/**
|
5
|
+
* The signature of a global key listener
|
6
|
+
*/
|
7
|
+
/**
|
8
|
+
* Listens for key events
|
9
|
+
* @param event The key event that was emitted
|
10
|
+
* @param isDown The other keys that are registered to have been held while the event fired (Note this can become desynchronized if another program with higher priority captures and halts an event)
|
11
|
+
* @returns Weather the event should be captured
|
12
|
+
*/
|
13
|
+
export type IGlobalKeyListener = (event: IGlobalKeyEvent, isDown: IGlobalKeyDownMap) => IGlobalKeyResult;
|
14
|
+
//# sourceMappingURL=IGlobalKeyListener.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IGlobalKeyListener.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IGlobalKeyListener.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,iBAAiB,KACtB,gBAAgB,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdsb2JhbEtleUxpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RzL190eXBlcy9JR2xvYmFsS2V5TGlzdGVuZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import type { IGlobalKeyEvent } from "./IGlobalKeyEvent";
|
2
|
+
/**
|
3
|
+
* The signature of a global key listener
|
4
|
+
* return true to halt propagation to other apps on the operating system
|
5
|
+
*/
|
6
|
+
export type IGlobalKeyListenerRaw = (event: IGlobalKeyEvent) => boolean;
|
7
|
+
//# sourceMappingURL=IGlobalKeyListenerRaw.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IGlobalKeyListenerRaw.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IGlobalKeyListenerRaw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdsb2JhbEtleUxpc3RlbmVyUmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RzL190eXBlcy9JR2xvYmFsS2V5TGlzdGVuZXJSYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IGlobalKeyLookup.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IGlobalKeyLookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;CAC1F,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdsb2JhbEtleUxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cy9fdHlwZXMvSUdsb2JhbEtleUxvb2t1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* Return value from KeyListener. You can either return true/false.
|
3
|
+
* Returning `True` will halt propagation of the key event to other processes. `False` will allow events to propagate to the rest of the system.
|
4
|
+
* If you want to halt propagation within LaunchMenu you can also return an object containing `stopImmediatePropagation:true`.
|
5
|
+
*/
|
6
|
+
export type IGlobalKeyResult = boolean | undefined | {
|
7
|
+
/** True - stops propagation to other remote processes. False - allow propagation to other remote processes */
|
8
|
+
stopPropagation?: boolean;
|
9
|
+
/** True - stops propagation of event within key server. False - allow propagation of events within the keyserver */
|
10
|
+
stopImmediatePropagation?: boolean;
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=IGlobalKeyResult.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IGlobalKeyResult.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IGlobalKeyResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,SAAS,GACT;IACE,8GAA8G;IAC9G,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oHAAoH;IACpH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdsb2JhbEtleVJlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cy9fdHlwZXMvSUdsb2JhbEtleVJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/**
|
2
|
+
* Global key-server interface - all OSes will attempt to implement this server interface in order to
|
3
|
+
*/
|
4
|
+
export type IGlobalKeyServer = {
|
5
|
+
/**
|
6
|
+
* Start the keyserver.
|
7
|
+
* @protected
|
8
|
+
*/
|
9
|
+
start(): Promise<void>;
|
10
|
+
/**
|
11
|
+
* Stop the keyserver.
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
stop(): void;
|
15
|
+
};
|
16
|
+
//# sourceMappingURL=IGlobalKeyServer.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IGlobalKeyServer.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IGlobalKeyServer.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;OAGG;IACH,IAAI,IAAI,IAAI,CAAC;CACd,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUdsb2JhbEtleVNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cy9fdHlwZXMvSUdsb2JhbEtleVNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/** Key server configuration that's Mac specific */
|
2
|
+
export type IMacConfig = {
|
3
|
+
/** A callback that's triggered with additional information from the keyhandler */
|
4
|
+
onInfo?: (data: string) => void;
|
5
|
+
/** A callback that's triggered with additional information from the keyhandler */
|
6
|
+
onError?: (errorCode: number | null) => void;
|
7
|
+
/** Path to server executable */
|
8
|
+
serverPath?: string;
|
9
|
+
};
|
10
|
+
//# sourceMappingURL=IMacConfig.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IMacConfig.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IMacConfig.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,MAAM,UAAU,GAAG;IACvB,kFAAkF;IAClF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU1hY0NvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cy9fdHlwZXMvSU1hY0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/** Key server configuration that's windows specific */
|
2
|
+
export type IWindowsConfig = {
|
3
|
+
/** A callback that's triggered with additional information from the keyhandler */
|
4
|
+
onInfo?: (data: string) => void;
|
5
|
+
/** A callback that's triggered with additional information from the keyhandler */
|
6
|
+
onError?: (errorCode: number) => void;
|
7
|
+
/** Path to server executable */
|
8
|
+
serverPath?: string;
|
9
|
+
};
|
10
|
+
//# sourceMappingURL=IWindowsConfig.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IWindowsConfig.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IWindowsConfig.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,MAAM,cAAc,GAAG;IAC3B,kFAAkF;IAClF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVdpbmRvd3NDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHMvX3R5cGVzL0lXaW5kb3dzQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/** Key server configuration that's X11 specific */
|
2
|
+
export type IX11Config = {
|
3
|
+
/** A callback that's triggered with additional information from the keyhandler */
|
4
|
+
onInfo?: (data: string) => void;
|
5
|
+
/** A callback that's triggered with additional information from the keyhandler */
|
6
|
+
onError?: (errorCode: number | null) => void;
|
7
|
+
/** Path to server executable */
|
8
|
+
serverPath?: string;
|
9
|
+
};
|
10
|
+
//# sourceMappingURL=IX11Config.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IX11Config.d.ts","sourceRoot":"","sources":["../../../src/ts/_types/IX11Config.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,MAAM,UAAU,GAAG;IACvB,kFAAkF;IAClF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVgxMUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cy9fdHlwZXMvSVgxMUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"isSpawnEventSupported.d.ts","sourceRoot":"","sources":["../../src/ts/isSpawnEventSupported.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAS/C"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isSpawnEventSupported = isSpawnEventSupported;
|
4
|
+
/**
|
5
|
+
* Checks whether the spawn event of a process is supported (requires node version 15.1+)
|
6
|
+
* @returns Whether spawn is supported
|
7
|
+
*/
|
8
|
+
function isSpawnEventSupported() {
|
9
|
+
const nodeVersion = process.versions.node;
|
10
|
+
const nums = nodeVersion.match(/(\d+)\.(\d+)\.(\d+)/);
|
11
|
+
if (!nums)
|
12
|
+
return false;
|
13
|
+
const major = Number(nums[1]);
|
14
|
+
const minor = Number(nums[2]);
|
15
|
+
const spawnEventSupported = major > 15 || (major === 15 && minor >= 1);
|
16
|
+
return spawnEventSupported;
|
17
|
+
}
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNTcGF3bkV2ZW50U3VwcG9ydGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RzL2lzU3Bhd25FdmVudFN1cHBvcnRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLHNEQVNDO0FBYkQ7OztHQUdHO0FBQ0gsU0FBZ0IscUJBQXFCO0lBQ25DLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzFDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN0RCxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRXhCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkUsT0FBTyxtQkFBbUIsQ0FBQztBQUM3QixDQUFDIn0=
|
package/package.json
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
{
|
2
|
+
"name": "keyspy",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"description": "A cross-platform global keyboard and mouse listener for Node.js",
|
5
|
+
"types": "build/index.d.ts",
|
6
|
+
"main": "build/index.js",
|
7
|
+
"files": [
|
8
|
+
"build/**/*",
|
9
|
+
"scripts/download-binaries.js",
|
10
|
+
"README.md",
|
11
|
+
"LICENSE"
|
12
|
+
],
|
13
|
+
"engines": {
|
14
|
+
"node": ">=14.0.0"
|
15
|
+
},
|
16
|
+
"packageManager": "pnpm@8.0.0",
|
17
|
+
"scripts": {
|
18
|
+
"dev": "tsc --watch",
|
19
|
+
"build": "tsc",
|
20
|
+
"postinstall": "node scripts/download-binaries.js",
|
21
|
+
"build:swift": "mkdir -p bin && swiftc -target arm64-apple-macos10.14 src/bin/MacKeyServer/main.swift -o bin/MacKeyServer-arm64 && swiftc -target x86_64-apple-macos10.14 src/bin/MacKeyServer/main.swift -o bin/MacKeyServer-x86_64 && lipo -create bin/MacKeyServer-arm64 bin/MacKeyServer-x86_64 -output bin/MacKeyServer && rm bin/MacKeyServer-arm64 bin/MacKeyServer-x86_64",
|
22
|
+
"build:mac": "mkdir -p bin && swiftc src/bin/MacKeyServer/main.swift -o bin/MacKeyServer",
|
23
|
+
"build:win": ".\\scripts\\compile-win.bat",
|
24
|
+
"build:x11": "scripts/compile-x11.sh",
|
25
|
+
"test": "jest",
|
26
|
+
"test:unit": "jest tests/unit",
|
27
|
+
"test:integration": "jest tests/integration",
|
28
|
+
"test:manual": "npx ts-node examples/manual-test.ts",
|
29
|
+
"lint": "biome lint .",
|
30
|
+
"lint:fix": "biome lint --write .",
|
31
|
+
"format": "biome format --write .",
|
32
|
+
"format:check": "biome format .",
|
33
|
+
"clean": "rm -rf build dist coverage test-reports .turbo",
|
34
|
+
"prepare": "npm run build",
|
35
|
+
"prepublishOnly": "npm run build && npm run test",
|
36
|
+
"release": "release-it",
|
37
|
+
"release:dry": "release-it --dry-run"
|
38
|
+
},
|
39
|
+
"repository": {
|
40
|
+
"type": "git",
|
41
|
+
"url": "git+https://github.com/teomyth/keyspy.git"
|
42
|
+
},
|
43
|
+
"keywords": [
|
44
|
+
"key",
|
45
|
+
"listener",
|
46
|
+
"global",
|
47
|
+
"node",
|
48
|
+
"keyboard",
|
49
|
+
"mouse",
|
50
|
+
"cross-platform",
|
51
|
+
"hook",
|
52
|
+
"spy",
|
53
|
+
"monitor"
|
54
|
+
],
|
55
|
+
"author": "teomyth",
|
56
|
+
"license": "MIT",
|
57
|
+
"bugs": {
|
58
|
+
"url": "https://github.com/teomyth/keyspy/issues"
|
59
|
+
},
|
60
|
+
"homepage": "https://github.com/teomyth/keyspy#readme",
|
61
|
+
"devDependencies": {
|
62
|
+
"@biomejs/biome": "^1.9.4",
|
63
|
+
"@release-it/conventional-changelog": "^8.0.2",
|
64
|
+
"@types/jest": "^29.5.0",
|
65
|
+
"@types/node": "^20.0.0",
|
66
|
+
"jest": "^29.7.0",
|
67
|
+
"jest-junit": "^16.0.0",
|
68
|
+
"release-it": "^17.8.2",
|
69
|
+
"ts-jest": "^29.2.0",
|
70
|
+
"ts-node": "^10.9.2",
|
71
|
+
"turbo": "^2.3.0",
|
72
|
+
"typescript": "^5.6.3"
|
73
|
+
},
|
74
|
+
"publishConfig": {
|
75
|
+
"access": "public"
|
76
|
+
},
|
77
|
+
"dependencies": {
|
78
|
+
"sudo-prompt": "github:ElBonds/sudo-prompt"
|
79
|
+
}
|
80
|
+
}
|