@codingame/monaco-vscode-keybindings-service-override 11.1.2 → 12.0.1
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/index.d.ts +19 -2
- package/index.js +110 -1
- package/package.json +21 -8
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.d.ts +10 -0
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +18 -12
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.d.ts +15 -0
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +2 -0
- package/vscode/src/vs/workbench/browser/contextkeys.d.ts +67 -0
- package/vscode/src/vs/workbench/browser/contextkeys.js +17 -16
- package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +2 -1
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +27 -26
- package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.js +14 -13
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.d.ts +44 -0
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +183 -159
- package/vscode/src/vs/workbench/services/commands/common/commandService.d.ts +23 -0
- package/vscode/src/vs/workbench/services/commands/common/commandService.js +3 -1
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.d.ts +58 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +130 -129
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.d.ts +69 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +37 -45
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +2 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.d.ts +21 -0
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +2 -1
- package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.d.ts +35 -0
- package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +2 -1
- package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.d.ts +43 -0
- package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +176 -178
- package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.d.ts +49 -0
- package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +71 -68
- package/keybindings.js +0 -108
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { CharCode } from 'vscode/vscode/vs/base/common/charCode';
|
|
3
|
+
import { IMMUTABLE_CODE_TO_KEY_CODE, KeyCode, ScanCode, ScanCodeUtils, KeyCodeUtils, IMMUTABLE_KEY_CODE_TO_CODE } from 'vscode/vscode/vs/base/common/keyCodes';
|
|
2
4
|
import { ScanCodeChord, KeyCodeChord } from 'vscode/vscode/vs/base/common/keybindings';
|
|
5
|
+
import { OperatingSystem } from 'vscode/vscode/vs/base/common/platform';
|
|
3
6
|
import { BaseResolvedKeybinding } from 'vscode/vscode/vs/platform/keybinding/common/baseResolvedKeybinding';
|
|
4
7
|
|
|
5
8
|
const CHAR_CODE_TO_KEY_CODE = [];
|
|
@@ -24,7 +27,7 @@ class NativeResolvedKeybinding extends BaseResolvedKeybinding {
|
|
|
24
27
|
if (!binding) {
|
|
25
28
|
return true;
|
|
26
29
|
}
|
|
27
|
-
if (IMMUTABLE_CODE_TO_KEY_CODE[binding.scanCode] !==
|
|
30
|
+
if (IMMUTABLE_CODE_TO_KEY_CODE[binding.scanCode] !== KeyCode.DependsOnKbLayout) {
|
|
28
31
|
return true;
|
|
29
32
|
}
|
|
30
33
|
const a = this._mapper.getAriaLabelForScanCodeChord(binding);
|
|
@@ -41,16 +44,16 @@ class NativeResolvedKeybinding extends BaseResolvedKeybinding {
|
|
|
41
44
|
return this._mapper.getDispatchStrForScanCodeChord(chord);
|
|
42
45
|
}
|
|
43
46
|
_getSingleModifierChordDispatch(chord) {
|
|
44
|
-
if ((
|
|
47
|
+
if ((chord.scanCode === ScanCode.ControlLeft || chord.scanCode === ScanCode.ControlRight) && !chord.shiftKey && !chord.altKey && !chord.metaKey) {
|
|
45
48
|
return 'ctrl';
|
|
46
49
|
}
|
|
47
|
-
if ((
|
|
50
|
+
if ((chord.scanCode === ScanCode.AltLeft || chord.scanCode === ScanCode.AltRight) && !chord.ctrlKey && !chord.shiftKey && !chord.metaKey) {
|
|
48
51
|
return 'alt';
|
|
49
52
|
}
|
|
50
|
-
if ((
|
|
53
|
+
if ((chord.scanCode === ScanCode.ShiftLeft || chord.scanCode === ScanCode.ShiftRight) && !chord.ctrlKey && !chord.altKey && !chord.metaKey) {
|
|
51
54
|
return 'shift';
|
|
52
55
|
}
|
|
53
|
-
if ((
|
|
56
|
+
if ((chord.scanCode === ScanCode.MetaLeft || chord.scanCode === ScanCode.MetaRight) && !chord.ctrlKey && !chord.shiftKey && !chord.altKey) {
|
|
54
57
|
return 'meta';
|
|
55
58
|
}
|
|
56
59
|
return null;
|
|
@@ -92,7 +95,7 @@ class ScanCodeCombo {
|
|
|
92
95
|
if (charCode === 0) {
|
|
93
96
|
return ' --- ';
|
|
94
97
|
}
|
|
95
|
-
if (charCode >=
|
|
98
|
+
if (charCode >= CharCode.U_Combining_Grave_Accent && charCode <= CharCode.U_Combining_Latin_Small_Letter_X) {
|
|
96
99
|
return 'U+' + ( charCode.toString(16));
|
|
97
100
|
}
|
|
98
101
|
return ' ' + String.fromCharCode(charCode) + ' ';
|
|
@@ -117,8 +120,8 @@ class ScanCodeKeyCodeMapper {
|
|
|
117
120
|
this._keyCodeToScanCode = [];
|
|
118
121
|
}
|
|
119
122
|
registrationComplete() {
|
|
120
|
-
this._moveToEnd(
|
|
121
|
-
this._moveToEnd(
|
|
123
|
+
this._moveToEnd(ScanCode.IntlHash);
|
|
124
|
+
this._moveToEnd(ScanCode.IntlBackslash);
|
|
122
125
|
}
|
|
123
126
|
_moveToEnd(scanCode) {
|
|
124
127
|
for (let mod = 0; mod < 8; mod++) {
|
|
@@ -145,13 +148,13 @@ class ScanCodeKeyCodeMapper {
|
|
|
145
148
|
}
|
|
146
149
|
}
|
|
147
150
|
registerIfUnknown(scanCodeCombo, keyCodeCombo) {
|
|
148
|
-
if (keyCodeCombo.keyCode ===
|
|
151
|
+
if (keyCodeCombo.keyCode === KeyCode.Unknown) {
|
|
149
152
|
return;
|
|
150
153
|
}
|
|
151
154
|
const scanCodeComboEncoded = this._encodeScanCodeCombo(scanCodeCombo);
|
|
152
155
|
const keyCodeComboEncoded = this._encodeKeyCodeCombo(keyCodeCombo);
|
|
153
|
-
const keyCodeIsDigit = (
|
|
154
|
-
const keyCodeIsLetter = (
|
|
156
|
+
const keyCodeIsDigit = (keyCodeCombo.keyCode >= KeyCode.Digit0 && keyCodeCombo.keyCode <= KeyCode.Digit9);
|
|
157
|
+
const keyCodeIsLetter = (keyCodeCombo.keyCode >= KeyCode.KeyA && keyCodeCombo.keyCode <= KeyCode.KeyZ);
|
|
155
158
|
const existingKeyCodeCombos = this._scanCodeToKeyCode[scanCodeComboEncoded];
|
|
156
159
|
if (keyCodeIsDigit || keyCodeIsLetter) {
|
|
157
160
|
if (existingKeyCodeCombos) {
|
|
@@ -207,18 +210,18 @@ class ScanCodeKeyCodeMapper {
|
|
|
207
210
|
return result;
|
|
208
211
|
}
|
|
209
212
|
guessStableKeyCode(scanCode) {
|
|
210
|
-
if (scanCode >=
|
|
213
|
+
if (scanCode >= ScanCode.Digit1 && scanCode <= ScanCode.Digit0) {
|
|
211
214
|
switch (scanCode) {
|
|
212
|
-
case
|
|
213
|
-
case
|
|
214
|
-
case
|
|
215
|
-
case
|
|
216
|
-
case
|
|
217
|
-
case
|
|
218
|
-
case
|
|
219
|
-
case
|
|
220
|
-
case
|
|
221
|
-
case
|
|
215
|
+
case ScanCode.Digit1: return KeyCode.Digit1;
|
|
216
|
+
case ScanCode.Digit2: return KeyCode.Digit2;
|
|
217
|
+
case ScanCode.Digit3: return KeyCode.Digit3;
|
|
218
|
+
case ScanCode.Digit4: return KeyCode.Digit4;
|
|
219
|
+
case ScanCode.Digit5: return KeyCode.Digit5;
|
|
220
|
+
case ScanCode.Digit6: return KeyCode.Digit6;
|
|
221
|
+
case ScanCode.Digit7: return KeyCode.Digit7;
|
|
222
|
+
case ScanCode.Digit8: return KeyCode.Digit8;
|
|
223
|
+
case ScanCode.Digit9: return KeyCode.Digit9;
|
|
224
|
+
case ScanCode.Digit0: return KeyCode.Digit0;
|
|
222
225
|
}
|
|
223
226
|
}
|
|
224
227
|
const keyCodeCombos1 = this.lookupScanCodeCombo(( new ScanCodeCombo(false, false, false, scanCode)));
|
|
@@ -232,7 +235,7 @@ class ScanCodeKeyCodeMapper {
|
|
|
232
235
|
return keyCode1;
|
|
233
236
|
}
|
|
234
237
|
}
|
|
235
|
-
return
|
|
238
|
+
return KeyCode.DependsOnKbLayout;
|
|
236
239
|
}
|
|
237
240
|
_encodeScanCodeCombo(scanCodeCombo) {
|
|
238
241
|
return this._encode(scanCodeCombo.ctrlKey, scanCodeCombo.shiftKey, scanCodeCombo.altKey, scanCodeCombo.scanCode);
|
|
@@ -280,18 +283,18 @@ class MacLinuxKeyboardMapper {
|
|
|
280
283
|
}
|
|
281
284
|
}
|
|
282
285
|
};
|
|
283
|
-
for (let scanCode =
|
|
286
|
+
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
|
|
284
287
|
this._scanCodeToLabel[scanCode] = null;
|
|
285
288
|
}
|
|
286
|
-
for (let scanCode =
|
|
289
|
+
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
|
|
287
290
|
this._scanCodeToDispatch[scanCode] = null;
|
|
288
291
|
}
|
|
289
|
-
for (let scanCode =
|
|
292
|
+
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
|
|
290
293
|
const keyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
|
|
291
|
-
if (keyCode !==
|
|
294
|
+
if (keyCode !== KeyCode.DependsOnKbLayout) {
|
|
292
295
|
_registerAllCombos(0, 0, 0, scanCode, keyCode);
|
|
293
296
|
this._scanCodeToLabel[scanCode] = ( KeyCodeUtils.toString(keyCode));
|
|
294
|
-
if (keyCode ===
|
|
297
|
+
if (keyCode === KeyCode.Unknown || keyCode === KeyCode.Ctrl || keyCode === KeyCode.Meta || keyCode === KeyCode.Alt || keyCode === KeyCode.Shift) {
|
|
295
298
|
this._scanCodeToDispatch[scanCode] = null;
|
|
296
299
|
}
|
|
297
300
|
else {
|
|
@@ -305,16 +308,16 @@ class MacLinuxKeyboardMapper {
|
|
|
305
308
|
for (const strScanCode in rawMappings) {
|
|
306
309
|
if (rawMappings.hasOwnProperty(strScanCode)) {
|
|
307
310
|
const scanCode = ScanCodeUtils.toEnum(strScanCode);
|
|
308
|
-
if (scanCode ===
|
|
311
|
+
if (scanCode === ScanCode.None) {
|
|
309
312
|
continue;
|
|
310
313
|
}
|
|
311
|
-
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !==
|
|
314
|
+
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== KeyCode.DependsOnKbLayout) {
|
|
312
315
|
continue;
|
|
313
316
|
}
|
|
314
317
|
const rawMapping = rawMappings[strScanCode];
|
|
315
318
|
const value = MacLinuxKeyboardMapper.getCharCode(rawMapping.value);
|
|
316
|
-
if (value >=
|
|
317
|
-
const upperCaseValue =
|
|
319
|
+
if (value >= CharCode.a && value <= CharCode.z) {
|
|
320
|
+
const upperCaseValue = CharCode.A + (value - CharCode.a);
|
|
318
321
|
producesLatinLetter[upperCaseValue] = true;
|
|
319
322
|
}
|
|
320
323
|
}
|
|
@@ -329,42 +332,42 @@ class MacLinuxKeyboardMapper {
|
|
|
329
332
|
};
|
|
330
333
|
}
|
|
331
334
|
};
|
|
332
|
-
_registerLetterIfMissing(
|
|
333
|
-
_registerLetterIfMissing(
|
|
334
|
-
_registerLetterIfMissing(
|
|
335
|
-
_registerLetterIfMissing(
|
|
336
|
-
_registerLetterIfMissing(
|
|
337
|
-
_registerLetterIfMissing(
|
|
338
|
-
_registerLetterIfMissing(
|
|
339
|
-
_registerLetterIfMissing(
|
|
340
|
-
_registerLetterIfMissing(
|
|
341
|
-
_registerLetterIfMissing(
|
|
342
|
-
_registerLetterIfMissing(
|
|
343
|
-
_registerLetterIfMissing(
|
|
344
|
-
_registerLetterIfMissing(
|
|
345
|
-
_registerLetterIfMissing(
|
|
346
|
-
_registerLetterIfMissing(
|
|
347
|
-
_registerLetterIfMissing(
|
|
348
|
-
_registerLetterIfMissing(
|
|
349
|
-
_registerLetterIfMissing(
|
|
350
|
-
_registerLetterIfMissing(
|
|
351
|
-
_registerLetterIfMissing(
|
|
352
|
-
_registerLetterIfMissing(
|
|
353
|
-
_registerLetterIfMissing(
|
|
354
|
-
_registerLetterIfMissing(
|
|
355
|
-
_registerLetterIfMissing(
|
|
356
|
-
_registerLetterIfMissing(
|
|
357
|
-
_registerLetterIfMissing(
|
|
335
|
+
_registerLetterIfMissing(CharCode.A, ScanCode.KeyA, 'a', 'A');
|
|
336
|
+
_registerLetterIfMissing(CharCode.B, ScanCode.KeyB, 'b', 'B');
|
|
337
|
+
_registerLetterIfMissing(CharCode.C, ScanCode.KeyC, 'c', 'C');
|
|
338
|
+
_registerLetterIfMissing(CharCode.D, ScanCode.KeyD, 'd', 'D');
|
|
339
|
+
_registerLetterIfMissing(CharCode.E, ScanCode.KeyE, 'e', 'E');
|
|
340
|
+
_registerLetterIfMissing(CharCode.F, ScanCode.KeyF, 'f', 'F');
|
|
341
|
+
_registerLetterIfMissing(CharCode.G, ScanCode.KeyG, 'g', 'G');
|
|
342
|
+
_registerLetterIfMissing(CharCode.H, ScanCode.KeyH, 'h', 'H');
|
|
343
|
+
_registerLetterIfMissing(CharCode.I, ScanCode.KeyI, 'i', 'I');
|
|
344
|
+
_registerLetterIfMissing(CharCode.J, ScanCode.KeyJ, 'j', 'J');
|
|
345
|
+
_registerLetterIfMissing(CharCode.K, ScanCode.KeyK, 'k', 'K');
|
|
346
|
+
_registerLetterIfMissing(CharCode.L, ScanCode.KeyL, 'l', 'L');
|
|
347
|
+
_registerLetterIfMissing(CharCode.M, ScanCode.KeyM, 'm', 'M');
|
|
348
|
+
_registerLetterIfMissing(CharCode.N, ScanCode.KeyN, 'n', 'N');
|
|
349
|
+
_registerLetterIfMissing(CharCode.O, ScanCode.KeyO, 'o', 'O');
|
|
350
|
+
_registerLetterIfMissing(CharCode.P, ScanCode.KeyP, 'p', 'P');
|
|
351
|
+
_registerLetterIfMissing(CharCode.Q, ScanCode.KeyQ, 'q', 'Q');
|
|
352
|
+
_registerLetterIfMissing(CharCode.R, ScanCode.KeyR, 'r', 'R');
|
|
353
|
+
_registerLetterIfMissing(CharCode.S, ScanCode.KeyS, 's', 'S');
|
|
354
|
+
_registerLetterIfMissing(CharCode.T, ScanCode.KeyT, 't', 'T');
|
|
355
|
+
_registerLetterIfMissing(CharCode.U, ScanCode.KeyU, 'u', 'U');
|
|
356
|
+
_registerLetterIfMissing(CharCode.V, ScanCode.KeyV, 'v', 'V');
|
|
357
|
+
_registerLetterIfMissing(CharCode.W, ScanCode.KeyW, 'w', 'W');
|
|
358
|
+
_registerLetterIfMissing(CharCode.X, ScanCode.KeyX, 'x', 'X');
|
|
359
|
+
_registerLetterIfMissing(CharCode.Y, ScanCode.KeyY, 'y', 'Y');
|
|
360
|
+
_registerLetterIfMissing(CharCode.Z, ScanCode.KeyZ, 'z', 'Z');
|
|
358
361
|
}
|
|
359
362
|
const mappings = [];
|
|
360
363
|
let mappingsLen = 0;
|
|
361
364
|
for (const strScanCode in rawMappings) {
|
|
362
365
|
if (rawMappings.hasOwnProperty(strScanCode)) {
|
|
363
366
|
const scanCode = ScanCodeUtils.toEnum(strScanCode);
|
|
364
|
-
if (scanCode ===
|
|
367
|
+
if (scanCode === ScanCode.None) {
|
|
365
368
|
continue;
|
|
366
369
|
}
|
|
367
|
-
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !==
|
|
370
|
+
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== KeyCode.DependsOnKbLayout) {
|
|
368
371
|
continue;
|
|
369
372
|
}
|
|
370
373
|
this._codeInfo[scanCode] = rawMappings[strScanCode];
|
|
@@ -382,11 +385,11 @@ class MacLinuxKeyboardMapper {
|
|
|
382
385
|
};
|
|
383
386
|
mappings[mappingsLen++] = mapping;
|
|
384
387
|
this._scanCodeToDispatch[scanCode] = `[${( ScanCodeUtils.toString(scanCode))}]`;
|
|
385
|
-
if (value >=
|
|
386
|
-
const upperCaseValue =
|
|
388
|
+
if (value >= CharCode.a && value <= CharCode.z) {
|
|
389
|
+
const upperCaseValue = CharCode.A + (value - CharCode.a);
|
|
387
390
|
this._scanCodeToLabel[scanCode] = String.fromCharCode(upperCaseValue);
|
|
388
391
|
}
|
|
389
|
-
else if (value >=
|
|
392
|
+
else if (value >= CharCode.A && value <= CharCode.Z) {
|
|
390
393
|
this._scanCodeToLabel[scanCode] = String.fromCharCode(value);
|
|
391
394
|
}
|
|
392
395
|
else if (value) {
|
|
@@ -493,29 +496,29 @@ class MacLinuxKeyboardMapper {
|
|
|
493
496
|
_registerIfUnknown(1, 1, 1, scanCode, 1, 1, 1, keyCode);
|
|
494
497
|
}
|
|
495
498
|
}
|
|
496
|
-
_registerAllCombos(0, 0, 0,
|
|
497
|
-
_registerAllCombos(0, 0, 0,
|
|
498
|
-
_registerAllCombos(0, 0, 0,
|
|
499
|
-
_registerAllCombos(0, 0, 0,
|
|
500
|
-
_registerAllCombos(0, 0, 0,
|
|
501
|
-
_registerAllCombos(0, 0, 0,
|
|
502
|
-
_registerAllCombos(0, 0, 0,
|
|
503
|
-
_registerAllCombos(0, 0, 0,
|
|
504
|
-
_registerAllCombos(0, 0, 0,
|
|
505
|
-
_registerAllCombos(0, 0, 0,
|
|
499
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit1, KeyCode.Digit1);
|
|
500
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit2, KeyCode.Digit2);
|
|
501
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit3, KeyCode.Digit3);
|
|
502
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit4, KeyCode.Digit4);
|
|
503
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit5, KeyCode.Digit5);
|
|
504
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit6, KeyCode.Digit6);
|
|
505
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit7, KeyCode.Digit7);
|
|
506
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit8, KeyCode.Digit8);
|
|
507
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit9, KeyCode.Digit9);
|
|
508
|
+
_registerAllCombos(0, 0, 0, ScanCode.Digit0, KeyCode.Digit0);
|
|
506
509
|
this._scanCodeKeyCodeMapper.registrationComplete();
|
|
507
510
|
}
|
|
508
511
|
dumpDebugInfo() {
|
|
509
512
|
const result = [];
|
|
510
513
|
const immutableSamples = [
|
|
511
|
-
|
|
512
|
-
|
|
514
|
+
ScanCode.ArrowUp,
|
|
515
|
+
ScanCode.Numpad0
|
|
513
516
|
];
|
|
514
517
|
let cnt = 0;
|
|
515
518
|
result.push(`isUSStandard: ${this._isUSStandard}`);
|
|
516
519
|
result.push(`----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------`);
|
|
517
|
-
for (let scanCode =
|
|
518
|
-
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !==
|
|
520
|
+
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
|
|
521
|
+
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== KeyCode.DependsOnKbLayout) {
|
|
519
522
|
if (immutableSamples.indexOf(scanCode) === -1) {
|
|
520
523
|
continue;
|
|
521
524
|
}
|
|
@@ -538,7 +541,7 @@ class MacLinuxKeyboardMapper {
|
|
|
538
541
|
altKey: scanCodeCombo.altKey,
|
|
539
542
|
metaKey: false,
|
|
540
543
|
altGraphKey: false,
|
|
541
|
-
keyCode:
|
|
544
|
+
keyCode: KeyCode.DependsOnKbLayout,
|
|
542
545
|
code: ( ScanCodeUtils.toString(scanCode))
|
|
543
546
|
});
|
|
544
547
|
const outScanCodeCombo = ( scanCodeCombo.toString());
|
|
@@ -596,14 +599,8 @@ class MacLinuxKeyboardMapper {
|
|
|
596
599
|
return str;
|
|
597
600
|
}
|
|
598
601
|
keyCodeChordToScanCodeChord(chord) {
|
|
599
|
-
if (chord.keyCode ===
|
|
600
|
-
return [( new ScanCodeChord(
|
|
601
|
-
chord.ctrlKey,
|
|
602
|
-
chord.shiftKey,
|
|
603
|
-
chord.altKey,
|
|
604
|
-
chord.metaKey,
|
|
605
|
-
46
|
|
606
|
-
))];
|
|
602
|
+
if (chord.keyCode === KeyCode.Enter) {
|
|
603
|
+
return [( new ScanCodeChord(chord.ctrlKey, chord.shiftKey, chord.altKey, chord.metaKey, ScanCode.Enter))];
|
|
607
604
|
}
|
|
608
605
|
const scanCodeCombos = this._scanCodeKeyCodeMapper.lookupKeyCodeCombo(( new KeyCodeCombo(chord.ctrlKey, chord.shiftKey, chord.altKey, chord.keyCode)));
|
|
609
606
|
const result = [];
|
|
@@ -626,15 +623,15 @@ class MacLinuxKeyboardMapper {
|
|
|
626
623
|
if (chord.isDuplicateModifierCase()) {
|
|
627
624
|
return '';
|
|
628
625
|
}
|
|
629
|
-
if (this._OS ===
|
|
626
|
+
if (this._OS === OperatingSystem.Macintosh) {
|
|
630
627
|
switch (chord.scanCode) {
|
|
631
|
-
case
|
|
628
|
+
case ScanCode.ArrowLeft:
|
|
632
629
|
return '←';
|
|
633
|
-
case
|
|
630
|
+
case ScanCode.ArrowUp:
|
|
634
631
|
return '↑';
|
|
635
|
-
case
|
|
632
|
+
case ScanCode.ArrowRight:
|
|
636
633
|
return '→';
|
|
637
|
-
case
|
|
634
|
+
case ScanCode.ArrowDown:
|
|
638
635
|
return '↓';
|
|
639
636
|
}
|
|
640
637
|
}
|
|
@@ -678,11 +675,11 @@ class MacLinuxKeyboardMapper {
|
|
|
678
675
|
return '';
|
|
679
676
|
}
|
|
680
677
|
const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[chord.scanCode];
|
|
681
|
-
if (immutableKeyCode !==
|
|
678
|
+
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
|
|
682
679
|
return KeyCodeUtils.toUserSettingsUS(immutableKeyCode).toLowerCase();
|
|
683
680
|
}
|
|
684
681
|
const constantKeyCode = this._scanCodeKeyCodeMapper.guessStableKeyCode(chord.scanCode);
|
|
685
|
-
if (constantKeyCode !==
|
|
682
|
+
if (constantKeyCode !== KeyCode.DependsOnKbLayout) {
|
|
686
683
|
const reverseChords = this.keyCodeChordToScanCodeChord(( new KeyCodeChord(
|
|
687
684
|
chord.ctrlKey,
|
|
688
685
|
chord.shiftKey,
|
|
@@ -704,25 +701,26 @@ class MacLinuxKeyboardMapper {
|
|
|
704
701
|
return null;
|
|
705
702
|
}
|
|
706
703
|
const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[chord.scanCode];
|
|
707
|
-
if (immutableKeyCode !==
|
|
704
|
+
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
|
|
708
705
|
return KeyCodeUtils.toElectronAccelerator(immutableKeyCode);
|
|
709
706
|
}
|
|
710
707
|
const constantKeyCode = this._scanCodeKeyCodeMapper.guessStableKeyCode(chord.scanCode);
|
|
711
|
-
if (this._OS ===
|
|
712
|
-
const isOEMKey = (
|
|
713
|
-
|| constantKeyCode ===
|
|
714
|
-
|| constantKeyCode ===
|
|
715
|
-
|| constantKeyCode ===
|
|
716
|
-
|| constantKeyCode ===
|
|
717
|
-
|| constantKeyCode ===
|
|
718
|
-
|| constantKeyCode ===
|
|
719
|
-
|| constantKeyCode ===
|
|
720
|
-
|| constantKeyCode ===
|
|
708
|
+
if (this._OS === OperatingSystem.Linux && !this._isUSStandard) {
|
|
709
|
+
const isOEMKey = (constantKeyCode === KeyCode.Semicolon
|
|
710
|
+
|| constantKeyCode === KeyCode.Equal
|
|
711
|
+
|| constantKeyCode === KeyCode.Comma
|
|
712
|
+
|| constantKeyCode === KeyCode.Minus
|
|
713
|
+
|| constantKeyCode === KeyCode.Period
|
|
714
|
+
|| constantKeyCode === KeyCode.Slash
|
|
715
|
+
|| constantKeyCode === KeyCode.Backquote
|
|
716
|
+
|| constantKeyCode === KeyCode.BracketLeft
|
|
717
|
+
|| constantKeyCode === KeyCode.Backslash
|
|
718
|
+
|| constantKeyCode === KeyCode.BracketRight);
|
|
721
719
|
if (isOEMKey) {
|
|
722
720
|
return null;
|
|
723
721
|
}
|
|
724
722
|
}
|
|
725
|
-
if (constantKeyCode !==
|
|
723
|
+
if (constantKeyCode !== KeyCode.DependsOnKbLayout) {
|
|
726
724
|
return KeyCodeUtils.toElectronAccelerator(constantKeyCode);
|
|
727
725
|
}
|
|
728
726
|
return null;
|
|
@@ -750,41 +748,41 @@ class MacLinuxKeyboardMapper {
|
|
|
750
748
|
}
|
|
751
749
|
resolveKeyboardEvent(keyboardEvent) {
|
|
752
750
|
let code = ScanCodeUtils.toEnum(keyboardEvent.code);
|
|
753
|
-
if (code ===
|
|
754
|
-
code =
|
|
751
|
+
if (code === ScanCode.NumpadEnter) {
|
|
752
|
+
code = ScanCode.Enter;
|
|
755
753
|
}
|
|
756
754
|
const keyCode = keyboardEvent.keyCode;
|
|
757
|
-
if ((
|
|
758
|
-
|| (
|
|
759
|
-
|| (
|
|
760
|
-
|| (
|
|
761
|
-
|| (
|
|
762
|
-
|| (
|
|
763
|
-
|| (
|
|
764
|
-
|| (
|
|
765
|
-
|| (
|
|
766
|
-
|| (
|
|
767
|
-
|| (
|
|
755
|
+
if ((keyCode === KeyCode.LeftArrow)
|
|
756
|
+
|| (keyCode === KeyCode.UpArrow)
|
|
757
|
+
|| (keyCode === KeyCode.RightArrow)
|
|
758
|
+
|| (keyCode === KeyCode.DownArrow)
|
|
759
|
+
|| (keyCode === KeyCode.Delete)
|
|
760
|
+
|| (keyCode === KeyCode.Insert)
|
|
761
|
+
|| (keyCode === KeyCode.Home)
|
|
762
|
+
|| (keyCode === KeyCode.End)
|
|
763
|
+
|| (keyCode === KeyCode.PageDown)
|
|
764
|
+
|| (keyCode === KeyCode.PageUp)
|
|
765
|
+
|| (keyCode === KeyCode.Backspace)) {
|
|
768
766
|
const immutableScanCode = IMMUTABLE_KEY_CODE_TO_CODE[keyCode];
|
|
769
|
-
if (immutableScanCode !==
|
|
767
|
+
if (immutableScanCode !== ScanCode.DependsOnKbLayout) {
|
|
770
768
|
code = immutableScanCode;
|
|
771
769
|
}
|
|
772
770
|
}
|
|
773
771
|
else {
|
|
774
|
-
if ((
|
|
775
|
-
|| (
|
|
776
|
-
|| (
|
|
777
|
-
|| (
|
|
778
|
-
|| (
|
|
779
|
-
|| (
|
|
780
|
-
|| (
|
|
781
|
-
|| (
|
|
782
|
-
|| (
|
|
783
|
-
|| (
|
|
784
|
-
|| (
|
|
772
|
+
if ((code === ScanCode.Numpad1)
|
|
773
|
+
|| (code === ScanCode.Numpad2)
|
|
774
|
+
|| (code === ScanCode.Numpad3)
|
|
775
|
+
|| (code === ScanCode.Numpad4)
|
|
776
|
+
|| (code === ScanCode.Numpad5)
|
|
777
|
+
|| (code === ScanCode.Numpad6)
|
|
778
|
+
|| (code === ScanCode.Numpad7)
|
|
779
|
+
|| (code === ScanCode.Numpad8)
|
|
780
|
+
|| (code === ScanCode.Numpad9)
|
|
781
|
+
|| (code === ScanCode.Numpad0)
|
|
782
|
+
|| (code === ScanCode.NumpadDecimal)) {
|
|
785
783
|
if (keyCode >= 0) {
|
|
786
784
|
const immutableScanCode = IMMUTABLE_KEY_CODE_TO_CODE[keyCode];
|
|
787
|
-
if (immutableScanCode !==
|
|
785
|
+
if (immutableScanCode !== ScanCode.DependsOnKbLayout) {
|
|
788
786
|
code = immutableScanCode;
|
|
789
787
|
}
|
|
790
788
|
}
|
|
@@ -810,13 +808,13 @@ class MacLinuxKeyboardMapper {
|
|
|
810
808
|
}
|
|
811
809
|
static _redirectCharCode(charCode) {
|
|
812
810
|
switch (charCode) {
|
|
813
|
-
case
|
|
814
|
-
case
|
|
815
|
-
case
|
|
816
|
-
case
|
|
817
|
-
case
|
|
818
|
-
case
|
|
819
|
-
case
|
|
811
|
+
case CharCode.U_IDEOGRAPHIC_FULL_STOP: return CharCode.Period;
|
|
812
|
+
case CharCode.U_LEFT_CORNER_BRACKET: return CharCode.OpenSquareBracket;
|
|
813
|
+
case CharCode.U_RIGHT_CORNER_BRACKET: return CharCode.CloseSquareBracket;
|
|
814
|
+
case CharCode.U_LEFT_BLACK_LENTICULAR_BRACKET: return CharCode.OpenSquareBracket;
|
|
815
|
+
case CharCode.U_RIGHT_BLACK_LENTICULAR_BRACKET: return CharCode.CloseSquareBracket;
|
|
816
|
+
case CharCode.U_FULLWIDTH_SEMICOLON: return CharCode.Semicolon;
|
|
817
|
+
case CharCode.U_FULLWIDTH_COMMA: return CharCode.Comma;
|
|
820
818
|
}
|
|
821
819
|
return charCode;
|
|
822
820
|
}
|
|
@@ -833,17 +831,17 @@ class MacLinuxKeyboardMapper {
|
|
|
833
831
|
}
|
|
834
832
|
const charCode = char.charCodeAt(0);
|
|
835
833
|
switch (charCode) {
|
|
836
|
-
case
|
|
837
|
-
case
|
|
838
|
-
case
|
|
839
|
-
case
|
|
840
|
-
case
|
|
841
|
-
case
|
|
842
|
-
case
|
|
843
|
-
case
|
|
844
|
-
case
|
|
845
|
-
case
|
|
846
|
-
case
|
|
834
|
+
case CharCode.U_Combining_Grave_Accent: return CharCode.U_GRAVE_ACCENT;
|
|
835
|
+
case CharCode.U_Combining_Acute_Accent: return CharCode.U_ACUTE_ACCENT;
|
|
836
|
+
case CharCode.U_Combining_Circumflex_Accent: return CharCode.U_CIRCUMFLEX;
|
|
837
|
+
case CharCode.U_Combining_Tilde: return CharCode.U_SMALL_TILDE;
|
|
838
|
+
case CharCode.U_Combining_Macron: return CharCode.U_MACRON;
|
|
839
|
+
case CharCode.U_Combining_Overline: return CharCode.U_OVERLINE;
|
|
840
|
+
case CharCode.U_Combining_Breve: return CharCode.U_BREVE;
|
|
841
|
+
case CharCode.U_Combining_Dot_Above: return CharCode.U_DOT_ABOVE;
|
|
842
|
+
case CharCode.U_Combining_Diaeresis: return CharCode.U_DIAERESIS;
|
|
843
|
+
case CharCode.U_Combining_Ring_Above: return CharCode.U_RING_ABOVE;
|
|
844
|
+
case CharCode.U_Combining_Double_Acute_Accent: return CharCode.U_DOUBLE_ACUTE_ACCENT;
|
|
847
845
|
}
|
|
848
846
|
return charCode;
|
|
849
847
|
}
|
|
@@ -855,34 +853,34 @@ class MacLinuxKeyboardMapper {
|
|
|
855
853
|
}
|
|
856
854
|
CHAR_CODE_TO_KEY_CODE[charCode] = { keyCode: keyCode, shiftKey: shiftKey };
|
|
857
855
|
}
|
|
858
|
-
for (let chCode =
|
|
859
|
-
define(chCode,
|
|
860
|
-
}
|
|
861
|
-
for (let chCode =
|
|
862
|
-
define(chCode,
|
|
863
|
-
}
|
|
864
|
-
define(
|
|
865
|
-
define(
|
|
866
|
-
define(
|
|
867
|
-
define(
|
|
868
|
-
define(
|
|
869
|
-
define(
|
|
870
|
-
define(
|
|
871
|
-
define(
|
|
872
|
-
define(
|
|
873
|
-
define(
|
|
874
|
-
define(
|
|
875
|
-
define(
|
|
876
|
-
define(
|
|
877
|
-
define(
|
|
878
|
-
define(
|
|
879
|
-
define(
|
|
880
|
-
define(
|
|
881
|
-
define(
|
|
882
|
-
define(
|
|
883
|
-
define(
|
|
884
|
-
define(
|
|
885
|
-
define(
|
|
856
|
+
for (let chCode = CharCode.A; chCode <= CharCode.Z; chCode++) {
|
|
857
|
+
define(chCode, KeyCode.KeyA + (chCode - CharCode.A), true);
|
|
858
|
+
}
|
|
859
|
+
for (let chCode = CharCode.a; chCode <= CharCode.z; chCode++) {
|
|
860
|
+
define(chCode, KeyCode.KeyA + (chCode - CharCode.a), false);
|
|
861
|
+
}
|
|
862
|
+
define(CharCode.Semicolon, KeyCode.Semicolon, false);
|
|
863
|
+
define(CharCode.Colon, KeyCode.Semicolon, true);
|
|
864
|
+
define(CharCode.Equals, KeyCode.Equal, false);
|
|
865
|
+
define(CharCode.Plus, KeyCode.Equal, true);
|
|
866
|
+
define(CharCode.Comma, KeyCode.Comma, false);
|
|
867
|
+
define(CharCode.LessThan, KeyCode.Comma, true);
|
|
868
|
+
define(CharCode.Dash, KeyCode.Minus, false);
|
|
869
|
+
define(CharCode.Underline, KeyCode.Minus, true);
|
|
870
|
+
define(CharCode.Period, KeyCode.Period, false);
|
|
871
|
+
define(CharCode.GreaterThan, KeyCode.Period, true);
|
|
872
|
+
define(CharCode.Slash, KeyCode.Slash, false);
|
|
873
|
+
define(CharCode.QuestionMark, KeyCode.Slash, true);
|
|
874
|
+
define(CharCode.BackTick, KeyCode.Backquote, false);
|
|
875
|
+
define(CharCode.Tilde, KeyCode.Backquote, true);
|
|
876
|
+
define(CharCode.OpenSquareBracket, KeyCode.BracketLeft, false);
|
|
877
|
+
define(CharCode.OpenCurlyBrace, KeyCode.BracketLeft, true);
|
|
878
|
+
define(CharCode.Backslash, KeyCode.Backslash, false);
|
|
879
|
+
define(CharCode.Pipe, KeyCode.Backslash, true);
|
|
880
|
+
define(CharCode.CloseSquareBracket, KeyCode.BracketRight, false);
|
|
881
|
+
define(CharCode.CloseCurlyBrace, KeyCode.BracketRight, true);
|
|
882
|
+
define(CharCode.SingleQuote, KeyCode.Quote, false);
|
|
883
|
+
define(CharCode.DoubleQuote, KeyCode.Quote, true);
|
|
886
884
|
})();
|
|
887
885
|
|
|
888
886
|
export { MacLinuxKeyboardMapper, NativeResolvedKeybinding };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { KeyCode, ScanCode } from "vscode/vscode/vs/base/common/keyCodes";
|
|
2
|
+
import { ResolvedKeybinding, KeyCodeChord, SingleModifierChord, ScanCodeChord, Keybinding } from "vscode/vscode/vs/base/common/keybindings";
|
|
3
|
+
import { IKeyboardEvent } from "vscode/vscode/vs/platform/keybinding/common/keybinding";
|
|
4
|
+
import { IKeyboardMapper } from "../../../../platform/keyboardLayout/common/keyboardMapper.js";
|
|
5
|
+
import { BaseResolvedKeybinding } from "vscode/vscode/vs/platform/keybinding/common/baseResolvedKeybinding";
|
|
6
|
+
import { IWindowsKeyboardMapping } from "@codingame/monaco-vscode-40cada32-7e9c-528a-81fc-766e4da54147-common/vscode/vs/platform/keyboardLayout/common/keyboardLayout";
|
|
7
|
+
export interface IScanCodeMapping {
|
|
8
|
+
scanCode: ScanCode;
|
|
9
|
+
keyCode: KeyCode;
|
|
10
|
+
value: string;
|
|
11
|
+
withShift: string;
|
|
12
|
+
withAltGr: string;
|
|
13
|
+
withShiftAltGr: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class WindowsNativeResolvedKeybinding extends BaseResolvedKeybinding<KeyCodeChord> {
|
|
16
|
+
private readonly _mapper;
|
|
17
|
+
constructor(mapper: WindowsKeyboardMapper, chords: KeyCodeChord[]);
|
|
18
|
+
protected _getLabel(chord: KeyCodeChord): string | null;
|
|
19
|
+
private _getUSLabelForKeybinding;
|
|
20
|
+
getUSLabel(): string | null;
|
|
21
|
+
protected _getAriaLabel(chord: KeyCodeChord): string | null;
|
|
22
|
+
protected _getElectronAccelerator(chord: KeyCodeChord): string | null;
|
|
23
|
+
protected _getUserSettingsLabel(chord: KeyCodeChord): string | null;
|
|
24
|
+
protected _isWYSIWYG(chord: KeyCodeChord): boolean;
|
|
25
|
+
private __isWYSIWYG;
|
|
26
|
+
protected _getChordDispatch(chord: KeyCodeChord): string | null;
|
|
27
|
+
protected _getSingleModifierChordDispatch(chord: KeyCodeChord): SingleModifierChord | null;
|
|
28
|
+
private static getProducedCharCode;
|
|
29
|
+
static getProducedChar(chord: ScanCodeChord, mapping: IScanCodeMapping): string;
|
|
30
|
+
}
|
|
31
|
+
export declare class WindowsKeyboardMapper implements IKeyboardMapper {
|
|
32
|
+
private readonly _isUSStandard;
|
|
33
|
+
private readonly _mapAltGrToCtrlAlt;
|
|
34
|
+
private readonly _codeInfo;
|
|
35
|
+
private readonly _scanCodeToKeyCode;
|
|
36
|
+
private readonly _keyCodeToLabel;
|
|
37
|
+
private readonly _keyCodeExists;
|
|
38
|
+
constructor(_isUSStandard: boolean, rawMappings: IWindowsKeyboardMapping, _mapAltGrToCtrlAlt: boolean);
|
|
39
|
+
dumpDebugInfo(): string;
|
|
40
|
+
private _leftPad;
|
|
41
|
+
getUILabelForKeyCode(keyCode: KeyCode): string;
|
|
42
|
+
getAriaLabelForKeyCode(keyCode: KeyCode): string;
|
|
43
|
+
getUserSettingsLabelForKeyCode(keyCode: KeyCode): string;
|
|
44
|
+
getElectronAcceleratorForKeyBinding(chord: KeyCodeChord): string | null;
|
|
45
|
+
private _getLabelForKeyCode;
|
|
46
|
+
resolveKeyboardEvent(keyboardEvent: IKeyboardEvent): WindowsNativeResolvedKeybinding;
|
|
47
|
+
private _resolveChord;
|
|
48
|
+
resolveKeybinding(keybinding: Keybinding): ResolvedKeybinding[];
|
|
49
|
+
}
|