@codingame/monaco-vscode-keybindings-service-override 11.1.1 → 12.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.
Files changed (128) hide show
  1. package/index.d.ts +19 -2
  2. package/index.js +110 -1
  3. package/package.json +21 -8
  4. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.d.ts +10 -0
  5. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +18 -12
  6. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.d.ts +15 -0
  7. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +2 -0
  8. package/vscode/src/vs/workbench/browser/contextkeys.d.ts +67 -0
  9. package/vscode/src/vs/workbench/browser/contextkeys.js +17 -16
  10. package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.d.ts +1 -0
  11. package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +6 -5
  12. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.d.ts +1 -0
  13. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +2 -1
  14. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.d.ts +14 -0
  15. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +27 -26
  16. package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.d.ts +12 -0
  17. package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.js +14 -13
  18. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.d.ts +44 -0
  19. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +183 -159
  20. package/vscode/src/vs/workbench/services/commands/common/commandService.d.ts +23 -0
  21. package/vscode/src/vs/workbench/services/commands/common/commandService.js +3 -1
  22. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.d.ts +58 -0
  23. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +130 -129
  24. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.d.ts +69 -0
  25. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +37 -45
  26. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.d.ts +8 -0
  27. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +2 -0
  28. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.d.ts +1 -0
  29. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +1 -0
  30. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.d.ts +1 -0
  31. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +1 -0
  32. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.d.ts +1 -0
  33. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +1 -0
  34. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.d.ts +1 -0
  35. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +1 -0
  36. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.d.ts +1 -0
  37. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +1 -0
  38. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.d.ts +1 -0
  39. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +1 -0
  40. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.d.ts +1 -0
  41. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +1 -0
  42. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.d.ts +1 -0
  43. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +1 -0
  44. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.d.ts +1 -0
  45. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +1 -0
  46. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.d.ts +1 -0
  47. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +1 -0
  48. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.d.ts +1 -0
  49. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +1 -0
  50. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.d.ts +1 -0
  51. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +1 -0
  52. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.d.ts +1 -0
  53. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +1 -0
  54. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.d.ts +1 -0
  55. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +1 -0
  56. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.d.ts +1 -0
  57. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +1 -0
  58. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.d.ts +1 -0
  59. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +1 -0
  60. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.d.ts +1 -0
  61. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +1 -0
  62. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.d.ts +1 -0
  63. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +1 -0
  64. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.d.ts +1 -0
  65. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +1 -0
  66. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.d.ts +1 -0
  67. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +1 -0
  68. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.d.ts +1 -0
  69. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +1 -0
  70. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.d.ts +1 -0
  71. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +1 -0
  72. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.d.ts +1 -0
  73. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +1 -0
  74. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.d.ts +1 -0
  75. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +1 -0
  76. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.d.ts +1 -0
  77. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +1 -0
  78. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.d.ts +1 -0
  79. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +1 -0
  80. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.d.ts +1 -0
  81. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +1 -0
  82. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.d.ts +1 -0
  83. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +1 -0
  84. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.d.ts +1 -0
  85. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +1 -0
  86. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.d.ts +1 -0
  87. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +1 -0
  88. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.d.ts +1 -0
  89. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +1 -0
  90. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.d.ts +1 -0
  91. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +1 -0
  92. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.d.ts +1 -0
  93. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +1 -0
  94. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.d.ts +1 -0
  95. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +1 -0
  96. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.d.ts +1 -0
  97. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +1 -0
  98. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.d.ts +1 -0
  99. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +1 -0
  100. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.d.ts +1 -0
  101. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +1 -0
  102. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.d.ts +1 -0
  103. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +1 -0
  104. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.d.ts +1 -0
  105. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +1 -0
  106. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.d.ts +1 -0
  107. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +1 -0
  108. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.d.ts +1 -0
  109. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +1 -0
  110. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.d.ts +1 -0
  111. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +1 -0
  112. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.d.ts +1 -0
  113. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +1 -0
  114. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.d.ts +1 -0
  115. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +1 -0
  116. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.d.ts +1 -0
  117. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +1 -0
  118. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.d.ts +1 -0
  119. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +1 -0
  120. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.d.ts +21 -0
  121. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +2 -1
  122. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.d.ts +35 -0
  123. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +2 -1
  124. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.d.ts +43 -0
  125. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +176 -178
  126. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.d.ts +49 -0
  127. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +71 -68
  128. package/keybindings.js +0 -108
