Skip to content

Commit beabc81

Browse files
committed
1 parent df7545e commit beabc81

4 files changed

Lines changed: 20 additions & 3 deletions

File tree

src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -967,6 +967,13 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
967967
for (let part of keybinding.parts) {
968968
chordParts.push(this.simpleKeybindingToScanCodeBinding(part));
969969
}
970+
return this._toResolvedKeybinding(chordParts);
971+
}
972+
973+
private _toResolvedKeybinding(chordParts: ScanCodeBinding[][]): NativeResolvedKeybinding[] {
974+
if (chordParts.length === 0) {
975+
return [];
976+
}
970977
let result: NativeResolvedKeybinding[] = [];
971978
this._generateResolvedKeybindings(chordParts, 0, [], result);
972979
return result;
@@ -1055,9 +1062,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
10551062

10561063
public resolveUserBinding(input: (SimpleKeybinding | ScanCodeBinding)[]): ResolvedKeybinding[] {
10571064
const parts: ScanCodeBinding[][] = input.map(keybinding => this._resolveSimpleUserBinding(keybinding));
1058-
let result: NativeResolvedKeybinding[] = [];
1059-
this._generateResolvedKeybindings(parts, 0, [], result);
1060-
return result;
1065+
return this._toResolvedKeybinding(parts);
10611066
}
10621067

10631068
private static _charCodeToKb(charCode: number): { keyCode: KeyCode; shiftKey: boolean } | null {

src/vs/workbench/services/keybinding/test/macLinuxFallbackKeyboardMapper.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ suite('keyboardMapper - MAC fallback', () => {
7070
);
7171
});
7272

73+
test('resolveUserBinding empty', () => {
74+
assertResolveUserBinding(mapper, [], []);
75+
});
76+
7377
test('resolveUserBinding Cmd+[Comma] Cmd+/', () => {
7478
assertResolveUserBinding(
7579
mapper, [

src/vs/workbench/services/keybinding/test/macLinuxKeyboardMapper.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,10 @@ suite('keyboardMapper - MAC de_ch', () => {
304304
);
305305
});
306306

307+
test('resolveUserBinding empty', () => {
308+
assertResolveUserBinding(mapper, [], []);
309+
});
310+
307311
test('resolveUserBinding Cmd+[Comma] Cmd+/', () => {
308312
assertResolveUserBinding(
309313
mapper,

src/vs/workbench/services/keybinding/test/windowsKeyboardMapper.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,10 @@ suite('keyboardMapper - WINDOWS de_ch', () => {
270270
);
271271
});
272272

273+
test('resolveUserBinding empty', () => {
274+
assertResolveUserBinding(mapper, [], []);
275+
});
276+
273277
test('resolveUserBinding Ctrl+[Comma] Ctrl+/', () => {
274278
assertResolveUserBinding(
275279
mapper, [

0 commit comments

Comments
 (0)