通过注册表修改中文输入法快捷键以解决与Excel的冲突(Win7+Office2010+必应输入法环境)

原因

Excel选中行及选中列的快捷键分别是 Shift+Space 以及 Ctrl+Space ,但这两个快捷键在中文系统输入法中的用途是切换全/半角和切换输入法/非输入法。显然这两个重要快捷键在Excel中无法使用,非常影响效率。

初步尝试

在查阅Excel相关帮助后得知,Excel 2010的快捷键无法更改,虽然可以创建宏并指定快捷键的方式来达到目的,但这未免小题大做了。 另一方面,这两个快捷键并不受输入法自己控制,而是系统设置。系统对输入法快捷键的设置对话框可以如下方式找到: 方法一:右击输入法栏 -> 设置 -> 高级键设置 方法二:开始 -> 控制面板 -> 更改键盘或其他输入法 -> 更改键盘 -> 高级键设置 在这里能找到“输入法/非输入法切换”和“全/半角切换”,并更改按键顺序,但是当你点击确定或应用时,却会发现两个设置又被改回了 Ctrl+SpaceShift+Space

解决方法

解决方法是直接修改注册表相关项目。 按 Win+R,输入 regedit 并运行。找到 HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys,分别修改其下的 0000001000000011 项里的键。 每个项内有三个键:Key Modifiers, Target IME, Virtual Key,意思分别是控制键(Ctrl,Alt,Shift及其组合)、适用的输入法、虚拟键(即与控制键组合的那个键)。 键值与物理键的对应关系见附表。 修改完之后不会立刻生效,调出上面提到的高级键设置,随便修改下,按应用之后就会发现自动改成了你所设置的快捷键。

依然存在的问题

虽然在系统启动或注销后重登录时,该修改有效,但如果从休眠中恢复,快捷键又会被强制改回 Shift+Space 等。 该问题目前仍未找到解决方法。


附表一 注册表项的功能

以下项在 HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 内。

功能
00000010 输入法/非输入法切换
00000011 全/半角切换
00000012 中/英文标点符号切换

更多项说明请参见:Simplified Chinese MSPY 3.0 IME Hot Key Registry Settings (Windows CE 5.0)

另外,00000070 开始的项适用于繁体输入法,00000200 开始的项用途未知。

附表二 Key Modifier的键值含义

该键的键值遵循如下规则:

      0    2    c    0    0    0    0    0
   0000 0010 1100 0000 0000 0000 0000 0000
         ^^^ ^^ 
Shift ___||| ||
  Ctrl ___|| ||
    Alt ___| ||
     Left ___||
     Right ___|
对应控制键
第1个字节
00 无控制键
01 Alt
02 Ctrl
03 Ctrl+Alt
04 Shift
05 Alt+Shift
06 Ctrl+Shift
07 Ctrl+Alt+Shift
第2个字节
40
80
c0 左右皆可

参考资料:Windows中与输入法和输入热键相关的Registry

附表三 Virtual Key的键值含义

对应虚拟键
08 退格键
09 Tab
0D 回车键
20 空格键
21 PageUp
22 PageDown
23 End
24 Home
25 左箭头
26 上箭头
27 右箭头
28 下箭头
2D Ins
2E Del
30 0
31 1
32 2
33 3
34 4
35 5
36 6
37 7
38 8
39 9
41 A
42 B
43 C
44 D
45 E
46 F
47 G
48 H
49 I
4A J
4B K
4C L
4D M
4E N
4F O
50 P
51 Q
52 R
53 S
54 T
55 U
56 V
57 W
58 X
59 Y
5A Z
70 F1
71 F2
72 F3
73 F4
74 F5
75 F6
76 F7
77 F8
78 F9
79 F10
7A F11
7B F12
BA ;/:(分号/冒号;美式键盘)
BB =/+(等号/加号)
BC ,/<(逗号/左尖括号)
BD -/_(减号/下划线)
BE ./>(句号/右尖括号)
BF //?(斜杠/问号;美式键盘)
C0 `/~(撇号/波浪号;美式键盘)
DB [/{(左方括号/左花括号)
DC /
DD ]/}(右方括号/右花括号)
DE ‘/"(单引号/双引号)

以上并非所有的虚拟键。完整的虚拟键列表见:Virtual-Key Codes

附表四 Excel快捷键列表

请参见以下几篇帮助。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注