1. 程式人生 > >win7修改登錄檔更改半全形切換快捷鍵

win7修改登錄檔更改半全形切換快捷鍵

十分感謝這位兄弟

由登錄檔修改輸入法的熱鍵
眾所周知,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。

最後附上ASCII碼錶,給大家查閱(10進位制,改登錄檔時請用計算器算出對應的16進位制數值):
Space 32
Page Up 33
Page Down 34
End 35
Home 36
F1-F12 112-123
~ 126
抑音符 96
分號 186
等號 187
逗號 188
負號 189
句號 190
斜槓 191
` 192
左括號 219
反斜槓 220
右括號 221
引號 222
A-Z 65-90
0-9 48-57

三、顯示或隱藏輸入法狀態條
大家知道XP以上系統的語言欄沒有了以前的“輸入法指示器”中的“顯示輸入法狀態”選項,因此經常遇到這樣的情況:螢幕上有多個狀態條,不知道當前正在用的是哪個,有時明明關了輸入法還以為沒關。這個方法可以幫助你解決這樣的煩惱。在HKEY_CURRENT_USER\Control Panel\Input Method下,把show status(顯示狀態)鍵值設為0可以隱藏輸入法狀態條,設為1則顯示。設定好後重新整理一下注冊表和桌面即可。