@@ -1,5 +1,8 @@
1
- import { IMMUTABLE_CODE_TO_KEY_CODE, ScanCodeUtils, KeyCodeUtils, IMMUTABLE_KEY_CODE_TO_CODE } from 'vscode/vscode/vs/base/common/keyCodes';
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] !== -1 ) {
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 (((chord.scanCode === 157 || chord.scanCode === 161) ) && !chord.shiftKey && !chord.altKey && !chord.metaKey) {
47
+ if ((chord.scanCode === ScanCode.ControlLeft || chord.scanCode === ScanCode.ControlRight) && !chord.shiftKey && !chord.altKey && !chord.metaKey) {
45
48
  return 'ctrl';
46
49
  }
47
- if (((chord.scanCode === 159 || chord.scanCode === 163) ) && !chord.ctrlKey && !chord.shiftKey && !chord.metaKey) {
50
+ if ((chord.scanCode === ScanCode.AltLeft || chord.scanCode === ScanCode.AltRight) && !chord.ctrlKey && !chord.shiftKey && !chord.metaKey) {
48
51
  return 'alt';
49
52
  }
50
- if (((chord.scanCode === 158 || chord.scanCode === 162) ) && !chord.ctrlKey && !chord.altKey && !chord.metaKey) {
53
+ if ((chord.scanCode === ScanCode.ShiftLeft || chord.scanCode === ScanCode.ShiftRight) && !chord.ctrlKey && !chord.altKey && !chord.metaKey) {
51
54
  return 'shift';
52
55
  }
53
- if (((chord.scanCode === 160 || chord.scanCode === 164) ) && !chord.ctrlKey && !chord.shiftKey && !chord.altKey) {
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 >= 768 && charCode <= 879 ) {
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(56 );
121
- this._moveToEnd(106 );
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 === 0 ) {
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 = ((keyCodeCombo.keyCode >= 21 && keyCodeCombo.keyCode <= 30) );
154
- const keyCodeIsLetter = ((keyCodeCombo.keyCode >= 31 && keyCodeCombo.keyCode <= 56) );
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 >= 36 && scanCode <= 45 ) {
213
+ if (scanCode >= ScanCode.Digit1 && scanCode <= ScanCode.Digit0) {
211
214
  switch (scanCode) {
212
- case 36 : return 22 ;
213
- case 37 : return 23 ;
214
- case 38 : return 24 ;
215
- case 39 : return 25 ;
216
- case 40 : return 26 ;
217
- case 41 : return 27 ;
218
- case 42 : return 28 ;
219
- case 43 : return 29 ;
220
- case 44 : return 30 ;
221
- case 45 : return 21 ;
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 -1 ;
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 = 0 ; scanCode < 193 ; scanCode++) {
286
+ for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
284
287
  this._scanCodeToLabel[scanCode] = null;
285
288
  }
286
- for (let scanCode = 0 ; scanCode < 193 ; scanCode++) {
289
+ for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
287
290
  this._scanCodeToDispatch[scanCode] = null;
288
291
  }
289
- for (let scanCode = 0 ; scanCode < 193 ; 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 !== -1 ) {
294
+ if (keyCode !== KeyCode.DependsOnKbLayout) {
292
295
  _registerAllCombos(0, 0, 0, scanCode, keyCode);
293
296
  this._scanCodeToLabel[scanCode] = ( KeyCodeUtils.toString(keyCode));
294
- if (keyCode === 0 || keyCode === 5 || keyCode === 57 || keyCode === 6 || keyCode === 4 ) {
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 === 0 ) {
311
+ if (scanCode === ScanCode.None) {
309
312
  continue;
310
313
  }
311
- if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== -1 ) {
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 >= 97 && value <= 122 ) {
317
- const upperCaseValue = 65 + ((value - 97) );
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(65 , 10 , 'a', 'A');
333
- _registerLetterIfMissing(66 , 11 , 'b', 'B');
334
- _registerLetterIfMissing(67 , 12 , 'c', 'C');
335
- _registerLetterIfMissing(68 , 13 , 'd', 'D');
336
- _registerLetterIfMissing(69 , 14 , 'e', 'E');
337
- _registerLetterIfMissing(70 , 15 , 'f', 'F');
338
- _registerLetterIfMissing(71 , 16 , 'g', 'G');
339
- _registerLetterIfMissing(72 , 17 , 'h', 'H');
340
- _registerLetterIfMissing(73 , 18 , 'i', 'I');
341
- _registerLetterIfMissing(74 , 19 , 'j', 'J');
342
- _registerLetterIfMissing(75 , 20 , 'k', 'K');
343
- _registerLetterIfMissing(76 , 21 , 'l', 'L');
344
- _registerLetterIfMissing(77 , 22 , 'm', 'M');
345
- _registerLetterIfMissing(78 , 23 , 'n', 'N');
346
- _registerLetterIfMissing(79 , 24 , 'o', 'O');
347
- _registerLetterIfMissing(80 , 25 , 'p', 'P');
348
- _registerLetterIfMissing(81 , 26 , 'q', 'Q');
349
- _registerLetterIfMissing(82 , 27 , 'r', 'R');
350
- _registerLetterIfMissing(83 , 28 , 's', 'S');
351
- _registerLetterIfMissing(84 , 29 , 't', 'T');
352
- _registerLetterIfMissing(85 , 30 , 'u', 'U');
353
- _registerLetterIfMissing(86 , 31 , 'v', 'V');
354
- _registerLetterIfMissing(87 , 32 , 'w', 'W');
355
- _registerLetterIfMissing(88 , 33 , 'x', 'X');
356
- _registerLetterIfMissing(89 , 34 , 'y', 'Y');
357
- _registerLetterIfMissing(90 , 35 , 'z', 'Z');
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 === 0 ) {
367
+ if (scanCode === ScanCode.None) {
365
368
  continue;
366
369
  }
367
- if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== -1 ) {
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 >= 97 && value <= 122 ) {
386
- const upperCaseValue = 65 + ((value - 97) );
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 >= 65 && value <= 90 ) {
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, 36 , 22 );
497
- _registerAllCombos(0, 0, 0, 37 , 23 );
498
- _registerAllCombos(0, 0, 0, 38 , 24 );
499
- _registerAllCombos(0, 0, 0, 39 , 25 );
500
- _registerAllCombos(0, 0, 0, 40 , 26 );
501
- _registerAllCombos(0, 0, 0, 41 , 27 );
502
- _registerAllCombos(0, 0, 0, 42 , 28 );
503
- _registerAllCombos(0, 0, 0, 43 , 29 );
504
- _registerAllCombos(0, 0, 0, 44 , 30 );
505
- _registerAllCombos(0, 0, 0, 45 , 21 );
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
- 88 ,
512
- 104
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 = 0 ; scanCode < 193 ; scanCode++) {
518
- if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== -1 ) {
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: -1 ,
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 === 3 ) {
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 === 2 ) {
626
+ if (this._OS === OperatingSystem.Macintosh) {
630
627
  switch (chord.scanCode) {
631
- case 86 :
628
+ case ScanCode.ArrowLeft:
632
629
  return '←';
633
- case 88 :
630
+ case ScanCode.ArrowUp:
634
631
  return '↑';
635
- case 85 :
632
+ case ScanCode.ArrowRight:
636
633
  return '→';
637
- case 87 :
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 !== -1 ) {
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 !== -1 ) {
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 !== -1 ) {
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 === 3 && !this._isUSStandard) {
712
- const isOEMKey = ((constantKeyCode === 85
713
- || constantKeyCode === 86
714
- || constantKeyCode === 87
715
- || constantKeyCode === 88
716
- || constantKeyCode === 89
717
- || constantKeyCode === 90
718
- || constantKeyCode === 91
719
- || constantKeyCode === 92
720
- || constantKeyCode === 93 || constantKeyCode === 94) );
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 !== -1 ) {
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 === 94 ) {
754
- code = 46 ;
751
+ if (code === ScanCode.NumpadEnter) {
752
+ code = ScanCode.Enter;
755
753
  }
756
754
  const keyCode = keyboardEvent.keyCode;
757
- if (((keyCode === 15) )
758
- || ((keyCode === 16) )
759
- || ((keyCode === 17) )
760
- || ((keyCode === 18) )
761
- || ((keyCode === 20) )
762
- || ((keyCode === 19) )
763
- || ((keyCode === 14) )
764
- || ((keyCode === 13) )
765
- || ((keyCode === 12) )
766
- || ((keyCode === 11) )
767
- || ((keyCode === 1) )) {
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 !== -1 ) {
767
+ if (immutableScanCode !== ScanCode.DependsOnKbLayout) {
770
768
  code = immutableScanCode;
771
769
  }
772
770
  }
773
771
  else {
774
- if (((code === 95) )
775
- || ((code === 96) )
776
- || ((code === 97) )
777
- || ((code === 98) )
778
- || ((code === 99) )
779
- || ((code === 100) )
780
- || ((code === 101) )
781
- || ((code === 102) )
782
- || ((code === 103) )
783
- || ((code === 104) )
784
- || ((code === 105) )) {
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 !== -1 ) {
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 12290 : return 46 ;
814
- case 12300 : return 91 ;
815
- case 12301 : return 93 ;
816
- case 12304 : return 91 ;
817
- case 12305 : return 93 ;
818
- case 65307 : return 59 ;
819
- case 65292 : return 44 ;
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 768 : return 96 ;
837
- case 769 : return 180 ;
838
- case 770 : return 94 ;
839
- case 771 : return 732 ;
840
- case 772 : return 175 ;
841
- case 773 : return 8254 ;
842
- case 774 : return 728 ;
843
- case 775 : return 729 ;
844
- case 776 : return 168 ;
845
- case 778 : return 730 ;
846
- case 779 : return 733 ;
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 = 65 ; chCode <= 90 ; chCode++) {
859
- define(chCode, 31 + ((chCode - 65) ), true);
860
- }
861
- for (let chCode = 97 ; chCode <= 122 ; chCode++) {
862
- define(chCode, 31 + ((chCode - 97) ), false);
863
- }
864
- define(59 , 85 , false);
865
- define(58 , 85 , true);
866
- define(61 , 86 , false);
867
- define(43 , 86 , true);
868
- define(44 , 87 , false);
869
- define(60 , 87 , true);
870
- define(45 , 88 , false);
871
- define(95 , 88 , true);
872
- define(46 , 89 , false);
873
- define(62 , 89 , true);
874
- define(47 , 90 , false);
875
- define(63 , 90 , true);
876
- define(96 , 91 , false);
877
- define(126 , 91 , true);
878
- define(91 , 92 , false);
879
- define(123 , 92 , true);
880
- define(92 , 93 , false);
881
- define(124 , 93 , true);
882
- define(93 , 94 , false);
883
- define(125 , 94 , true);
884
- define(39 , 95 , false);
885
- define(34 , 95 , true);
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
+ }