未验证 提交 31da37a9 编写于 作者: A Alex Dima

Consolidate key code to electron label map

上级 bdc59aac
......@@ -228,13 +228,24 @@ class KeyCodeStrMap {
const uiMap = new KeyCodeStrMap();
const userSettingsUSMap = new KeyCodeStrMap();
const userSettingsGeneralMap = new KeyCodeStrMap();
const electronAcceleratorMap = new KeyCodeStrMap();
(function () {
function define(keyCode: KeyCode, uiLabel: string, usUserSettingsLabel: string = uiLabel, generalUserSettingsLabel: string = usUserSettingsLabel): void {
function define(keyCode: KeyCode, uiLabel: string, usUserSettingsLabel?: string, generalUserSettingsLabel?: string, electronAcceleratorLabel?: string): void {
if (typeof usUserSettingsLabel === 'undefined') {
usUserSettingsLabel = uiLabel;
}
if (typeof generalUserSettingsLabel === 'undefined') {
generalUserSettingsLabel = usUserSettingsLabel;
}
if (typeof electronAcceleratorLabel === 'undefined') {
electronAcceleratorLabel = uiLabel;
}
uiMap.define(keyCode, uiLabel);
userSettingsUSMap.define(keyCode, usUserSettingsLabel);
userSettingsGeneralMap.define(keyCode, generalUserSettingsLabel);
electronAcceleratorMap.define(keyCode, electronAcceleratorLabel);
}
define(KeyCode.Unknown, 'unknown');
......@@ -254,10 +265,10 @@ const userSettingsGeneralMap = new KeyCodeStrMap();
define(KeyCode.End, 'End');
define(KeyCode.Home, 'Home');
define(KeyCode.LeftArrow, 'LeftArrow', 'Left');
define(KeyCode.UpArrow, 'UpArrow', 'Up');
define(KeyCode.RightArrow, 'RightArrow', 'Right');
define(KeyCode.DownArrow, 'DownArrow', 'Down');
define(KeyCode.LeftArrow, 'LeftArrow', 'Left', undefined, 'Left');
define(KeyCode.UpArrow, 'UpArrow', 'Up', undefined, 'Up');
define(KeyCode.RightArrow, 'RightArrow', 'Right', undefined, 'Right');
define(KeyCode.DownArrow, 'DownArrow', 'Down', undefined, 'Down');
define(KeyCode.Insert, 'Insert');
define(KeyCode.Delete, 'Delete');
......@@ -378,6 +389,10 @@ export namespace KeyCodeUtils {
export function fromUserSettings(key: string): KeyCode {
return userSettingsUSMap.strToKeyCode(key) || userSettingsGeneralMap.strToKeyCode(key);
}
export function toElectronAccelerator(keyCode: KeyCode): string {
return electronAcceleratorMap.keyCodeToStr(keyCode);
}
}
/**
......
......@@ -52,18 +52,7 @@ export class USLayoutResolvedKeybinding extends BaseResolvedKeybinding<SimpleKey
return null;
}
switch (keyCode) {
case KeyCode.UpArrow:
return 'Up';
case KeyCode.DownArrow:
return 'Down';
case KeyCode.LeftArrow:
return 'Left';
case KeyCode.RightArrow:
return 'Right';
}
return KeyCodeUtils.toString(keyCode);
return KeyCodeUtils.toElectronAccelerator(keyCode);
}
protected _getElectronAccelerator(keybinding: SimpleKeybinding): string | null {
......
......@@ -878,19 +878,7 @@ export class MacLinuxKeyboardMapper implements IKeyboardMapper {
return null;
}
switch (keyCode) {
case KeyCode.UpArrow:
return 'Up';
case KeyCode.DownArrow:
return 'Down';
case KeyCode.LeftArrow:
return 'Left';
case KeyCode.RightArrow:
return 'Right';
}
// electron menus always do the correct rendering on Windows
return KeyCodeUtils.toString(keyCode);
return KeyCodeUtils.toElectronAccelerator(keyCode);
}
public getElectronAcceleratorLabelForScanCodeBinding(binding: ScanCodeBinding | null): string | null {
......
......@@ -436,19 +436,7 @@ export class WindowsKeyboardMapper implements IKeyboardMapper {
return null;
}
switch (keyCode) {
case KeyCode.UpArrow:
return 'Up';
case KeyCode.DownArrow:
return 'Down';
case KeyCode.LeftArrow:
return 'Left';
case KeyCode.RightArrow:
return 'Right';
}
// electron menus always do the correct rendering on Windows
return KeyCodeUtils.toString(keyCode);
return KeyCodeUtils.toElectronAccelerator(keyCode);
}
private _getLabelForKeyCode(keyCode: KeyCode): string {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册