众所周知,Win95/98/me/NT4改输入法的热键比较自由,基本键、组合键可以随意定义,可到了2000以后,限制就多了:
1.Win2000/XP/2003只能设置成Ctrl(或左Alt)+Shift+某键,一旦把输入法开关、全半角开关、中英标点切换等的热键改了,就改不回来了;
2.Vista/2008多了Ctrl+某键的选择,但是其他限制依然没有改变。而且不能自定义全半角开关和输入法中英标点切换键了。
那么我们怎么办呢?一般情况下可以用IME TOOL这个软件,但今天我要教大家用注册表来改,这才是这些软件修改的原理!这些方法适用于所有Windows版本,Win95也不例外。
一、定义“在输入语言之间切换”按键
找到HKEY_CURRENT_USER\Keyboard Layout(键盘布局)\Toggle(切换)。 Win2000以上系统,右边有三个键值:
HotKey表示当前正在使用的热键,即在输入法属性中显示的热键; Language Hotkey表示“切换输入语言”的热键,一般和Hotkey的键值一致; Layout Hotkey表示“切换键盘布局”的热键。 这三个键,键值有四种选择,用数字1~4表示。 1表示左Alt+Shift; 2表示Ctrl+Shift; 3表示未分配;
4表示抑音符(ESC键下方,1左边那个键)
Win95/98/ME/NT4,直接修改默认键值即可,数字意义同上。
其实对英语比较熟悉的人很容易推断出大部分注册表键值的意义,但为了照顾英文不太好的朋友,下面仍然把中文附注在后面。
二、自定义输入法切换热键
找到HKEY_CURRENT_USER\Control Panel(控制面板)\Input Method(输入方法)\Hot Keys(热键),在其下有很多主键,我们需要关注的是前三个,名字分别为00000010/11/12,分别对应输入法开关、全半角切换和中英文标点切换。 在这三个主键下都有三个键值,含义分别是:
Key Modifiers(修饰键)表示要使用的控制键,我们需要修改的是前两个字节。 第一个字节定义使用哪个键,基本值有三种:01表示Alt,02表示Ctrl,04表示Shift,要使用组合键的话请直接相加;第二个字节表示允许使用左侧还是右侧的按键,80表示只能用左侧键,40表示只能用右侧键,同理80+40=C0表示左右侧都可以用。比如想定义Ctrl+Alt为修饰键,而且只有左侧按键有效,那么就设为03 80 00 00; Target IME(目标输入法编辑器)表示要切换到的输入法。如果你要设置或修改一个直接切换到某输入法的快捷键那么可以改这个键值,对于我们举的00000010/11/12这三个主键来说还是保持00 00 00 00吧;Target IME的设置方法是:先在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts下找到你要设置的输入法对应的主键名(可以看右边的键值),假设为01234567,这是8位16进制数,相当于4个字节。将它按2位一节分为4段,然后反过来填到Target IME里面即可。如01234567的话,就应该填写67 45 23 01;
Virtual Key(虚拟键)表示要跟的基本键,如Ctrl+S这个热键中,S就称为虚拟键。我们需要修改的也是第一个字节,只需要查到你要定义的虚拟键对应的ASCII码,转换成16进制数,填进去即可(字母键按大写字母处理,数字键一般按主键区的数字处理,因为小键盘按键的ASCII码和主键区是不同的)。如定义A为虚拟键,A对应的ASCII码是65,相当于16进制的41,那么Virtual Key就设置为41 00 00 00。 如果你要自己创建一个直接切换到某输入法的热键,那么可以直接在Hot Keys项下新建名字为8位数字的主键,但请注意:键名必须从00000100开始,如果已经有这个主键则可以顺延:00000101、00000102……否则修改后不能生效。下面给大家举例。
例1.设置全半角切换键为右Shift+3。
HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000011下,设置Key Modifiers为04 40 00 00,Virtual Key为33 00 00 00。
例2.设置按
Ctrl+Alt+T
直接切换到搜狗(两侧都可用),设
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts下搜狗的对应主键是E0130708。
在HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys下新建一个主键,名字为00000100(如果已经存在则顺延),在右边窗口建立上面提到的3个键值(都是二进制值):
Key Modifiers设为03 C0 00 00; Target IME设为08 07 13 E0; Virtual Key设为54 00 00 00。
设置极点五笔(E0210804为左ALT+SHIFT+1)、搜狗(E0200804为左ALT+SHIFT+2) Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000100] "Virtual Key"=hex:31,00,00,00 "Key Modifiers"=hex:05,c0,00,00 "Target IME"=hex:04,08,21,E0
[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000101] "Virtual Key"=hex:32,00,00,00 "Key Modifiers"=hex:05,c0,00,00 "Target IME"=hex:04,08,20,E0
最后附上ASCII码表,给大家查阅: Space 32 Page Up 33 Page Down 34 End 35 Home 36 F1-F12 112-123 ~ 126 抑音符 96 分号 186 等号 187 逗号 188 负号 189 句号 190 斜杠 191
1.Win2000/XP/2003只能设置成Ctrl(或左Alt)+Shift+某键,一旦把输入法开关、全半角开关、中英标点切换等的热键改了,就改不回来了;
2.Vista/2008多了Ctrl+某键的选择,但是其他限制依然没有改变。而且不能自定义全半角开关和输入法中英标点切换键了。
那么我们怎么办呢?一般情况下可以用IME TOOL这个软件,但今天我要教大家用注册表来改,这才是这些软件修改的原理!这些方法适用于所有Windows版本,Win95也不例外。
一、定义“在输入语言之间切换”按键
找到HKEY_CURRENT_USER\Keyboard Layout(键盘布局)\Toggle(切换)。 Win2000以上系统,右边有三个键值:
HotKey表示当前正在使用的热键,即在输入法属性中显示的热键; Language Hotkey表示“切换输入语言”的热键,一般和Hotkey的键值一致; Layout Hotkey表示“切换键盘布局”的热键。 这三个键,键值有四种选择,用数字1~4表示。 1表示左Alt+Shift; 2表示Ctrl+Shift; 3表示未分配;
4表示抑音符(ESC键下方,1左边那个键)
Win95/98/ME/NT4,直接修改默认键值即可,数字意义同上。
其实对英语比较熟悉的人很容易推断出大部分注册表键值的意义,但为了照顾英文不太好的朋友,下面仍然把中文附注在后面。
二、自定义输入法切换热键
找到HKEY_CURRENT_USER\Control Panel(控制面板)\Input Method(输入方法)\Hot Keys(热键),在其下有很多主键,我们需要关注的是前三个,名字分别为00000010/11/12,分别对应输入法开关、全半角切换和中英文标点切换。 在这三个主键下都有三个键值,含义分别是:
Key Modifiers(修饰键)表示要使用的控制键,我们需要修改的是前两个字节。 第一个字节定义使用哪个键,基本值有三种:01表示Alt,02表示Ctrl,04表示Shift,要使用组合键的话请直接相加;第二个字节表示允许使用左侧还是右侧的按键,80表示只能用左侧键,40表示只能用右侧键,同理80+40=C0表示左右侧都可以用。比如想定义Ctrl+Alt为修饰键,而且只有左侧按键有效,那么就设为03 80 00 00; Target IME(目标输入法编辑器)表示要切换到的输入法。如果你要设置或修改一个直接切换到某输入法的快捷键那么可以改这个键值,对于我们举的00000010/11/12这三个主键来说还是保持00 00 00 00吧;Target IME的设置方法是:先在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts下找到你要设置的输入法对应的主键名(可以看右边的键值),假设为01234567,这是8位16进制数,相当于4个字节。将它按2位一节分为4段,然后反过来填到Target IME里面即可。如01234567的话,就应该填写67 45 23 01;
Virtual Key(虚拟键)表示要跟的基本键,如Ctrl+S这个热键中,S就称为虚拟键。我们需要修改的也是第一个字节,只需要查到你要定义的虚拟键对应的ASCII码,转换成16进制数,填进去即可(字母键按大写字母处理,数字键一般按主键区的数字处理,因为小键盘按键的ASCII码和主键区是不同的)。如定义A为虚拟键,A对应的ASCII码是65,相当于16进制的41,那么Virtual Key就设置为41 00 00 00。 如果你要自己创建一个直接切换到某输入法的热键,那么可以直接在Hot Keys项下新建名字为8位数字的主键,但请注意:键名必须从00000100开始,如果已经有这个主键则可以顺延:00000101、00000102……否则修改后不能生效。下面给大家举例。
例1.设置全半角切换键为右Shift+3。
HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000011下,设置Key Modifiers为04 40 00 00,Virtual Key为33 00 00 00。
例2.设置按
Ctrl+Alt+T
直接切换到搜狗(两侧都可用),设
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts下搜狗的对应主键是E0130708。
在HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys下新建一个主键,名字为00000100(如果已经存在则顺延),在右边窗口建立上面提到的3个键值(都是二进制值):
Key Modifiers设为03 C0 00 00; Target IME设为08 07 13 E0; Virtual Key设为54 00 00 00。
设置极点五笔(E0210804为左ALT+SHIFT+1)、搜狗(E0200804为左ALT+SHIFT+2) Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000100] "Virtual Key"=hex:31,00,00,00 "Key Modifiers"=hex:05,c0,00,00 "Target IME"=hex:04,08,21,E0
[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000101] "Virtual Key"=hex:32,00,00,00 "Key Modifiers"=hex:05,c0,00,00 "Target IME"=hex:04,08,20,E0
最后附上ASCII码表,给大家查阅: Space 32 Page Up 33 Page Down 34 End 35 Home 36 F1-F12 112-123 ~ 126 抑音符 96 分号 186 等号 187 逗号 188 负号 189 句号 190 斜杠 191