输入法热键设置错误后的修复

我换了电脑,安装了一个搜狗拼音输入法,为了增加输入法快捷键,在某个地方将原有的系统热键Ctrl+,(没有注意,可能是)改成了Ctrl+Z(只是想测试一下)。

然后,杯具了。因为Ctrl+Z是很多编辑器的undo快捷键,没了太痛苦了。而我再也找不到修改设置的地方。

Windows输入法设置,微软输入法设置,搜狗拼音输入法设置……哪里都没有。只能看到那个Ctrl+,,改了也没用。

上网搜索,按推荐用了一些工具,比如spy++根本抓不到热键,hotkey explorer就是来搞笑的,给你开一堆窗口,然后里面根本没有这个热键。

只好查注册表了。有个修改输入法热键的帖子解决了问题(幸亏我记得是在输入法相关的地方修改的热键)。

HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys

下面,有00000010~203一系列项,00000010/11/12分别对应输入法开关/全半角切换/中英文标点切换。每个项都有3个数值:

Key Modifiers: 控制键,要修改前2个byte

第一个byte (图中为02) 定义了使用哪个键,一般有3种: 01/02/04分别对应Alt/Ctrl/Shift。如果使用组合键Alt+Ctrl,那么输入03 (=01+02)

第二个byte (图中为c0) 表示允许使用左侧键还是右侧键。 80/40分别表示只用左侧/右侧键。同理c0 (=80+40) 表示左右键都可以用

Target IME: 目标输入法编辑器

表示要切换到的输入法.如果你要设置或修改一个直接切换到某输入法的快捷键。对于00000010/11/12这三个主键来说还是保持00 00 00 00吧。 

Virtual Key: 虚拟键。

表示要跟的基本键 (如Ctrl+S这个热键中,S就称为虚拟键)。需要修改的也是第一个字节,只需要查到你要定义的虚拟键对应的ASCII码,转换成16进制数,填进去即可(字母键按大写字母处理,数字键按主键区的数字处理)。如定义A为虚拟键,A对应的ASCII码是65,相当于16进制的41,那么虚拟密钥就设置为41 00 00 00。

按照上面的说明,我果然发现了00000100项的快捷键是Ctrl+Z:

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000100]
"Key Modifiers"=hex:02,c0,00,00
"Virtual Key"=hex:5a,00,00,00
"Target IME"=hex:04,08,20,e0

再搜一下,这个代码是逆序,0804是简体中文,E020是紫光拼音。但是我根本没装这个输入法啊!

备份,删除项,一切都回来了。怀疑是搜狗的输入法管理器有错误。

--------------------------------------

附加说明:这个输入法代码好像不太好找,搜狗拼音的我没找到。列一下作为参考留存。

00000100是已设置了快捷键的各个输入法在注册表中的子键位置,从100开始,如果是首次给某个输入法设置快捷键,则为00000100。
Target IME是什么输入法使用此快捷键。但输入法代码的HEX值为倒的,例如:紫光输入法代码为E0200804,分开看即E0 20 08 04,输入HEX值则为:04,08,20,E0。
其他输入法代码为:
输入法 代码 HEX代码
中文 (简体) - 美式键盘 00000804  04,08,00,00
中文 (简体) - 全拼 E0010804   04,08,01,E0
中文 (简体) - 双拼 E0020804   04,08,02,E0
中文 (简体) - 郑码 E0030804   04,08,03,E0
中文 (简体) - 智能 ABC E0040804   04,08,04,E0
中文 (简体) - 内码 E0050804   04,08,05,E0
中文 (简体) - 微软拼音输入法 E00E0804   04,08,0E,E0
中文 (简体) - 王码五笔型86版 E0100804   04,08,10,E0
中文 (简体) - 王码五笔型98版 E0110804   04,08,11,E0

这些输入法代码可以在注册表里找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值