Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
d3d0b7a8
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d3d0b7a8
编写于
3月 17, 2017
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add WindowsKeyboardMapper
上级
bbbe404c
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
1983 addition
and
210 deletion
+1983
-210
src/vs/workbench/services/keybinding/common/keyboardEventCode.ts
...workbench/services/keybinding/common/keyboardEventCode.ts
+213
-1
src/vs/workbench/services/keybinding/common/keyboardMapper.ts
...vs/workbench/services/keybinding/common/keyboardMapper.ts
+1
-209
src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.ts
...bench/services/keybinding/common/windowsKeyboardMapper.ts
+357
-0
src/vs/workbench/services/keybinding/test/win_de_ch.js
src/vs/workbench/services/keybinding/test/win_de_ch.js
+1093
-0
src/vs/workbench/services/keybinding/test/win_de_ch.txt
src/vs/workbench/services/keybinding/test/win_de_ch.txt
+227
-0
src/vs/workbench/services/keybinding/test/windowsKeyboardMapper.test.ts
...ch/services/keybinding/test/windowsKeyboardMapper.test.ts
+92
-0
未找到文件。
src/vs/workbench/services/keybinding/common/keyboardEventCode.ts
浏览文件 @
d3d0b7a8
...
...
@@ -2,8 +2,11 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
{
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
const
codeIntToStr
:
string
[]
=
[];
const
codeStrToInt
:
{
[
code
:
string
]:
number
;
}
=
Object
.
create
(
null
);
...
...
@@ -412,4 +415,213 @@ export const enum KeyboardEventCode {
MailSend
,
MAX_VALUE
}
\ No newline at end of file
}
/**
* -1 if a HwCode => KeyCode mapping depends on kb layout.
*/
export
const
IMMUTABLE_CODE_TO_KEY_CODE
:
KeyCode
[]
=
[];
(
function
()
{
for
(
let
i
=
0
;
i
<=
KeyboardEventCode
.
MAX_VALUE
;
i
++
)
{
IMMUTABLE_CODE_TO_KEY_CODE
[
i
]
=
-
1
;
}
function
define
(
code
:
KeyboardEventCode
,
keyCode
:
KeyCode
):
void
{
IMMUTABLE_CODE_TO_KEY_CODE
[
code
]
=
keyCode
;
}
define
(
KeyboardEventCode
.
None
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Hyper
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Super
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Fn
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
FnLock
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Suspend
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Resume
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Turbo
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Sleep
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
WakeUp
,
KeyCode
.
Unknown
);
// define(KeyboardEventCode.KeyA, KeyCode.Unknown);
// define(KeyboardEventCode.KeyB, KeyCode.Unknown);
// define(KeyboardEventCode.KeyC, KeyCode.Unknown);
// define(KeyboardEventCode.KeyD, KeyCode.Unknown);
// define(KeyboardEventCode.KeyE, KeyCode.Unknown);
// define(KeyboardEventCode.KeyF, KeyCode.Unknown);
// define(KeyboardEventCode.KeyG, KeyCode.Unknown);
// define(KeyboardEventCode.KeyH, KeyCode.Unknown);
// define(KeyboardEventCode.KeyI, KeyCode.Unknown);
// define(KeyboardEventCode.KeyJ, KeyCode.Unknown);
// define(KeyboardEventCode.KeyK, KeyCode.Unknown);
// define(KeyboardEventCode.KeyL, KeyCode.Unknown);
// define(KeyboardEventCode.KeyM, KeyCode.Unknown);
// define(KeyboardEventCode.KeyN, KeyCode.Unknown);
// define(KeyboardEventCode.KeyO, KeyCode.Unknown);
// define(KeyboardEventCode.KeyP, KeyCode.Unknown);
// define(KeyboardEventCode.KeyQ, KeyCode.Unknown);
// define(KeyboardEventCode.KeyR, KeyCode.Unknown);
// define(KeyboardEventCode.KeyS, KeyCode.Unknown);
// define(KeyboardEventCode.KeyT, KeyCode.Unknown);
// define(KeyboardEventCode.KeyU, KeyCode.Unknown);
// define(KeyboardEventCode.KeyV, KeyCode.Unknown);
// define(KeyboardEventCode.KeyW, KeyCode.Unknown);
// define(KeyboardEventCode.KeyX, KeyCode.Unknown);
// define(KeyboardEventCode.KeyY, KeyCode.Unknown);
// define(KeyboardEventCode.KeyZ, KeyCode.Unknown);
// define(KeyboardEventCode.Digit1, KeyCode.Unknown);
// define(KeyboardEventCode.Digit2, KeyCode.Unknown);
// define(KeyboardEventCode.Digit3, KeyCode.Unknown);
// define(KeyboardEventCode.Digit4, KeyCode.Unknown);
// define(KeyboardEventCode.Digit5, KeyCode.Unknown);
// define(KeyboardEventCode.Digit6, KeyCode.Unknown);
// define(KeyboardEventCode.Digit7, KeyCode.Unknown);
// define(KeyboardEventCode.Digit8, KeyCode.Unknown);
// define(KeyboardEventCode.Digit9, KeyCode.Unknown);
// define(KeyboardEventCode.Digit0, KeyCode.Unknown);
define
(
KeyboardEventCode
.
Enter
,
KeyCode
.
Enter
);
define
(
KeyboardEventCode
.
Escape
,
KeyCode
.
Escape
);
define
(
KeyboardEventCode
.
Backspace
,
KeyCode
.
Backspace
);
define
(
KeyboardEventCode
.
Tab
,
KeyCode
.
Tab
);
define
(
KeyboardEventCode
.
Space
,
KeyCode
.
Space
);
// define(KeyboardEventCode.Minus, KeyCode.Unknown);
// define(KeyboardEventCode.Equal, KeyCode.Unknown);
// define(KeyboardEventCode.BracketLeft, KeyCode.Unknown);
// define(KeyboardEventCode.BracketRight, KeyCode.Unknown);
// define(KeyboardEventCode.Backslash, KeyCode.Unknown);
// define(KeyboardEventCode.IntlHash, KeyCode.Unknown);
// define(KeyboardEventCode.Semicolon, KeyCode.Unknown);
// define(KeyboardEventCode.Quote, KeyCode.Unknown);
// define(KeyboardEventCode.Backquote, KeyCode.Unknown);
// define(KeyboardEventCode.Comma, KeyCode.Unknown);
// define(KeyboardEventCode.Period, KeyCode.Unknown);
// define(KeyboardEventCode.Slash, KeyCode.Unknown);
define
(
KeyboardEventCode
.
CapsLock
,
KeyCode
.
CapsLock
);
define
(
KeyboardEventCode
.
F1
,
KeyCode
.
F1
);
define
(
KeyboardEventCode
.
F2
,
KeyCode
.
F2
);
define
(
KeyboardEventCode
.
F3
,
KeyCode
.
F3
);
define
(
KeyboardEventCode
.
F4
,
KeyCode
.
F4
);
define
(
KeyboardEventCode
.
F5
,
KeyCode
.
F5
);
define
(
KeyboardEventCode
.
F6
,
KeyCode
.
F6
);
define
(
KeyboardEventCode
.
F7
,
KeyCode
.
F7
);
define
(
KeyboardEventCode
.
F8
,
KeyCode
.
F8
);
define
(
KeyboardEventCode
.
F9
,
KeyCode
.
F9
);
define
(
KeyboardEventCode
.
F10
,
KeyCode
.
F10
);
define
(
KeyboardEventCode
.
F11
,
KeyCode
.
F11
);
define
(
KeyboardEventCode
.
F12
,
KeyCode
.
F12
);
define
(
KeyboardEventCode
.
PrintScreen
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
ScrollLock
,
KeyCode
.
ScrollLock
);
define
(
KeyboardEventCode
.
Pause
,
KeyCode
.
PauseBreak
);
define
(
KeyboardEventCode
.
Insert
,
KeyCode
.
Insert
);
define
(
KeyboardEventCode
.
Home
,
KeyCode
.
Home
);
define
(
KeyboardEventCode
.
PageUp
,
KeyCode
.
PageUp
);
define
(
KeyboardEventCode
.
Delete
,
KeyCode
.
Delete
);
define
(
KeyboardEventCode
.
End
,
KeyCode
.
End
);
define
(
KeyboardEventCode
.
PageDown
,
KeyCode
.
PageDown
);
define
(
KeyboardEventCode
.
ArrowRight
,
KeyCode
.
RightArrow
);
define
(
KeyboardEventCode
.
ArrowLeft
,
KeyCode
.
LeftArrow
);
define
(
KeyboardEventCode
.
ArrowDown
,
KeyCode
.
DownArrow
);
define
(
KeyboardEventCode
.
ArrowUp
,
KeyCode
.
UpArrow
);
define
(
KeyboardEventCode
.
NumLock
,
KeyCode
.
NumLock
);
define
(
KeyboardEventCode
.
NumpadDivide
,
KeyCode
.
NUMPAD_DIVIDE
);
define
(
KeyboardEventCode
.
NumpadMultiply
,
KeyCode
.
NUMPAD_MULTIPLY
);
define
(
KeyboardEventCode
.
NumpadSubtract
,
KeyCode
.
NUMPAD_SUBTRACT
);
define
(
KeyboardEventCode
.
NumpadAdd
,
KeyCode
.
NUMPAD_ADD
);
define
(
KeyboardEventCode
.
NumpadEnter
,
KeyCode
.
Enter
);
// TODO
define
(
KeyboardEventCode
.
Numpad1
,
KeyCode
.
NUMPAD_1
);
define
(
KeyboardEventCode
.
Numpad2
,
KeyCode
.
NUMPAD_2
);
define
(
KeyboardEventCode
.
Numpad3
,
KeyCode
.
NUMPAD_3
);
define
(
KeyboardEventCode
.
Numpad4
,
KeyCode
.
NUMPAD_4
);
define
(
KeyboardEventCode
.
Numpad5
,
KeyCode
.
NUMPAD_5
);
define
(
KeyboardEventCode
.
Numpad6
,
KeyCode
.
NUMPAD_6
);
define
(
KeyboardEventCode
.
Numpad7
,
KeyCode
.
NUMPAD_7
);
define
(
KeyboardEventCode
.
Numpad8
,
KeyCode
.
NUMPAD_8
);
define
(
KeyboardEventCode
.
Numpad9
,
KeyCode
.
NUMPAD_9
);
define
(
KeyboardEventCode
.
Numpad0
,
KeyCode
.
NUMPAD_0
);
define
(
KeyboardEventCode
.
NumpadDecimal
,
KeyCode
.
NUMPAD_DECIMAL
);
// define(KeyboardEventCode.IntlBackslash, KeyCode.Unknown);
define
(
KeyboardEventCode
.
ContextMenu
,
KeyCode
.
ContextMenu
);
define
(
KeyboardEventCode
.
Power
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadEqual
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F13
,
KeyCode
.
F13
);
define
(
KeyboardEventCode
.
F14
,
KeyCode
.
F14
);
define
(
KeyboardEventCode
.
F15
,
KeyCode
.
F15
);
define
(
KeyboardEventCode
.
F16
,
KeyCode
.
F16
);
define
(
KeyboardEventCode
.
F17
,
KeyCode
.
F17
);
define
(
KeyboardEventCode
.
F18
,
KeyCode
.
F18
);
define
(
KeyboardEventCode
.
F19
,
KeyCode
.
F19
);
define
(
KeyboardEventCode
.
F20
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F21
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F22
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F23
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F24
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Open
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Help
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Select
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Again
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Undo
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Cut
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Copy
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Paste
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Find
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
AudioVolumeMute
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
AudioVolumeUp
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
AudioVolumeDown
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadComma
,
KeyCode
.
NUMPAD_SEPARATOR
);
define
(
KeyboardEventCode
.
IntlRo
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
KanaMode
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
IntlYen
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Convert
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NonConvert
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang1
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang2
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang3
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang4
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang5
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Abort
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Props
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadParenLeft
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadParenRight
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadBackspace
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemoryStore
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemoryRecall
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemoryClear
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemoryAdd
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemorySubtract
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadClear
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadClearEntry
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
ControlLeft
,
KeyCode
.
Ctrl
);
// TODO
define
(
KeyboardEventCode
.
ShiftLeft
,
KeyCode
.
Shift
);
// TODO
define
(
KeyboardEventCode
.
AltLeft
,
KeyCode
.
Alt
);
// TODO
define
(
KeyboardEventCode
.
MetaLeft
,
KeyCode
.
Meta
);
// TODO
define
(
KeyboardEventCode
.
ControlRight
,
KeyCode
.
Ctrl
);
// TODO
define
(
KeyboardEventCode
.
ShiftRight
,
KeyCode
.
Shift
);
// TODO
define
(
KeyboardEventCode
.
AltRight
,
KeyCode
.
Alt
);
// TODO
define
(
KeyboardEventCode
.
MetaRight
,
KeyCode
.
Meta
);
// TODO
define
(
KeyboardEventCode
.
BrightnessUp
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrightnessDown
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaPlay
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaRecord
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaFastForward
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaRewind
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaTrackNext
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaTrackPrevious
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaStop
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Eject
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaPlayPause
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaSelect
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
LaunchMail
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
LaunchApp2
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
LaunchApp1
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
SelectTask
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
LaunchScreenSaver
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserSearch
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserHome
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserBack
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserForward
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserStop
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserRefresh
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserFavorites
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
ZoomToggle
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MailReply
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MailForward
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MailSend
,
KeyCode
.
Unknown
);
})();
src/vs/workbench/services/keybinding/common/keyboardMapper.ts
浏览文件 @
d3d0b7a8
...
...
@@ -7,7 +7,7 @@
import
{
OperatingSystem
}
from
'
vs/base/common/platform
'
;
import
{
SimpleKeybinding
,
KeyCode
,
ResolvedKeybinding
,
Keybinding
,
KeyCodeUtils
,
KeyMod
}
from
'
vs/base/common/keyCodes
'
;
import
{
KeyboardEventCode
,
KeyboardEventCodeUtils
}
from
'
vs/workbench/services/keybinding/common/keyboardEventCode
'
;
import
{
KeyboardEventCode
,
KeyboardEventCodeUtils
,
IMMUTABLE_CODE_TO_KEY_CODE
}
from
'
vs/workbench/services/keybinding/common/keyboardEventCode
'
;
import
{
CharCode
}
from
'
vs/base/common/charCode
'
;
import
{
IHTMLContentElement
}
from
'
vs/base/common/htmlContent
'
;
import
{
PrintableKeypress
,
UILabelProvider
,
AriaLabelProvider
}
from
'
vs/platform/keybinding/common/keybindingLabels
'
;
...
...
@@ -35,10 +35,6 @@ function log(str: string): void {
}
}
/**
* -1 if a HwCode => KeyCode mapping depends on kb layout.
*/
const
IMMUTABLE_CODE_TO_KEY_CODE
:
KeyCode
[]
=
[];
const
CHAR_CODE_TO_KEY_CODE
:
{
keyCode
:
KeyCode
;
shiftKey
:
boolean
}[]
=
[];
export
class
HardwareKeypress
{
...
...
@@ -575,210 +571,6 @@ export class KeyboardMapper {
}
}
(
function
()
{
for
(
let
i
=
0
;
i
<=
KeyboardEventCode
.
MAX_VALUE
;
i
++
)
{
IMMUTABLE_CODE_TO_KEY_CODE
[
i
]
=
-
1
;
}
function
define
(
code
:
KeyboardEventCode
,
keyCode
:
KeyCode
):
void
{
IMMUTABLE_CODE_TO_KEY_CODE
[
code
]
=
keyCode
;
}
define
(
KeyboardEventCode
.
None
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Hyper
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Super
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Fn
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
FnLock
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Suspend
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Resume
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Turbo
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Sleep
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
WakeUp
,
KeyCode
.
Unknown
);
// define(KeyboardEventCode.KeyA, KeyCode.Unknown);
// define(KeyboardEventCode.KeyB, KeyCode.Unknown);
// define(KeyboardEventCode.KeyC, KeyCode.Unknown);
// define(KeyboardEventCode.KeyD, KeyCode.Unknown);
// define(KeyboardEventCode.KeyE, KeyCode.Unknown);
// define(KeyboardEventCode.KeyF, KeyCode.Unknown);
// define(KeyboardEventCode.KeyG, KeyCode.Unknown);
// define(KeyboardEventCode.KeyH, KeyCode.Unknown);
// define(KeyboardEventCode.KeyI, KeyCode.Unknown);
// define(KeyboardEventCode.KeyJ, KeyCode.Unknown);
// define(KeyboardEventCode.KeyK, KeyCode.Unknown);
// define(KeyboardEventCode.KeyL, KeyCode.Unknown);
// define(KeyboardEventCode.KeyM, KeyCode.Unknown);
// define(KeyboardEventCode.KeyN, KeyCode.Unknown);
// define(KeyboardEventCode.KeyO, KeyCode.Unknown);
// define(KeyboardEventCode.KeyP, KeyCode.Unknown);
// define(KeyboardEventCode.KeyQ, KeyCode.Unknown);
// define(KeyboardEventCode.KeyR, KeyCode.Unknown);
// define(KeyboardEventCode.KeyS, KeyCode.Unknown);
// define(KeyboardEventCode.KeyT, KeyCode.Unknown);
// define(KeyboardEventCode.KeyU, KeyCode.Unknown);
// define(KeyboardEventCode.KeyV, KeyCode.Unknown);
// define(KeyboardEventCode.KeyW, KeyCode.Unknown);
// define(KeyboardEventCode.KeyX, KeyCode.Unknown);
// define(KeyboardEventCode.KeyY, KeyCode.Unknown);
// define(KeyboardEventCode.KeyZ, KeyCode.Unknown);
// define(KeyboardEventCode.Digit1, KeyCode.Unknown);
// define(KeyboardEventCode.Digit2, KeyCode.Unknown);
// define(KeyboardEventCode.Digit3, KeyCode.Unknown);
// define(KeyboardEventCode.Digit4, KeyCode.Unknown);
// define(KeyboardEventCode.Digit5, KeyCode.Unknown);
// define(KeyboardEventCode.Digit6, KeyCode.Unknown);
// define(KeyboardEventCode.Digit7, KeyCode.Unknown);
// define(KeyboardEventCode.Digit8, KeyCode.Unknown);
// define(KeyboardEventCode.Digit9, KeyCode.Unknown);
// define(KeyboardEventCode.Digit0, KeyCode.Unknown);
define
(
KeyboardEventCode
.
Enter
,
KeyCode
.
Enter
);
define
(
KeyboardEventCode
.
Escape
,
KeyCode
.
Escape
);
define
(
KeyboardEventCode
.
Backspace
,
KeyCode
.
Backspace
);
define
(
KeyboardEventCode
.
Tab
,
KeyCode
.
Tab
);
define
(
KeyboardEventCode
.
Space
,
KeyCode
.
Space
);
// define(KeyboardEventCode.Minus, KeyCode.Unknown);
// define(KeyboardEventCode.Equal, KeyCode.Unknown);
// define(KeyboardEventCode.BracketLeft, KeyCode.Unknown);
// define(KeyboardEventCode.BracketRight, KeyCode.Unknown);
// define(KeyboardEventCode.Backslash, KeyCode.Unknown);
// define(KeyboardEventCode.IntlHash, KeyCode.Unknown);
// define(KeyboardEventCode.Semicolon, KeyCode.Unknown);
// define(KeyboardEventCode.Quote, KeyCode.Unknown);
// define(KeyboardEventCode.Backquote, KeyCode.Unknown);
// define(KeyboardEventCode.Comma, KeyCode.Unknown);
// define(KeyboardEventCode.Period, KeyCode.Unknown);
// define(KeyboardEventCode.Slash, KeyCode.Unknown);
define
(
KeyboardEventCode
.
CapsLock
,
KeyCode
.
CapsLock
);
define
(
KeyboardEventCode
.
F1
,
KeyCode
.
F1
);
define
(
KeyboardEventCode
.
F2
,
KeyCode
.
F2
);
define
(
KeyboardEventCode
.
F3
,
KeyCode
.
F3
);
define
(
KeyboardEventCode
.
F4
,
KeyCode
.
F4
);
define
(
KeyboardEventCode
.
F5
,
KeyCode
.
F5
);
define
(
KeyboardEventCode
.
F6
,
KeyCode
.
F6
);
define
(
KeyboardEventCode
.
F7
,
KeyCode
.
F7
);
define
(
KeyboardEventCode
.
F8
,
KeyCode
.
F8
);
define
(
KeyboardEventCode
.
F9
,
KeyCode
.
F9
);
define
(
KeyboardEventCode
.
F10
,
KeyCode
.
F10
);
define
(
KeyboardEventCode
.
F11
,
KeyCode
.
F11
);
define
(
KeyboardEventCode
.
F12
,
KeyCode
.
F12
);
define
(
KeyboardEventCode
.
PrintScreen
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
ScrollLock
,
KeyCode
.
ScrollLock
);
define
(
KeyboardEventCode
.
Pause
,
KeyCode
.
PauseBreak
);
define
(
KeyboardEventCode
.
Insert
,
KeyCode
.
Insert
);
define
(
KeyboardEventCode
.
Home
,
KeyCode
.
Home
);
define
(
KeyboardEventCode
.
PageUp
,
KeyCode
.
PageUp
);
define
(
KeyboardEventCode
.
Delete
,
KeyCode
.
Delete
);
define
(
KeyboardEventCode
.
End
,
KeyCode
.
End
);
define
(
KeyboardEventCode
.
PageDown
,
KeyCode
.
PageDown
);
define
(
KeyboardEventCode
.
ArrowRight
,
KeyCode
.
RightArrow
);
define
(
KeyboardEventCode
.
ArrowLeft
,
KeyCode
.
LeftArrow
);
define
(
KeyboardEventCode
.
ArrowDown
,
KeyCode
.
DownArrow
);
define
(
KeyboardEventCode
.
ArrowUp
,
KeyCode
.
UpArrow
);
define
(
KeyboardEventCode
.
NumLock
,
KeyCode
.
NumLock
);
define
(
KeyboardEventCode
.
NumpadDivide
,
KeyCode
.
NUMPAD_DIVIDE
);
define
(
KeyboardEventCode
.
NumpadMultiply
,
KeyCode
.
NUMPAD_MULTIPLY
);
define
(
KeyboardEventCode
.
NumpadSubtract
,
KeyCode
.
NUMPAD_SUBTRACT
);
define
(
KeyboardEventCode
.
NumpadAdd
,
KeyCode
.
NUMPAD_ADD
);
define
(
KeyboardEventCode
.
NumpadEnter
,
KeyCode
.
Enter
);
// TODO
define
(
KeyboardEventCode
.
Numpad1
,
KeyCode
.
NUMPAD_1
);
define
(
KeyboardEventCode
.
Numpad2
,
KeyCode
.
NUMPAD_2
);
define
(
KeyboardEventCode
.
Numpad3
,
KeyCode
.
NUMPAD_3
);
define
(
KeyboardEventCode
.
Numpad4
,
KeyCode
.
NUMPAD_4
);
define
(
KeyboardEventCode
.
Numpad5
,
KeyCode
.
NUMPAD_5
);
define
(
KeyboardEventCode
.
Numpad6
,
KeyCode
.
NUMPAD_6
);
define
(
KeyboardEventCode
.
Numpad7
,
KeyCode
.
NUMPAD_7
);
define
(
KeyboardEventCode
.
Numpad8
,
KeyCode
.
NUMPAD_8
);
define
(
KeyboardEventCode
.
Numpad9
,
KeyCode
.
NUMPAD_9
);
define
(
KeyboardEventCode
.
Numpad0
,
KeyCode
.
NUMPAD_0
);
define
(
KeyboardEventCode
.
NumpadDecimal
,
KeyCode
.
NUMPAD_DECIMAL
);
// define(KeyboardEventCode.IntlBackslash, KeyCode.Unknown);
define
(
KeyboardEventCode
.
ContextMenu
,
KeyCode
.
ContextMenu
);
define
(
KeyboardEventCode
.
Power
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadEqual
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F13
,
KeyCode
.
F13
);
define
(
KeyboardEventCode
.
F14
,
KeyCode
.
F14
);
define
(
KeyboardEventCode
.
F15
,
KeyCode
.
F15
);
define
(
KeyboardEventCode
.
F16
,
KeyCode
.
F16
);
define
(
KeyboardEventCode
.
F17
,
KeyCode
.
F17
);
define
(
KeyboardEventCode
.
F18
,
KeyCode
.
F18
);
define
(
KeyboardEventCode
.
F19
,
KeyCode
.
F19
);
define
(
KeyboardEventCode
.
F20
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F21
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F22
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F23
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
F24
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Open
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Help
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Select
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Again
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Undo
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Cut
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Copy
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Paste
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Find
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
AudioVolumeMute
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
AudioVolumeUp
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
AudioVolumeDown
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadComma
,
KeyCode
.
NUMPAD_SEPARATOR
);
define
(
KeyboardEventCode
.
IntlRo
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
KanaMode
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
IntlYen
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Convert
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NonConvert
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang1
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang2
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang3
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang4
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Lang5
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Abort
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Props
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadParenLeft
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadParenRight
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadBackspace
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemoryStore
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemoryRecall
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemoryClear
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemoryAdd
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadMemorySubtract
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadClear
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
NumpadClearEntry
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
ControlLeft
,
KeyCode
.
Ctrl
);
// TODO
define
(
KeyboardEventCode
.
ShiftLeft
,
KeyCode
.
Shift
);
// TODO
define
(
KeyboardEventCode
.
AltLeft
,
KeyCode
.
Alt
);
// TODO
define
(
KeyboardEventCode
.
MetaLeft
,
KeyCode
.
Meta
);
// TODO
define
(
KeyboardEventCode
.
ControlRight
,
KeyCode
.
Ctrl
);
// TODO
define
(
KeyboardEventCode
.
ShiftRight
,
KeyCode
.
Shift
);
// TODO
define
(
KeyboardEventCode
.
AltRight
,
KeyCode
.
Alt
);
// TODO
define
(
KeyboardEventCode
.
MetaRight
,
KeyCode
.
Meta
);
// TODO
define
(
KeyboardEventCode
.
BrightnessUp
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrightnessDown
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaPlay
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaRecord
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaFastForward
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaRewind
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaTrackNext
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaTrackPrevious
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaStop
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
Eject
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaPlayPause
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MediaSelect
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
LaunchMail
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
LaunchApp2
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
LaunchApp1
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
SelectTask
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
LaunchScreenSaver
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserSearch
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserHome
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserBack
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserForward
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserStop
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserRefresh
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
BrowserFavorites
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
ZoomToggle
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MailReply
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MailForward
,
KeyCode
.
Unknown
);
define
(
KeyboardEventCode
.
MailSend
,
KeyCode
.
Unknown
);
})();
(
function
()
{
function
define
(
charCode
:
number
,
keyCode
:
KeyCode
,
shiftKey
:
boolean
):
void
{
for
(
let
i
=
CHAR_CODE_TO_KEY_CODE
.
length
;
i
<
charCode
;
i
++
)
{
...
...
src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.ts
0 → 100644
浏览文件 @
d3d0b7a8
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
{
KeyCode
,
KeyCodeUtils
}
from
'
vs/base/common/keyCodes
'
;
import
{
KeyboardEventCode
,
KeyboardEventCodeUtils
,
IMMUTABLE_CODE_TO_KEY_CODE
}
from
'
vs/workbench/services/keybinding/common/keyboardEventCode
'
;
import
{
CharCode
}
from
'
vs/base/common/charCode
'
;
export
interface
IKeyMapping
{
vkey
:
string
;
value
:
string
;
withShift
:
string
;
withAltGr
:
string
;
withShiftAltGr
:
string
;
}
export
interface
IKeyboardMapping
{
[
code
:
string
]:
IKeyMapping
;
}
const
LOG
=
false
;
function
log
(
str
:
string
):
void
{
if
(
LOG
)
{
console
.
info
(
str
);
}
}
const
NATIVE_KEY_CODE_TO_KEY_CODE
:
{
[
nativeKeyCode
:
string
]:
KeyCode
;
}
=
_getNativeMap
();
interface
IHardwareCodeMapping
{
code
:
KeyboardEventCode
;
keyCode
:
KeyCode
;
value
:
number
;
withShift
:
number
;
withAltGr
:
number
;
withShiftAltGr
:
number
;
}
export
class
WindowsKeyboardMapper
{
private
readonly
_codeInfo
:
IHardwareCodeMapping
[];
private
readonly
_hwToKb
:
KeyCode
[];
private
readonly
_hwToLabel
:
string
[]
=
[];
constructor
(
rawMappings
:
IKeyboardMapping
)
{
this
.
_hwToKb
=
[];
this
.
_hwToLabel
=
[];
for
(
let
code
=
KeyboardEventCode
.
None
;
code
<
KeyboardEventCode
.
MAX_VALUE
;
code
++
)
{
const
immutableKeyCode
=
IMMUTABLE_CODE_TO_KEY_CODE
[
code
];
if
(
immutableKeyCode
!==
-
1
)
{
this
.
_hwToKb
[
code
]
=
immutableKeyCode
;
this
.
_hwToLabel
[
code
]
=
KeyCodeUtils
.
toString
(
immutableKeyCode
);
}
}
this
.
_codeInfo
=
[];
for
(
let
strCode
in
rawMappings
)
{
if
(
rawMappings
.
hasOwnProperty
(
strCode
))
{
const
code
=
KeyboardEventCodeUtils
.
toEnum
(
strCode
);
if
(
code
===
KeyboardEventCode
.
None
)
{
log
(
`Unknown code
${
strCode
}
in mapping.`
);
continue
;
}
if
(
IMMUTABLE_CODE_TO_KEY_CODE
[
code
]
!==
-
1
)
{
continue
;
}
const
rawMapping
=
rawMappings
[
strCode
];
const
value
=
WindowsKeyboardMapper
.
_getCharCode
(
rawMapping
.
value
);
const
withShift
=
WindowsKeyboardMapper
.
_getCharCode
(
rawMapping
.
withShift
);
const
withAltGr
=
WindowsKeyboardMapper
.
_getCharCode
(
rawMapping
.
withAltGr
);
const
withShiftAltGr
=
WindowsKeyboardMapper
.
_getCharCode
(
rawMapping
.
withShiftAltGr
);
const
keyCode
=
NATIVE_KEY_CODE_TO_KEY_CODE
[
rawMapping
.
vkey
]
||
KeyCode
.
Unknown
;
const
mapping
:
IHardwareCodeMapping
=
{
code
:
code
,
keyCode
:
keyCode
,
value
:
value
,
withShift
:
withShift
,
withAltGr
:
withAltGr
,
withShiftAltGr
:
withShiftAltGr
,
};
this
.
_codeInfo
[
code
]
=
mapping
;
if
(
value
>=
CharCode
.
a
&&
value
<=
CharCode
.
z
)
{
this
.
_hwToLabel
[
code
]
=
String
.
fromCharCode
(
CharCode
.
A
+
(
value
-
CharCode
.
a
));
}
else
if
(
value
)
{
this
.
_hwToLabel
[
code
]
=
String
.
fromCharCode
(
value
);
}
else
{
this
.
_hwToLabel
[
code
]
=
null
;
}
this
.
_hwToKb
[
code
]
=
keyCode
;
}
}
}
public
dumpDebugInfo
():
string
{
let
result
:
string
[]
=
[];
let
cnt
=
0
;
for
(
let
code
=
KeyboardEventCode
.
None
;
code
<
KeyboardEventCode
.
MAX_VALUE
;
code
++
)
{
if
(
IMMUTABLE_CODE_TO_KEY_CODE
[
code
]
!==
-
1
)
{
continue
;
}
if
(
cnt
%
5
===
0
)
{
result
.
push
(
`--------------------------------------------------------------------------------------------------`
);
result
.
push
(
`| HW Code combination | Key | KeyCode combination | UI label |`
);
result
.
push
(
`--------------------------------------------------------------------------------------------------`
);
}
cnt
++
;
const
mapping
=
this
.
_codeInfo
[
code
];
const
strCode
=
KeyboardEventCodeUtils
.
toString
(
code
);
const
uiLabel
=
this
.
_hwToLabel
[
code
];
let
mods
=
[
0b000
,
0b010
,
0b101
,
0b111
];
for
(
let
modIndex
=
0
;
modIndex
<
mods
.
length
;
modIndex
++
)
{
const
mod
=
mods
[
modIndex
];
const
ctrlKey
=
(
mod
&
0b001
)
?
true
:
false
;
const
shiftKey
=
(
mod
&
0b010
)
?
true
:
false
;
const
altKey
=
(
mod
&
0b100
)
?
true
:
false
;
const
strHw
=
`
${
ctrlKey
?
'
Ctrl+
'
:
''
}${
shiftKey
?
'
Shift+
'
:
''
}${
altKey
?
'
Alt+
'
:
''
}${
strCode
}
`
;
const
uiHwLabel
=
`
${
ctrlKey
?
'
Ctrl+
'
:
''
}${
shiftKey
?
'
Shift+
'
:
''
}${
altKey
?
'
Alt+
'
:
''
}${
uiLabel
}
`
;
let
key
=
0
;
if
(
mapping
)
{
if
(
ctrlKey
&&
shiftKey
&&
altKey
)
{
key
=
mapping
.
withShiftAltGr
;
}
else
if
(
ctrlKey
&&
altKey
)
{
key
=
mapping
.
withAltGr
;
}
else
if
(
shiftKey
)
{
key
=
mapping
.
withShift
;
}
else
{
key
=
mapping
.
value
;
}
}
let
strKey
:
string
=
'
---
'
;
if
(
key
!==
0
)
{
if
(
key
>=
CharCode
.
U_Combining_Grave_Accent
&&
key
<=
CharCode
.
U_Combining_Latin_Small_Letter_X
)
{
// combining
strKey
=
'
U+
'
+
key
.
toString
(
16
);
}
else
{
strKey
=
'
'
+
String
.
fromCharCode
(
key
)
+
'
'
;
}
}
const
keyCode
=
this
.
_hwToKb
[
code
];
const
strKb
=
`
${
ctrlKey
?
'
Ctrl+
'
:
''
}${
shiftKey
?
'
Shift+
'
:
''
}${
altKey
?
'
Alt+
'
:
''
}${
KeyCodeUtils
.
toString
(
keyCode
)}
`
;
result
.
push
(
`|
${
this
.
_leftPad
(
strHw
,
30
)}
|
${
strKey
}
|
${
this
.
_leftPad
(
strKb
,
25
)}
|
${
this
.
_leftPad
(
uiHwLabel
,
25
)}
|`
);
}
}
result
.
push
(
`--------------------------------------------------------------------------------------------------`
);
return
result
.
join
(
'
\n
'
);
}
private
_leftPad
(
str
:
string
,
cnt
:
number
):
string
{
while
(
str
.
length
<
cnt
)
{
str
=
'
'
+
str
;
}
return
str
;
}
private
static
_getCharCode
(
char
:
string
):
number
{
if
(
char
.
length
===
0
)
{
return
0
;
}
return
char
.
charCodeAt
(
0
);
}
}
// See https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
// See https://github.com/Microsoft/node-native-keymap/blob/master/deps/chromium/keyboard_codes_win.h
function
_getNativeMap
()
{
return
{
VK_BACK
:
KeyCode
.
Backspace
,
VK_TAB
:
KeyCode
.
Tab
,
VK_CLEAR
:
KeyCode
.
Unknown
,
// MISSING
VK_RETURN
:
KeyCode
.
Enter
,
VK_SHIFT
:
KeyCode
.
Shift
,
VK_CONTROL
:
KeyCode
.
Ctrl
,
VK_MENU
:
KeyCode
.
Alt
,
VK_PAUSE
:
KeyCode
.
PauseBreak
,
VK_CAPITAL
:
KeyCode
.
CapsLock
,
VK_KANA
:
KeyCode
.
Unknown
,
// MISSING
VK_HANGUL
:
KeyCode
.
Unknown
,
// MISSING
VK_JUNJA
:
KeyCode
.
Unknown
,
// MISSING
VK_FINAL
:
KeyCode
.
Unknown
,
// MISSING
VK_HANJA
:
KeyCode
.
Unknown
,
// MISSING
VK_KANJI
:
KeyCode
.
Unknown
,
// MISSING
VK_ESCAPE
:
KeyCode
.
Escape
,
VK_CONVERT
:
KeyCode
.
Unknown
,
// MISSING
VK_NONCONVERT
:
KeyCode
.
Unknown
,
// MISSING
VK_ACCEPT
:
KeyCode
.
Unknown
,
// MISSING
VK_MODECHANGE
:
KeyCode
.
Unknown
,
// MISSING
VK_SPACE
:
KeyCode
.
Space
,
VK_PRIOR
:
KeyCode
.
PageUp
,
VK_NEXT
:
KeyCode
.
PageDown
,
VK_END
:
KeyCode
.
End
,
VK_HOME
:
KeyCode
.
Home
,
VK_LEFT
:
KeyCode
.
LeftArrow
,
VK_UP
:
KeyCode
.
UpArrow
,
VK_RIGHT
:
KeyCode
.
RightArrow
,
VK_DOWN
:
KeyCode
.
DownArrow
,
VK_SELECT
:
KeyCode
.
Unknown
,
// MISSING
VK_PRINT
:
KeyCode
.
Unknown
,
// MISSING
VK_EXECUTE
:
KeyCode
.
Unknown
,
// MISSING
VK_SNAPSHOT
:
KeyCode
.
Unknown
,
// MISSING
VK_INSERT
:
KeyCode
.
Insert
,
VK_DELETE
:
KeyCode
.
Delete
,
VK_HELP
:
KeyCode
.
Unknown
,
// MISSING
VK_0
:
KeyCode
.
KEY_0
,
VK_1
:
KeyCode
.
KEY_1
,
VK_2
:
KeyCode
.
KEY_2
,
VK_3
:
KeyCode
.
KEY_3
,
VK_4
:
KeyCode
.
KEY_4
,
VK_5
:
KeyCode
.
KEY_5
,
VK_6
:
KeyCode
.
KEY_6
,
VK_7
:
KeyCode
.
KEY_7
,
VK_8
:
KeyCode
.
KEY_8
,
VK_9
:
KeyCode
.
KEY_9
,
VK_A
:
KeyCode
.
KEY_A
,
VK_B
:
KeyCode
.
KEY_B
,
VK_C
:
KeyCode
.
KEY_C
,
VK_D
:
KeyCode
.
KEY_D
,
VK_E
:
KeyCode
.
KEY_E
,
VK_F
:
KeyCode
.
KEY_F
,
VK_G
:
KeyCode
.
KEY_G
,
VK_H
:
KeyCode
.
KEY_H
,
VK_I
:
KeyCode
.
KEY_I
,
VK_J
:
KeyCode
.
KEY_J
,
VK_K
:
KeyCode
.
KEY_K
,
VK_L
:
KeyCode
.
KEY_L
,
VK_M
:
KeyCode
.
KEY_M
,
VK_N
:
KeyCode
.
KEY_N
,
VK_O
:
KeyCode
.
KEY_O
,
VK_P
:
KeyCode
.
KEY_P
,
VK_Q
:
KeyCode
.
KEY_Q
,
VK_R
:
KeyCode
.
KEY_R
,
VK_S
:
KeyCode
.
KEY_S
,
VK_T
:
KeyCode
.
KEY_T
,
VK_U
:
KeyCode
.
KEY_U
,
VK_V
:
KeyCode
.
KEY_V
,
VK_W
:
KeyCode
.
KEY_W
,
VK_X
:
KeyCode
.
KEY_X
,
VK_Y
:
KeyCode
.
KEY_Y
,
VK_Z
:
KeyCode
.
KEY_Z
,
VK_LWIN
:
KeyCode
.
Meta
,
VK_COMMAND
:
KeyCode
.
Meta
,
VK_RWIN
:
KeyCode
.
Meta
,
VK_APPS
:
KeyCode
.
Unknown
,
// MISSING
VK_SLEEP
:
KeyCode
.
Unknown
,
// MISSING
VK_NUMPAD0
:
KeyCode
.
NUMPAD_0
,
VK_NUMPAD1
:
KeyCode
.
NUMPAD_1
,
VK_NUMPAD2
:
KeyCode
.
NUMPAD_2
,
VK_NUMPAD3
:
KeyCode
.
NUMPAD_3
,
VK_NUMPAD4
:
KeyCode
.
NUMPAD_4
,
VK_NUMPAD5
:
KeyCode
.
NUMPAD_5
,
VK_NUMPAD6
:
KeyCode
.
NUMPAD_6
,
VK_NUMPAD7
:
KeyCode
.
NUMPAD_7
,
VK_NUMPAD8
:
KeyCode
.
NUMPAD_8
,
VK_NUMPAD9
:
KeyCode
.
NUMPAD_9
,
VK_MULTIPLY
:
KeyCode
.
NUMPAD_MULTIPLY
,
VK_ADD
:
KeyCode
.
NUMPAD_ADD
,
VK_SEPARATOR
:
KeyCode
.
NUMPAD_SEPARATOR
,
VK_SUBTRACT
:
KeyCode
.
NUMPAD_SUBTRACT
,
VK_DECIMAL
:
KeyCode
.
NUMPAD_DECIMAL
,
VK_DIVIDE
:
KeyCode
.
NUMPAD_DIVIDE
,
VK_F1
:
KeyCode
.
F1
,
VK_F2
:
KeyCode
.
F2
,
VK_F3
:
KeyCode
.
F3
,
VK_F4
:
KeyCode
.
F4
,
VK_F5
:
KeyCode
.
F5
,
VK_F6
:
KeyCode
.
F6
,
VK_F7
:
KeyCode
.
F7
,
VK_F8
:
KeyCode
.
F8
,
VK_F9
:
KeyCode
.
F9
,
VK_F10
:
KeyCode
.
F10
,
VK_F11
:
KeyCode
.
F11
,
VK_F12
:
KeyCode
.
F12
,
VK_F13
:
KeyCode
.
F13
,
VK_F14
:
KeyCode
.
F14
,
VK_F15
:
KeyCode
.
F15
,
VK_F16
:
KeyCode
.
F16
,
VK_F17
:
KeyCode
.
F17
,
VK_F18
:
KeyCode
.
F18
,
VK_F19
:
KeyCode
.
F19
,
VK_F20
:
KeyCode
.
Unknown
,
// MISSING
VK_F21
:
KeyCode
.
Unknown
,
// MISSING
VK_F22
:
KeyCode
.
Unknown
,
// MISSING
VK_F23
:
KeyCode
.
Unknown
,
// MISSING
VK_F24
:
KeyCode
.
Unknown
,
// MISSING
VK_NUMLOCK
:
KeyCode
.
NumLock
,
VK_SCROLL
:
KeyCode
.
ScrollLock
,
VK_LSHIFT
:
KeyCode
.
Shift
,
VK_RSHIFT
:
KeyCode
.
Shift
,
VK_LCONTROL
:
KeyCode
.
Ctrl
,
VK_RCONTROL
:
KeyCode
.
Ctrl
,
VK_LMENU
:
KeyCode
.
Unknown
,
// MISSING
VK_RMENU
:
KeyCode
.
Unknown
,
// MISSING
VK_BROWSER_BACK
:
KeyCode
.
Unknown
,
// MISSING
VK_BROWSER_FORWARD
:
KeyCode
.
Unknown
,
// MISSING
VK_BROWSER_REFRESH
:
KeyCode
.
Unknown
,
// MISSING
VK_BROWSER_STOP
:
KeyCode
.
Unknown
,
// MISSING
VK_BROWSER_SEARCH
:
KeyCode
.
Unknown
,
// MISSING
VK_BROWSER_FAVORITES
:
KeyCode
.
Unknown
,
// MISSING
VK_BROWSER_HOME
:
KeyCode
.
Unknown
,
// MISSING
VK_VOLUME_MUTE
:
KeyCode
.
Unknown
,
// MISSING
VK_VOLUME_DOWN
:
KeyCode
.
Unknown
,
// MISSING
VK_VOLUME_UP
:
KeyCode
.
Unknown
,
// MISSING
VK_MEDIA_NEXT_TRACK
:
KeyCode
.
Unknown
,
// MISSING
VK_MEDIA_PREV_TRACK
:
KeyCode
.
Unknown
,
// MISSING
VK_MEDIA_STOP
:
KeyCode
.
Unknown
,
// MISSING
VK_MEDIA_PLAY_PAUSE
:
KeyCode
.
Unknown
,
// MISSING
VK_MEDIA_LAUNCH_MAIL
:
KeyCode
.
Unknown
,
// MISSING
VK_MEDIA_LAUNCH_MEDIA_SELECT
:
KeyCode
.
Unknown
,
// MISSING
VK_MEDIA_LAUNCH_APP1
:
KeyCode
.
Unknown
,
// MISSING
VK_MEDIA_LAUNCH_APP2
:
KeyCode
.
Unknown
,
// MISSING
VK_OEM_1
:
KeyCode
.
US_SEMICOLON
,
VK_OEM_PLUS
:
KeyCode
.
US_EQUAL
,
VK_OEM_COMMA
:
KeyCode
.
US_COMMA
,
VK_OEM_MINUS
:
KeyCode
.
US_MINUS
,
VK_OEM_PERIOD
:
KeyCode
.
US_DOT
,
VK_OEM_2
:
KeyCode
.
US_SLASH
,
VK_OEM_3
:
KeyCode
.
US_BACKTICK
,
VK_OEM_4
:
KeyCode
.
US_OPEN_SQUARE_BRACKET
,
VK_OEM_5
:
KeyCode
.
US_BACKSLASH
,
VK_OEM_6
:
KeyCode
.
US_CLOSE_SQUARE_BRACKET
,
VK_OEM_7
:
KeyCode
.
US_QUOTE
,
VK_OEM_8
:
KeyCode
.
OEM_8
,
VK_OEM_102
:
KeyCode
.
OEM_102
,
VK_PROCESSKEY
:
KeyCode
.
Unknown
,
// MISSING
VK_PACKET
:
KeyCode
.
Unknown
,
// MISSING
VK_DBE_SBCSCHAR
:
KeyCode
.
Unknown
,
// MISSING
VK_DBE_DBCSCHAR
:
KeyCode
.
Unknown
,
// MISSING
VK_ATTN
:
KeyCode
.
Unknown
,
// MISSING
VK_CRSEL
:
KeyCode
.
Unknown
,
// MISSING
VK_EXSEL
:
KeyCode
.
Unknown
,
// MISSING
VK_EREOF
:
KeyCode
.
Unknown
,
// MISSING
VK_PLAY
:
KeyCode
.
Unknown
,
// MISSING
VK_ZOOM
:
KeyCode
.
Unknown
,
// MISSING
VK_NONAME
:
KeyCode
.
Unknown
,
// MISSING
VK_PA1
:
KeyCode
.
Unknown
,
// MISSING
VK_OEM_CLEAR
:
KeyCode
.
Unknown
,
// MISSING
VK_UNKNOWN
:
KeyCode
.
Unknown
,
};
}
src/vs/workbench/services/keybinding/test/win_de_ch.js
0 → 100644
浏览文件 @
d3d0b7a8
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
define
({
Sleep
:
{
vkey
:
'
VK_SLEEP
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
WakeUp
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyA
:
{
vkey
:
'
VK_A
'
,
value
:
'
a
'
,
withShift
:
'
A
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyB
:
{
vkey
:
'
VK_B
'
,
value
:
'
b
'
,
withShift
:
'
B
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyC
:
{
vkey
:
'
VK_C
'
,
value
:
'
c
'
,
withShift
:
'
C
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyD
:
{
vkey
:
'
VK_D
'
,
value
:
'
d
'
,
withShift
:
'
D
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyE
:
{
vkey
:
'
VK_E
'
,
value
:
'
e
'
,
withShift
:
'
E
'
,
withAltGr
:
'
€
'
,
withShiftAltGr
:
''
},
KeyF
:
{
vkey
:
'
VK_F
'
,
value
:
'
f
'
,
withShift
:
'
F
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyG
:
{
vkey
:
'
VK_G
'
,
value
:
'
g
'
,
withShift
:
'
G
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyH
:
{
vkey
:
'
VK_H
'
,
value
:
'
h
'
,
withShift
:
'
H
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyI
:
{
vkey
:
'
VK_I
'
,
value
:
'
i
'
,
withShift
:
'
I
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyJ
:
{
vkey
:
'
VK_J
'
,
value
:
'
j
'
,
withShift
:
'
J
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyK
:
{
vkey
:
'
VK_K
'
,
value
:
'
k
'
,
withShift
:
'
K
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyL
:
{
vkey
:
'
VK_L
'
,
value
:
'
l
'
,
withShift
:
'
L
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyM
:
{
vkey
:
'
VK_M
'
,
value
:
'
m
'
,
withShift
:
'
M
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyN
:
{
vkey
:
'
VK_N
'
,
value
:
'
n
'
,
withShift
:
'
N
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyO
:
{
vkey
:
'
VK_O
'
,
value
:
'
o
'
,
withShift
:
'
O
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyP
:
{
vkey
:
'
VK_P
'
,
value
:
'
p
'
,
withShift
:
'
P
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyQ
:
{
vkey
:
'
VK_Q
'
,
value
:
'
q
'
,
withShift
:
'
Q
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyR
:
{
vkey
:
'
VK_R
'
,
value
:
'
r
'
,
withShift
:
'
R
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyS
:
{
vkey
:
'
VK_S
'
,
value
:
'
s
'
,
withShift
:
'
S
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyT
:
{
vkey
:
'
VK_T
'
,
value
:
'
t
'
,
withShift
:
'
T
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyU
:
{
vkey
:
'
VK_U
'
,
value
:
'
u
'
,
withShift
:
'
U
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyV
:
{
vkey
:
'
VK_V
'
,
value
:
'
v
'
,
withShift
:
'
V
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyW
:
{
vkey
:
'
VK_W
'
,
value
:
'
w
'
,
withShift
:
'
W
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyX
:
{
vkey
:
'
VK_X
'
,
value
:
'
x
'
,
withShift
:
'
X
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyY
:
{
vkey
:
'
VK_Z
'
,
value
:
'
z
'
,
withShift
:
'
Z
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KeyZ
:
{
vkey
:
'
VK_Y
'
,
value
:
'
y
'
,
withShift
:
'
Y
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Digit1
:
{
vkey
:
'
VK_1
'
,
value
:
'
1
'
,
withShift
:
'
+
'
,
withAltGr
:
'
¦
'
,
withShiftAltGr
:
''
},
Digit2
:
{
vkey
:
'
VK_2
'
,
value
:
'
2
'
,
withShift
:
'
"
'
,
withAltGr
:
'
@
'
,
withShiftAltGr
:
''
},
Digit3
:
{
vkey
:
'
VK_3
'
,
value
:
'
3
'
,
withShift
:
'
*
'
,
withAltGr
:
'
#
'
,
withShiftAltGr
:
''
},
Digit4
:
{
vkey
:
'
VK_4
'
,
value
:
'
4
'
,
withShift
:
'
ç
'
,
withAltGr
:
'
°
'
,
withShiftAltGr
:
''
},
Digit5
:
{
vkey
:
'
VK_5
'
,
value
:
'
5
'
,
withShift
:
'
%
'
,
withAltGr
:
'
§
'
,
withShiftAltGr
:
''
},
Digit6
:
{
vkey
:
'
VK_6
'
,
value
:
'
6
'
,
withShift
:
'
&
'
,
withAltGr
:
'
¬
'
,
withShiftAltGr
:
''
},
Digit7
:
{
vkey
:
'
VK_7
'
,
value
:
'
7
'
,
withShift
:
'
/
'
,
withAltGr
:
'
|
'
,
withShiftAltGr
:
''
},
Digit8
:
{
vkey
:
'
VK_8
'
,
value
:
'
8
'
,
withShift
:
'
(
'
,
withAltGr
:
'
¢
'
,
withShiftAltGr
:
''
},
Digit9
:
{
vkey
:
'
VK_9
'
,
value
:
'
9
'
,
withShift
:
'
)
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Digit0
:
{
vkey
:
'
VK_0
'
,
value
:
'
0
'
,
withShift
:
'
=
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Enter
:
{
vkey
:
'
VK_RETURN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Escape
:
{
vkey
:
'
VK_ESCAPE
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Backspace
:
{
vkey
:
'
VK_BACK
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Tab
:
{
vkey
:
'
VK_TAB
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Space
:
{
vkey
:
'
VK_SPACE
'
,
value
:
'
'
,
withShift
:
'
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Minus
:
{
vkey
:
'
VK_OEM_4
'
,
value
:
'
\'
'
,
withShift
:
'
?
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Equal
:
{
vkey
:
'
VK_OEM_6
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
BracketLeft
:
{
vkey
:
'
VK_OEM_1
'
,
value
:
'
ü
'
,
withShift
:
'
è
'
,
withAltGr
:
'
[
'
,
withShiftAltGr
:
''
},
BracketRight
:
{
vkey
:
'
VK_OEM_3
'
,
value
:
''
,
withShift
:
'
!
'
,
withAltGr
:
'
]
'
,
withShiftAltGr
:
''
},
Backslash
:
{
vkey
:
'
VK_OEM_8
'
,
value
:
'
$
'
,
withShift
:
'
£
'
,
withAltGr
:
'
}
'
,
withShiftAltGr
:
''
},
Semicolon
:
{
vkey
:
'
VK_OEM_7
'
,
value
:
'
ö
'
,
withShift
:
'
é
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Quote
:
{
vkey
:
'
VK_OEM_5
'
,
value
:
'
ä
'
,
withShift
:
'
à
'
,
withAltGr
:
'
{
'
,
withShiftAltGr
:
''
},
Backquote
:
{
vkey
:
'
VK_OEM_2
'
,
value
:
'
§
'
,
withShift
:
'
°
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Comma
:
{
vkey
:
'
VK_OEM_COMMA
'
,
value
:
'
,
'
,
withShift
:
'
;
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Period
:
{
vkey
:
'
VK_OEM_PERIOD
'
,
value
:
'
.
'
,
withShift
:
'
:
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Slash
:
{
vkey
:
'
VK_OEM_MINUS
'
,
value
:
'
-
'
,
withShift
:
'
_
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
CapsLock
:
{
vkey
:
'
VK_CAPITAL
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F1
:
{
vkey
:
'
VK_F1
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F2
:
{
vkey
:
'
VK_F2
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F3
:
{
vkey
:
'
VK_F3
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F4
:
{
vkey
:
'
VK_F4
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F5
:
{
vkey
:
'
VK_F5
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F6
:
{
vkey
:
'
VK_F6
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F7
:
{
vkey
:
'
VK_F7
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F8
:
{
vkey
:
'
VK_F8
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F9
:
{
vkey
:
'
VK_F9
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F10
:
{
vkey
:
'
VK_F10
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F11
:
{
vkey
:
'
VK_F11
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F12
:
{
vkey
:
'
VK_F12
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
PrintScreen
:
{
vkey
:
'
VK_SNAPSHOT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ScrollLock
:
{
vkey
:
'
VK_SCROLL
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Pause
:
{
vkey
:
'
VK_NUMLOCK
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Insert
:
{
vkey
:
'
VK_INSERT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Home
:
{
vkey
:
'
VK_HOME
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
PageUp
:
{
vkey
:
'
VK_PRIOR
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Delete
:
{
vkey
:
'
VK_DELETE
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
End
:
{
vkey
:
'
VK_END
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
PageDown
:
{
vkey
:
'
VK_NEXT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ArrowRight
:
{
vkey
:
'
VK_RIGHT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ArrowLeft
:
{
vkey
:
'
VK_LEFT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ArrowDown
:
{
vkey
:
'
VK_DOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ArrowUp
:
{
vkey
:
'
VK_UP
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumLock
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumpadDivide
:
{
vkey
:
'
VK_DIVIDE
'
,
value
:
'
/
'
,
withShift
:
'
/
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumpadMultiply
:
{
vkey
:
'
VK_MULTIPLY
'
,
value
:
'
*
'
,
withShift
:
'
*
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumpadSubtract
:
{
vkey
:
'
VK_SUBTRACT
'
,
value
:
'
-
'
,
withShift
:
'
-
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumpadAdd
:
{
vkey
:
'
VK_ADD
'
,
value
:
'
+
'
,
withShift
:
'
+
'
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumpadEnter
:
{
vkey
:
'
VK_RETURN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad1
:
{
vkey
:
'
VK_END
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad2
:
{
vkey
:
'
VK_DOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad3
:
{
vkey
:
'
VK_NEXT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad4
:
{
vkey
:
'
VK_LEFT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad5
:
{
vkey
:
'
VK_CLEAR
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad6
:
{
vkey
:
'
VK_RIGHT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad7
:
{
vkey
:
'
VK_HOME
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad8
:
{
vkey
:
'
VK_UP
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad9
:
{
vkey
:
'
VK_PRIOR
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Numpad0
:
{
vkey
:
'
VK_INSERT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumpadDecimal
:
{
vkey
:
'
VK_DELETE
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
IntlBackslash
:
{
vkey
:
'
VK_OEM_102
'
,
value
:
'
<
'
,
withShift
:
'
>
'
,
withAltGr
:
'
\\
'
,
withShiftAltGr
:
''
},
ContextMenu
:
{
vkey
:
'
VK_APPS
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Power
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumpadEqual
:
{
vkey
:
'
VK_CLEAR
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F13
:
{
vkey
:
'
VK_F13
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F14
:
{
vkey
:
'
VK_F14
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F15
:
{
vkey
:
'
VK_F15
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F16
:
{
vkey
:
'
VK_F16
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F17
:
{
vkey
:
'
VK_F17
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F18
:
{
vkey
:
'
VK_F18
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F19
:
{
vkey
:
'
VK_F19
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F20
:
{
vkey
:
'
VK_F20
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F21
:
{
vkey
:
'
VK_F21
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F22
:
{
vkey
:
'
VK_F22
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F23
:
{
vkey
:
'
VK_F23
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
F24
:
{
vkey
:
'
VK_F24
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Help
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Undo
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Cut
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Copy
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Paste
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
AudioVolumeMute
:
{
vkey
:
'
VK_VOLUME_MUTE
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
AudioVolumeUp
:
{
vkey
:
'
VK_VOLUME_UP
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
AudioVolumeDown
:
{
vkey
:
'
VK_VOLUME_DOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NumpadComma
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
IntlRo
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
KanaMode
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
IntlYen
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Convert
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
NonConvert
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Lang1
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Lang2
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Lang3
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Lang4
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ControlLeft
:
{
vkey
:
'
VK_CONTROL
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ShiftLeft
:
{
vkey
:
'
VK_SHIFT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
AltLeft
:
{
vkey
:
'
VK_MENU
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
MetaLeft
:
{
vkey
:
'
VK_LWIN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ControlRight
:
{
vkey
:
'
VK_CONTROL
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
ShiftRight
:
{
vkey
:
'
VK_SHIFT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
AltRight
:
{
vkey
:
'
VK_MENU
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
MetaRight
:
{
vkey
:
'
VK_RWIN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
MediaTrackNext
:
{
vkey
:
'
VK_MEDIA_NEXT_TRACK
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
MediaTrackPrevious
:
{
vkey
:
'
VK_MEDIA_PREV_TRACK
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
MediaStop
:
{
vkey
:
'
VK_MEDIA_STOP
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
Eject
:
{
vkey
:
'
VK_UNKNOWN
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
MediaPlayPause
:
{
vkey
:
'
VK_MEDIA_PLAY_PAUSE
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
MediaSelect
:
{
vkey
:
'
VK_LAUNCH_MEDIA_SELECT
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
LaunchMail
:
{
vkey
:
'
VK_LAUNCH_MAIL
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
LaunchApp2
:
{
vkey
:
'
VK_LAUNCH_APP2
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
LaunchApp1
:
{
vkey
:
'
VK_LAUNCH_APP1
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
BrowserSearch
:
{
vkey
:
'
VK_BROWSER_SEARCH
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
BrowserHome
:
{
vkey
:
'
VK_BROWSER_HOME
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
BrowserBack
:
{
vkey
:
'
VK_BROWSER_BACK
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
BrowserForward
:
{
vkey
:
'
VK_BROWSER_FORWARD
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
BrowserStop
:
{
vkey
:
'
VK_BROWSER_STOP
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
BrowserRefresh
:
{
vkey
:
'
VK_BROWSER_REFRESH
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
},
BrowserFavorites
:
{
vkey
:
'
VK_BROWSER_FAVORITES
'
,
value
:
''
,
withShift
:
''
,
withAltGr
:
''
,
withShiftAltGr
:
''
}
});
src/vs/workbench/services/keybinding/test/win_de_ch.txt
0 → 100644
浏览文件 @
d3d0b7a8
此差异已折叠。
点击以展开。
src/vs/workbench/services/keybinding/test/windowsKeyboardMapper.test.ts
0 → 100644
浏览文件 @
d3d0b7a8
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
*
as
assert
from
'
assert
'
;
import
{
OperatingSystem
}
from
'
vs/base/common/platform
'
;
import
{
readFile
,
writeFile
}
from
'
vs/base/node/pfs
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
WindowsKeyboardMapper
,
IKeyboardMapping
}
from
'
vs/workbench/services/keybinding/common/windowsKeyboardMapper
'
;
function
createKeyboardMapper
(
file
:
string
,
OS
:
OperatingSystem
):
TPromise
<
WindowsKeyboardMapper
>
{
return
readFile
(
require
.
toUrl
(
`vs/workbench/services/keybinding/test/
${
file
}
.js`
)).
then
((
buff
)
=>
{
let
contents
=
buff
.
toString
();
let
func
=
new
Function
(
'
define
'
,
contents
);
let
rawMappings
:
IKeyboardMapping
=
null
;
func
(
function
(
value
)
{
rawMappings
=
value
;
});
return
new
WindowsKeyboardMapper
(
rawMappings
);
});
}
function
assertMapping
(
mapper
:
WindowsKeyboardMapper
,
file
:
string
,
done
:
(
err
?:
any
)
=>
void
):
void
{
const
filePath
=
require
.
toUrl
(
`vs/workbench/services/keybinding/test/
${
file
}
`
);
readFile
(
filePath
).
then
((
buff
)
=>
{
let
expected
=
buff
.
toString
();
const
actual
=
mapper
.
dumpDebugInfo
();
if
(
actual
!==
expected
)
{
writeFile
(
filePath
,
actual
);
}
assert
.
deepEqual
(
actual
,
expected
);
done
();
},
done
);
}
suite
(
'
keyboardMapper - WINDOWS de_ch
'
,
()
=>
{
let
mapper
:
WindowsKeyboardMapper
;
suiteSetup
((
done
)
=>
{
createKeyboardMapper
(
'
win_de_ch
'
,
OperatingSystem
.
Macintosh
).
then
((
_mapper
)
=>
{
mapper
=
_mapper
;
done
();
},
done
);
});
test
(
'
mapping
'
,
(
done
)
=>
{
assertMapping
(
mapper
,
'
win_de_ch.txt
'
,
done
);
});
// test('resolveKeybinding', () => {
// function _assertAllLabels(keybinding: Keybinding, labels: string[], ariaLabels: string[], htmlLabel: IHTMLContentElement[][]): void {
// const kb = mapper.resolveKeybinding(keybinding);
// let actualLabels = kb.map(k => k.getLabel());
// assert.deepEqual(actualLabels, labels);
// let actualAriaLabels = kb.map(k => k.getAriaLabel());
// assert.deepEqual(actualAriaLabels, ariaLabels);
// let actualHTMLLabels = kb.map(k => k.getHTMLLabel());
// assert.deepEqual(actualHTMLLabels, htmlLabel);
// }
// function assertAllLabels(keybinding: Keybinding, label: string | string[], ariaLabel: string | string[], htmlLabel: IHTMLContentElement[][]): void {
// let _labels = (typeof label === 'string' ? [label] : label);
// let _ariaLabels = (typeof ariaLabel === 'string' ? [ariaLabel] : ariaLabel);
// _assertAllLabels(keybinding, _labels, _ariaLabels, htmlLabel);
// }
// // TODO: ElectronAccelerator, UserSettings
// assertAllLabels(
// createKeybinding(KeyMod.CtrlCmd | KeyCode.KEY_Z),
// '⌘Z',
// 'Command+Z',
// [[{
// tagName: 'span',
// className: 'monaco-kb',
// children: [
// { tagName: 'span', className: 'monaco-kbkey', text: '⌘' },
// { tagName: 'span', className: 'monaco-kbkey', text: 'Z' },
// ]
// }]]
// );
// });
});
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录