@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,12 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { CharCode } from 'vscode/vscode/vs/base/common/charCode';
|
|
3
|
+
import { KeyCodeUtils, KeyCode, ScanCode, IMMUTABLE_CODE_TO_KEY_CODE, ScanCodeUtils, NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE } from 'vscode/vscode/vs/base/common/keyCodes';
|
|
2
4
|
import { ScanCodeChord, KeyCodeChord } from 'vscode/vscode/vs/base/common/keybindings';
|
|
3
5
|
import { UILabelProvider } from 'vscode/vscode/vs/base/common/keybindingLabels';
|
|
6
|
+
import { OperatingSystem } from 'vscode/vscode/vs/base/common/platform';
|
|
4
7
|
import { BaseResolvedKeybinding } from 'vscode/vscode/vs/platform/keybinding/common/baseResolvedKeybinding';
|
|
5
8
|
import { toEmptyArrayIfContainsNull } from 'vscode/vscode/vs/platform/keybinding/common/resolvedKeybindingItem';
|
|
6
9
|
|
|
7
10
|
class WindowsNativeResolvedKeybinding extends BaseResolvedKeybinding {
|
|
8
11
|
constructor(mapper, chords) {
|
|
9
|
-
super(
|
|
12
|
+
super(OperatingSystem.Windows, chords);
|
|
10
13
|
this._mapper = mapper;
|
|
11
14
|
}
|
|
12
15
|
_getLabel(chord) {
|
|
@@ -44,10 +47,10 @@ class WindowsNativeResolvedKeybinding extends BaseResolvedKeybinding {
|
|
|
44
47
|
return this.__isWYSIWYG(chord.keyCode);
|
|
45
48
|
}
|
|
46
49
|
__isWYSIWYG(keyCode) {
|
|
47
|
-
if (keyCode ===
|
|
48
|
-
|| keyCode ===
|
|
49
|
-
|| keyCode ===
|
|
50
|
-
|| keyCode ===
|
|
50
|
+
if (keyCode === KeyCode.LeftArrow
|
|
51
|
+
|| keyCode === KeyCode.UpArrow
|
|
52
|
+
|| keyCode === KeyCode.RightArrow
|
|
53
|
+
|| keyCode === KeyCode.DownArrow) {
|
|
51
54
|
return true;
|
|
52
55
|
}
|
|
53
56
|
const ariaLabel = this._mapper.getAriaLabelForKeyCode(keyCode);
|
|
@@ -75,16 +78,16 @@ class WindowsNativeResolvedKeybinding extends BaseResolvedKeybinding {
|
|
|
75
78
|
return result;
|
|
76
79
|
}
|
|
77
80
|
_getSingleModifierChordDispatch(chord) {
|
|
78
|
-
if (chord.keyCode ===
|
|
81
|
+
if (chord.keyCode === KeyCode.Ctrl && !chord.shiftKey && !chord.altKey && !chord.metaKey) {
|
|
79
82
|
return 'ctrl';
|
|
80
83
|
}
|
|
81
|
-
if (chord.keyCode ===
|
|
84
|
+
if (chord.keyCode === KeyCode.Shift && !chord.ctrlKey && !chord.altKey && !chord.metaKey) {
|
|
82
85
|
return 'shift';
|
|
83
86
|
}
|
|
84
|
-
if (chord.keyCode ===
|
|
87
|
+
if (chord.keyCode === KeyCode.Alt && !chord.ctrlKey && !chord.shiftKey && !chord.metaKey) {
|
|
85
88
|
return 'alt';
|
|
86
89
|
}
|
|
87
|
-
if (chord.keyCode ===
|
|
90
|
+
if (chord.keyCode === KeyCode.Meta && !chord.ctrlKey && !chord.shiftKey && !chord.altKey) {
|
|
88
91
|
return 'meta';
|
|
89
92
|
}
|
|
90
93
|
return null;
|
|
@@ -120,10 +123,10 @@ class WindowsKeyboardMapper {
|
|
|
120
123
|
this._scanCodeToKeyCode = [];
|
|
121
124
|
this._keyCodeToLabel = [];
|
|
122
125
|
this._keyCodeExists = [];
|
|
123
|
-
this._keyCodeToLabel[
|
|
124
|
-
for (let scanCode =
|
|
126
|
+
this._keyCodeToLabel[KeyCode.Unknown] = ( KeyCodeUtils.toString(KeyCode.Unknown));
|
|
127
|
+
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
|
|
125
128
|
const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
|
|
126
|
-
if (immutableKeyCode !==
|
|
129
|
+
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
|
|
127
130
|
this._scanCodeToKeyCode[scanCode] = immutableKeyCode;
|
|
128
131
|
this._keyCodeToLabel[immutableKeyCode] = ( KeyCodeUtils.toString(immutableKeyCode));
|
|
129
132
|
this._keyCodeExists[immutableKeyCode] = true;
|
|
@@ -135,17 +138,17 @@ class WindowsKeyboardMapper {
|
|
|
135
138
|
for (const strCode in rawMappings) {
|
|
136
139
|
if (rawMappings.hasOwnProperty(strCode)) {
|
|
137
140
|
const scanCode = ScanCodeUtils.toEnum(strCode);
|
|
138
|
-
if (scanCode ===
|
|
141
|
+
if (scanCode === ScanCode.None) {
|
|
139
142
|
continue;
|
|
140
143
|
}
|
|
141
144
|
const rawMapping = rawMappings[strCode];
|
|
142
145
|
const immutableKeyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
|
|
143
|
-
if (immutableKeyCode !==
|
|
144
|
-
const keyCode = NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[rawMapping.vkey] ||
|
|
145
|
-
if (keyCode ===
|
|
146
|
+
if (immutableKeyCode !== KeyCode.DependsOnKbLayout) {
|
|
147
|
+
const keyCode = NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[rawMapping.vkey] || KeyCode.Unknown;
|
|
148
|
+
if (keyCode === KeyCode.Unknown || immutableKeyCode === keyCode) {
|
|
146
149
|
continue;
|
|
147
150
|
}
|
|
148
|
-
if (scanCode !==
|
|
151
|
+
if (scanCode !== ScanCode.NumpadComma) {
|
|
149
152
|
continue;
|
|
150
153
|
}
|
|
151
154
|
}
|
|
@@ -153,7 +156,7 @@ class WindowsKeyboardMapper {
|
|
|
153
156
|
const withShift = rawMapping.withShift;
|
|
154
157
|
const withAltGr = rawMapping.withAltGr;
|
|
155
158
|
const withShiftAltGr = rawMapping.withShiftAltGr;
|
|
156
|
-
const keyCode = NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[rawMapping.vkey] ||
|
|
159
|
+
const keyCode = NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[rawMapping.vkey] || KeyCode.Unknown;
|
|
157
160
|
const mapping = {
|
|
158
161
|
scanCode: scanCode,
|
|
159
162
|
keyCode: keyCode,
|
|
@@ -164,7 +167,7 @@ class WindowsKeyboardMapper {
|
|
|
164
167
|
};
|
|
165
168
|
this._codeInfo[scanCode] = mapping;
|
|
166
169
|
this._scanCodeToKeyCode[scanCode] = keyCode;
|
|
167
|
-
if (keyCode ===
|
|
170
|
+
if (keyCode === KeyCode.Unknown) {
|
|
168
171
|
continue;
|
|
169
172
|
}
|
|
170
173
|
this._keyCodeExists[keyCode] = true;
|
|
@@ -176,13 +179,13 @@ class WindowsKeyboardMapper {
|
|
|
176
179
|
}
|
|
177
180
|
else {
|
|
178
181
|
const charCode = value.charCodeAt(0);
|
|
179
|
-
if (charCode >=
|
|
180
|
-
const upperCaseValue =
|
|
182
|
+
if (charCode >= CharCode.a && charCode <= CharCode.z) {
|
|
183
|
+
const upperCaseValue = CharCode.A + (charCode - CharCode.a);
|
|
181
184
|
producesLetter[upperCaseValue] = true;
|
|
182
185
|
producesLetters = true;
|
|
183
|
-
this._keyCodeToLabel[keyCode] = String.fromCharCode(
|
|
186
|
+
this._keyCodeToLabel[keyCode] = String.fromCharCode(CharCode.A + (charCode - CharCode.a));
|
|
184
187
|
}
|
|
185
|
-
else if (charCode >=
|
|
188
|
+
else if (charCode >= CharCode.A && charCode <= CharCode.Z) {
|
|
186
189
|
producesLetter[charCode] = true;
|
|
187
190
|
producesLetters = true;
|
|
188
191
|
this._keyCodeToLabel[keyCode] = value;
|
|
@@ -198,59 +201,59 @@ class WindowsKeyboardMapper {
|
|
|
198
201
|
this._keyCodeToLabel[keyCode] = String.fromCharCode(charCode);
|
|
199
202
|
}
|
|
200
203
|
};
|
|
201
|
-
_registerLetterIfMissing(
|
|
202
|
-
_registerLetterIfMissing(
|
|
203
|
-
_registerLetterIfMissing(
|
|
204
|
-
_registerLetterIfMissing(
|
|
205
|
-
_registerLetterIfMissing(
|
|
206
|
-
_registerLetterIfMissing(
|
|
207
|
-
_registerLetterIfMissing(
|
|
208
|
-
_registerLetterIfMissing(
|
|
209
|
-
_registerLetterIfMissing(
|
|
210
|
-
_registerLetterIfMissing(
|
|
211
|
-
_registerLetterIfMissing(
|
|
212
|
-
_registerLetterIfMissing(
|
|
213
|
-
_registerLetterIfMissing(
|
|
214
|
-
_registerLetterIfMissing(
|
|
215
|
-
_registerLetterIfMissing(
|
|
216
|
-
_registerLetterIfMissing(
|
|
217
|
-
_registerLetterIfMissing(
|
|
218
|
-
_registerLetterIfMissing(
|
|
219
|
-
_registerLetterIfMissing(
|
|
220
|
-
_registerLetterIfMissing(
|
|
221
|
-
_registerLetterIfMissing(
|
|
222
|
-
_registerLetterIfMissing(
|
|
223
|
-
_registerLetterIfMissing(
|
|
224
|
-
_registerLetterIfMissing(
|
|
225
|
-
_registerLetterIfMissing(
|
|
226
|
-
_registerLetterIfMissing(
|
|
204
|
+
_registerLetterIfMissing(CharCode.A, KeyCode.KeyA);
|
|
205
|
+
_registerLetterIfMissing(CharCode.B, KeyCode.KeyB);
|
|
206
|
+
_registerLetterIfMissing(CharCode.C, KeyCode.KeyC);
|
|
207
|
+
_registerLetterIfMissing(CharCode.D, KeyCode.KeyD);
|
|
208
|
+
_registerLetterIfMissing(CharCode.E, KeyCode.KeyE);
|
|
209
|
+
_registerLetterIfMissing(CharCode.F, KeyCode.KeyF);
|
|
210
|
+
_registerLetterIfMissing(CharCode.G, KeyCode.KeyG);
|
|
211
|
+
_registerLetterIfMissing(CharCode.H, KeyCode.KeyH);
|
|
212
|
+
_registerLetterIfMissing(CharCode.I, KeyCode.KeyI);
|
|
213
|
+
_registerLetterIfMissing(CharCode.J, KeyCode.KeyJ);
|
|
214
|
+
_registerLetterIfMissing(CharCode.K, KeyCode.KeyK);
|
|
215
|
+
_registerLetterIfMissing(CharCode.L, KeyCode.KeyL);
|
|
216
|
+
_registerLetterIfMissing(CharCode.M, KeyCode.KeyM);
|
|
217
|
+
_registerLetterIfMissing(CharCode.N, KeyCode.KeyN);
|
|
218
|
+
_registerLetterIfMissing(CharCode.O, KeyCode.KeyO);
|
|
219
|
+
_registerLetterIfMissing(CharCode.P, KeyCode.KeyP);
|
|
220
|
+
_registerLetterIfMissing(CharCode.Q, KeyCode.KeyQ);
|
|
221
|
+
_registerLetterIfMissing(CharCode.R, KeyCode.KeyR);
|
|
222
|
+
_registerLetterIfMissing(CharCode.S, KeyCode.KeyS);
|
|
223
|
+
_registerLetterIfMissing(CharCode.T, KeyCode.KeyT);
|
|
224
|
+
_registerLetterIfMissing(CharCode.U, KeyCode.KeyU);
|
|
225
|
+
_registerLetterIfMissing(CharCode.V, KeyCode.KeyV);
|
|
226
|
+
_registerLetterIfMissing(CharCode.W, KeyCode.KeyW);
|
|
227
|
+
_registerLetterIfMissing(CharCode.X, KeyCode.KeyX);
|
|
228
|
+
_registerLetterIfMissing(CharCode.Y, KeyCode.KeyY);
|
|
229
|
+
_registerLetterIfMissing(CharCode.Z, KeyCode.KeyZ);
|
|
227
230
|
if (!producesLetters) {
|
|
228
231
|
const _registerLabel = (keyCode, charCode) => {
|
|
229
232
|
this._keyCodeToLabel[keyCode] = String.fromCharCode(charCode);
|
|
230
233
|
};
|
|
231
|
-
_registerLabel(
|
|
232
|
-
_registerLabel(
|
|
233
|
-
_registerLabel(
|
|
234
|
-
_registerLabel(
|
|
235
|
-
_registerLabel(
|
|
236
|
-
_registerLabel(
|
|
237
|
-
_registerLabel(
|
|
238
|
-
_registerLabel(
|
|
239
|
-
_registerLabel(
|
|
240
|
-
_registerLabel(
|
|
241
|
-
_registerLabel(
|
|
234
|
+
_registerLabel(KeyCode.Semicolon, CharCode.Semicolon);
|
|
235
|
+
_registerLabel(KeyCode.Equal, CharCode.Equals);
|
|
236
|
+
_registerLabel(KeyCode.Comma, CharCode.Comma);
|
|
237
|
+
_registerLabel(KeyCode.Minus, CharCode.Dash);
|
|
238
|
+
_registerLabel(KeyCode.Period, CharCode.Period);
|
|
239
|
+
_registerLabel(KeyCode.Slash, CharCode.Slash);
|
|
240
|
+
_registerLabel(KeyCode.Backquote, CharCode.BackTick);
|
|
241
|
+
_registerLabel(KeyCode.BracketLeft, CharCode.OpenSquareBracket);
|
|
242
|
+
_registerLabel(KeyCode.Backslash, CharCode.Backslash);
|
|
243
|
+
_registerLabel(KeyCode.BracketRight, CharCode.CloseSquareBracket);
|
|
244
|
+
_registerLabel(KeyCode.Quote, CharCode.SingleQuote);
|
|
242
245
|
}
|
|
243
246
|
}
|
|
244
247
|
dumpDebugInfo() {
|
|
245
248
|
const result = [];
|
|
246
249
|
const immutableSamples = [
|
|
247
|
-
|
|
248
|
-
|
|
250
|
+
ScanCode.ArrowUp,
|
|
251
|
+
ScanCode.Numpad0
|
|
249
252
|
];
|
|
250
253
|
let cnt = 0;
|
|
251
254
|
result.push(`-----------------------------------------------------------------------------------------------------------------------------------------`);
|
|
252
|
-
for (let scanCode =
|
|
253
|
-
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !==
|
|
255
|
+
for (let scanCode = ScanCode.None; scanCode < ScanCode.MAX_VALUE; scanCode++) {
|
|
256
|
+
if (IMMUTABLE_CODE_TO_KEY_CODE[scanCode] !== KeyCode.DependsOnKbLayout) {
|
|
254
257
|
if (immutableSamples.indexOf(scanCode) === -1) {
|
|
255
258
|
continue;
|
|
256
259
|
}
|
|
@@ -310,7 +313,7 @@ class WindowsKeyboardMapper {
|
|
|
310
313
|
return KeyCodeUtils.toElectronAccelerator(chord.keyCode);
|
|
311
314
|
}
|
|
312
315
|
_getLabelForKeyCode(keyCode) {
|
|
313
|
-
return this._keyCodeToLabel[keyCode] || ( KeyCodeUtils.toString(
|
|
316
|
+
return this._keyCodeToLabel[keyCode] || ( KeyCodeUtils.toString(KeyCode.Unknown));
|
|
314
317
|
}
|
|
315
318
|
resolveKeyboardEvent(keyboardEvent) {
|
|
316
319
|
const ctrlKey = keyboardEvent.ctrlKey || (this._mapAltGrToCtrlAlt && keyboardEvent.altGraphKey);
|
|
@@ -334,8 +337,8 @@ class WindowsKeyboardMapper {
|
|
|
334
337
|
}
|
|
335
338
|
return chord;
|
|
336
339
|
}
|
|
337
|
-
const keyCode = this._scanCodeToKeyCode[chord.scanCode] ||
|
|
338
|
-
if (keyCode ===
|
|
340
|
+
const keyCode = this._scanCodeToKeyCode[chord.scanCode] || KeyCode.Unknown;
|
|
341
|
+
if (keyCode === KeyCode.Unknown || !this._keyCodeExists[keyCode]) {
|
|
339
342
|
return null;
|
|
340
343
|
}
|
|
341
344
|
return ( new KeyCodeChord(chord.ctrlKey, chord.shiftKey, chord.altKey, chord.metaKey, keyCode));
|
package/keybindings.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
|
-
import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
|
|
3
|
-
import { WorkbenchKeybindingService } from './vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js';
|
|
4
|
-
import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
5
|
-
import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
|
|
6
|
-
import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
|
|
7
|
-
import { IKeyboardLayoutService } from 'vscode/vscode/vs/platform/keyboardLayout/common/keyboardLayout.service';
|
|
8
|
-
import { BrowserKeyboardLayoutService } from './vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js';
|
|
9
|
-
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
10
|
-
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
11
|
-
import { CommandService } from './vscode/src/vs/workbench/services/commands/common/commandService.js';
|
|
12
|
-
import { DisposableStore, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
13
|
-
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
14
|
-
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
15
|
-
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
16
|
-
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
|
|
17
|
-
import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
18
|
-
import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/host.service';
|
|
19
|
-
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
20
|
-
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
21
|
-
import { WorkbenchContextKeysHandler } from './vscode/src/vs/workbench/browser/contextkeys.js';
|
|
22
|
-
import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
23
|
-
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
24
|
-
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
25
|
-
import getServiceOverride$1, { initFile } from '@codingame/monaco-vscode-files-service-override';
|
|
26
|
-
import { onRenderWorkbench } from 'vscode/lifecycle';
|
|
27
|
-
import 'vscode/vscode/vs/workbench/browser/workbench.contribution';
|
|
28
|
-
import './vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js';
|
|
29
|
-
import './vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js';
|
|
30
|
-
import './vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js';
|
|
31
|
-
import { getService } from 'vscode/services';
|
|
32
|
-
|
|
33
|
-
const defaultUserKeybindindsFile = ( URI.from({
|
|
34
|
-
scheme: Schemas.vscodeUserData,
|
|
35
|
-
path: '/User/keybindings.json'
|
|
36
|
-
}));
|
|
37
|
-
async function initUserKeybindings(configurationJson, options, file = defaultUserKeybindindsFile) {
|
|
38
|
-
await initFile(file, configurationJson, options);
|
|
39
|
-
}
|
|
40
|
-
async function updateUserKeybindings(keybindingsJson) {
|
|
41
|
-
const userDataProfilesService = await getService(IUserDataProfilesService);
|
|
42
|
-
const fileService = await getService(IFileService);
|
|
43
|
-
await fileService.writeFile(userDataProfilesService.defaultProfile.keybindingsResource, VSBuffer.fromString(keybindingsJson));
|
|
44
|
-
}
|
|
45
|
-
let DynamicWorkbenchKeybindingService = class DynamicWorkbenchKeybindingService extends WorkbenchKeybindingService {
|
|
46
|
-
constructor(shouldUseGlobalKeybindings, contextKeyService, commandService, telemetryService, notificationService, userDataProfileService, hostService, extensionService, fileService, uriIdentityService, logService, keyboardLayoutService) {
|
|
47
|
-
super(contextKeyService, commandService, telemetryService, notificationService, userDataProfileService, hostService, extensionService, fileService, uriIdentityService, logService, keyboardLayoutService);
|
|
48
|
-
this.shouldUseGlobalKeybindings = shouldUseGlobalKeybindings;
|
|
49
|
-
this.keybindingProviders = [];
|
|
50
|
-
}
|
|
51
|
-
registerKeybindingProvider(provider) {
|
|
52
|
-
this.keybindingProviders.push(provider);
|
|
53
|
-
this.updateResolver();
|
|
54
|
-
const store = new DisposableStore();
|
|
55
|
-
store.add(provider.onDidChangeKeybindings(() => {
|
|
56
|
-
this.updateResolver();
|
|
57
|
-
}));
|
|
58
|
-
store.add(toDisposable(() => {
|
|
59
|
-
const idx = this.keybindingProviders.indexOf(provider);
|
|
60
|
-
if (idx >= 0) {
|
|
61
|
-
this.keybindingProviders.splice(idx, 1);
|
|
62
|
-
this.updateResolver();
|
|
63
|
-
}
|
|
64
|
-
}));
|
|
65
|
-
return store;
|
|
66
|
-
}
|
|
67
|
-
_getResolver() {
|
|
68
|
-
return super._getResolver();
|
|
69
|
-
}
|
|
70
|
-
_dispatch(e, target) {
|
|
71
|
-
if (!this.shouldUseGlobalKeybindings()) {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
return super._dispatch(e, target);
|
|
75
|
-
}
|
|
76
|
-
getUserKeybindingItems() {
|
|
77
|
-
return [
|
|
78
|
-
...super.getUserKeybindingItems(),
|
|
79
|
-
...this.keybindingProviders.flatMap((provider) => provider.provideKeybindings())
|
|
80
|
-
];
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
DynamicWorkbenchKeybindingService = __decorate([
|
|
84
|
-
( __param(1, IContextKeyService)),
|
|
85
|
-
( __param(2, ICommandService)),
|
|
86
|
-
( __param(3, ITelemetryService)),
|
|
87
|
-
( __param(4, INotificationService)),
|
|
88
|
-
( __param(5, IUserDataProfileService)),
|
|
89
|
-
( __param(6, IHostService)),
|
|
90
|
-
( __param(7, IExtensionService)),
|
|
91
|
-
( __param(8, IFileService)),
|
|
92
|
-
( __param(9, IUriIdentityService)),
|
|
93
|
-
( __param(10, ILogService)),
|
|
94
|
-
( __param(11, IKeyboardLayoutService))
|
|
95
|
-
], DynamicWorkbenchKeybindingService);
|
|
96
|
-
onRenderWorkbench((accessor) => {
|
|
97
|
-
accessor.get(IInstantiationService).createInstance(WorkbenchContextKeysHandler);
|
|
98
|
-
});
|
|
99
|
-
function getServiceOverride({ shouldUseGlobalKeybindings = () => false } = {}) {
|
|
100
|
-
return {
|
|
101
|
-
...getServiceOverride$1(),
|
|
102
|
-
[( IKeybindingService.toString())]: new SyncDescriptor(DynamicWorkbenchKeybindingService, [shouldUseGlobalKeybindings], false),
|
|
103
|
-
[( IKeyboardLayoutService.toString())]: new SyncDescriptor(BrowserKeyboardLayoutService, [], true),
|
|
104
|
-
[( ICommandService.toString())]: new SyncDescriptor(CommandService, [], true)
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export { getServiceOverride as default, defaultUserKeybindindsFile, initUserKeybindings, updateUserKeybindings };
|