Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
f0f71be9
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f0f71be9
编写于
12月 11, 2015
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixes #983: Add support for numpad keys
上级
646343c5
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
62 addition
and
34 deletion
+62
-34
src/vs/base/browser/keyboardEvent.ts
src/vs/base/browser/keyboardEvent.ts
+16
-0
src/vs/base/common/keyCodes.ts
src/vs/base/common/keyCodes.ts
+45
-0
src/vs/platform/keybinding/common/commonKeybindingResolver.ts
...vs/platform/keybinding/common/commonKeybindingResolver.ts
+1
-34
未找到文件。
src/vs/base/browser/keyboardEvent.ts
浏览文件 @
f0f71be9
...
...
@@ -72,6 +72,22 @@ let KEY_CODE_MAP: {[keyCode:number]:KeyCode} = {};
KEY_CODE_MAP
[
93
]
=
KeyCode
.
ContextMenu
;
KEY_CODE_MAP
[
96
]
=
KeyCode
.
NUMPAD_0
;
KEY_CODE_MAP
[
97
]
=
KeyCode
.
NUMPAD_1
;
KEY_CODE_MAP
[
98
]
=
KeyCode
.
NUMPAD_2
;
KEY_CODE_MAP
[
99
]
=
KeyCode
.
NUMPAD_3
;
KEY_CODE_MAP
[
100
]
=
KeyCode
.
NUMPAD_4
;
KEY_CODE_MAP
[
101
]
=
KeyCode
.
NUMPAD_5
;
KEY_CODE_MAP
[
102
]
=
KeyCode
.
NUMPAD_6
;
KEY_CODE_MAP
[
103
]
=
KeyCode
.
NUMPAD_7
;
KEY_CODE_MAP
[
104
]
=
KeyCode
.
NUMPAD_8
;
KEY_CODE_MAP
[
105
]
=
KeyCode
.
NUMPAD_9
;
KEY_CODE_MAP
[
106
]
=
KeyCode
.
NUMPAD_MULTIPLY
;
KEY_CODE_MAP
[
107
]
=
KeyCode
.
NUMPAD_ADD
;
KEY_CODE_MAP
[
109
]
=
KeyCode
.
NUMPAD_SUBTRACT
;
KEY_CODE_MAP
[
110
]
=
KeyCode
.
NUMPAD_DECIMAL
;
KEY_CODE_MAP
[
111
]
=
KeyCode
.
NUMPAD_DIVIDE
;
KEY_CODE_MAP
[
112
]
=
KeyCode
.
F1
;
KEY_CODE_MAP
[
113
]
=
KeyCode
.
F2
;
KEY_CODE_MAP
[
114
]
=
KeyCode
.
F3
;
...
...
src/vs/base/common/keyCodes.ts
浏览文件 @
f0f71be9
...
...
@@ -142,6 +142,24 @@ export enum KeyCode {
*/
US_QUOTE
,
NUMPAD_0
,
// VK_NUMPAD0, 0x60, Numeric keypad 0 key
NUMPAD_1
,
// VK_NUMPAD1, 0x61, Numeric keypad 1 key
NUMPAD_2
,
// VK_NUMPAD2, 0x62, Numeric keypad 2 key
NUMPAD_3
,
// VK_NUMPAD3, 0x63, Numeric keypad 3 key
NUMPAD_4
,
// VK_NUMPAD4, 0x64, Numeric keypad 4 key
NUMPAD_5
,
// VK_NUMPAD5, 0x65, Numeric keypad 5 key
NUMPAD_6
,
// VK_NUMPAD6, 0x66, Numeric keypad 6 key
NUMPAD_7
,
// VK_NUMPAD7, 0x67, Numeric keypad 7 key
NUMPAD_8
,
// VK_NUMPAD8, 0x68, Numeric keypad 8 key
NUMPAD_9
,
// VK_NUMPAD9, 0x69, Numeric keypad 9 key
NUMPAD_MULTIPLY
,
// VK_MULTIPLY, 0x6A, Multiply key
NUMPAD_ADD
,
// VK_ADD, 0x6B, Add key
// NUMPAD_SEPARATOR, // VK_SEPARATOR, 0x6C, Separator key
NUMPAD_SUBTRACT
,
// VK_SUBTRACT, 0x6D, Subtract key
NUMPAD_DECIMAL
,
// VK_DECIMAL, 0x6E, Decimal key
NUMPAD_DIVIDE
,
// VK_DIVIDE, 0x6F,
/**
* Placed last to cover the length of the enum.
*/
...
...
@@ -240,13 +258,40 @@ let TO_STRING_MAP: string[] = [];
TO_STRING_MAP
[
KeyCode
.
US_BACKSLASH
]
=
'
\\
'
;
TO_STRING_MAP
[
KeyCode
.
US_CLOSE_SQUARE_BRACKET
]
=
'
]
'
;
TO_STRING_MAP
[
KeyCode
.
US_QUOTE
]
=
'
\'
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_0
]
=
'
NumPad0
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_1
]
=
'
NumPad1
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_2
]
=
'
NumPad2
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_3
]
=
'
NumPad3
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_4
]
=
'
NumPad4
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_5
]
=
'
NumPad5
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_6
]
=
'
NumPad6
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_7
]
=
'
NumPad7
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_8
]
=
'
NumPad8
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_9
]
=
'
NumPad9
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_MULTIPLY
]
=
'
NumPad_Multiply
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_ADD
]
=
'
NumPad_Add
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_SUBTRACT
]
=
'
NumPad_Subtract
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_DECIMAL
]
=
'
NumPad_Decimal
'
;
TO_STRING_MAP
[
KeyCode
.
NUMPAD_DIVIDE
]
=
'
NumPad_Divide
'
;
// for (let i = 0; i < KeyCode.MAX_VALUE; i++) {
// if (!TO_STRING_MAP[i]) {
// console.warn('Missing string representation for ' + KeyCode[i]);
// }
// }
})();
let
FROM_STRING_MAP
:
{[
str
:
string
]:
KeyCode
;}
=
{};
FROM_STRING_MAP
[
'
\r
'
]
=
KeyCode
.
Enter
;
(
function
()
{
for
(
let
i
=
0
,
len
=
TO_STRING_MAP
.
length
;
i
<
len
;
i
++
)
{
if
(
!
TO_STRING_MAP
[
i
])
{
continue
;
}
FROM_STRING_MAP
[
TO_STRING_MAP
[
i
]]
=
i
;
FROM_STRING_MAP
[
TO_STRING_MAP
[
i
].
toLowerCase
()]
=
i
;
}
})();
...
...
src/vs/platform/keybinding/common/commonKeybindingResolver.ts
浏览文件 @
f0f71be9
...
...
@@ -478,7 +478,7 @@ export class IOSupport {
key
=
input
;
}
let
keyCode
=
KeyCode
.
fromString
(
IOSupport
.
capitalizeKey
(
key
)
);
let
keyCode
=
KeyCode
.
fromString
(
key
);
let
result
=
0
;
if
(
ctrlCmd
)
{
...
...
@@ -497,39 +497,6 @@ export class IOSupport {
return
KeyMod
.
chord
(
result
,
chord
);
}
private
static
capitalizeKey
(
key
:
string
):
string
{
if
(
!
key
||
key
.
length
===
0
)
{
return
key
;
}
switch
(
key
)
{
case
'
pausebreak
'
:
return
'
PauseBreak
'
;
case
'
capslock
'
:
return
'
CapsLock
'
;
case
'
pageup
'
:
return
'
PageUp
'
;
case
'
pagedown
'
:
return
'
PageDown
'
;
case
'
leftarrow
'
:
return
'
LeftArrow
'
;
case
'
uparrow
'
:
return
'
UpArrow
'
;
case
'
rightarrow
'
:
return
'
RightArrow
'
;
case
'
downarrow
'
:
return
'
DownArrow
'
;
case
'
contextmenu
'
:
return
'
ContextMenu
'
;
case
'
numlock
'
:
return
'
NumLock
'
;
case
'
scrolllock
'
:
return
'
ScrollLock
'
;
}
return
key
.
charAt
(
0
).
toUpperCase
()
+
key
.
substr
(
1
);
}
private
static
writeKeybindingContexts
(
out
:
OutputBuilder
,
context
:
IKeybindingContextRule
[]):
void
{
var
lastCtxIndex
=
context
.
length
-
1
;
context
.
forEach
((
c
,
i
)
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录