輸入法切換按鍵被佔用了怎麼辦?

本人除了英文、中文輸入法之外,也常用日文輸入法,為了方便與快速在這些輸入法中切換,我都會設定切換個別輸入法的快速鍵。例如 英文、中文、日文輸入法的切換鍵分別為: Alt+Shift+1 、 Alt+Shift+2 、 Alt+Shift+3 。

然而有時候會想換輸入法用用,例如原本安裝了輸入法 A ,而輸入法 A 的切換鍵為 Alt+Shift+1 。如果在沒有取消按鍵設定的情況下移除輸入法 A ,然後安裝輸入法 B ,此時將無法把輸入法 B 的切換鍵設定為 Alt+Shift+1 ,會出現啥
無法變更xxx輸入法切換的按鍵順序。請檢查是否有另一個項目使用相同的按鍵順序。

的錯誤訊息,原來是鱉腳的 XP 仍然以為 Alt+Shift+1 是輸入法 A 在使用。 XP 真的是很笨,我就是想切換快速建設定,又不是什麼會危害系統的大事,給我個選項強制轉換快速鍵不就好了。

一個解決這個問題的方式是重新安裝並加入輸入法 A ,把輸入法 A 的快速鍵取消掉,不過要再裝一次然後移除好麻煩。另一個解決方式是從登錄檔下手,執行 regedit 啟動登錄檔編輯器後,開啟
HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys

底下會有好幾個以數字為名稱的機碼,例如 00000100 機碼下的內容為:
Key Modifiers 05 c0 00 00
Target IME 04 04 04 04
Virtual Key 31 00 00 00

Key Modifiers 的 05 c0 為 Alt+Shift (06 c0 為 Ctrl+Shift),而 Virtual Key 的 31 則是 1 (可參閱 Wikipedia – ASCII),兩個合起來便是 Alt+Shift+1 。想把快速鍵 Alt+Shit+1 取消掉的話,把這個機碼刪除即可。

2 意見:

界安 提到...

耶~你解決我的問題了,不過shift是c0哦,提醒你一下

Unknown 提到...

是的,我打錯了,感謝提醒。

不過剛剛上網查了一下,似乎 Alt、Ctrl、Shift 這三個鍵是決定於第一個 byte ,而 c0 不知道是做啥用的。有人說 Alt、Ctrl、Shift 分別是:

MOD_ALT = &H1
MOD_CONTROL = &H2
MOD_SHIFT = &H4

所以 Alt+Shift = 1 + 4 = 5 ,而 Ctrl+Shift = 2 + 4 = 6 。