如何修改hot key,讓ctrl+space可以切換中英文輸入法

話說昨天可愛的茶碗蒸君問我為什麼不能使用ctrl+space來切換中英文輸入法,一使用這組hot key就會把msn最小化到右下角.....一聽到這個問題,第一個反應就是,一定是有哪套軟體佔據了這組hot key,所以我就問了茶君,是不是裝了類似messanger plus之類的軟體?茶君說是ㄚ,我怎麼知道?

問題很明顯了,就是messanger plus這套的hot key和輸入法hot key重覆啦。不過這個問題說起來簡單,但是解起來可還真是不容易啊~~~~一開始我想,拜拜google大神也許大神就會給我指點迷津.....誰知道關於\HKEY_CURRENT_USER\Control Panel\Input Method\HotKeys\的說明真是少的可憐ㄚ.......該不會是因為這組key是非英語系國家的專利吧?難怪ov的開發者們會說,在win32平台上搞個輸入法出來簡直是比登天還難的任務.......

不過大神也不是叫假的,這世界一山還是有一山高,很快的我在網管人就找到了答案啦~~~~底下就來小小解說一下:

首先,關於CJK輸入法的各項熱鍵設定我猜應該都放在\HKEY_CURRENT_USER\Control Panel\Input Method\HotKeys\下面,這底下有很多subtree,就像左邊這樣喔.......相信看到這裡大家應該都很迷惑吧?這麼多的subtree,我怎麼知道哪個是代表切換中英文輸入法的熱鍵呢?這就是高手和我們鄉民的差異拉,偏偏就是有人知道,00000070代表的就是這組熱鍵.....不只這樣喔,高手還知道很多熱鍵的設定值喔!!例如,
Key Modifiers

01:ALT
02:CTRL
03:CTRL-ALT
04:SHIFT
05:SHIFT-ALT
06:CTRL-SHIFT
07:CTRL-ALT-SHIFT
20:SPACE

Virtual Key

0:30
1:31
2:32
.
.
8:38
9:39

有了這些資料還不夠喔,打開之後可以發現,裡面有Key Modifiers,Target IME,Virtual Key這三組不同的機碼。所以如果我們想要讓中文文輸入法的熱鍵可以正確使用,必須要把

(1)將Key Modifiers的第一個數值改成02 (Ctrl)
(2)將Virtual Key的第一個數值改成20 (Space)

這樣就大功告成囉~~~~


後記:windows registry真的是一個大迷宮,同時也是windows設定的核心。如果有哪位大大知道哪裡有所有registry的reference,希望不吝指教喔~~~~

留言

熱門文章