在 XP x64 上的 dvorak 鍵盤排列日文輸入

我遭遇的情況實在是一堆問題都湊在一起了:

  1. 日文輸入
    • MS-IME 有時候會壞掉,切換日文的按鈕會不見。
  2. 101/104 鍵的非日文鍵盤
    • 要切換日文得用 alt-` 或用滑鼠點。有時候兩個都會失靈。
  3. FFXI 裡輸入日文
    • 加強了切換日文失敗的可能性
  4. Dvorak 的鍵盤排列方式
    • 一般作法會導致 alt-` 無法使用
  5. XP x64
    • 很多解法不相容於 x64

一般要使用 Dvorak 鍵盤排列輸入日文最簡單的解法是用 regedit 把 MS-IME 的 keyboard layout dll 從 kbdjpn.dll 換成 kbddv.dll。這個作法有一個缺點,就是一些像 alt-` 之類的特殊功能鍵會不能用。

Alt-` 不能用的話切換日文就只好用滑鼠點,可是 MS-IME 三不五時就會失靈,按鈕會不見沒得點。尤其在玩 FFXI 的時候更是常發生這種事。而且,FFXI 有時候會吃掉滑鼠 click,導致沒切到日文或是遊戲角色亂跑。Zcecil 推薦可以使用 ATOK,比較不會發生按鈕消失無法切換的事,可是角色亂跑還是很討厭。

另外一個解法是安裝窓使いの憂鬱從 driver 那邊改 layout。可是窓使いの憂鬱已經停止發展了,而且沒有 x64 版,所以我還是不能用。

於是我最近決定直接來 hack kbdjpn.dll 和 kbd101.dll,把鍵盤 layout 那一段用 kbddv.dll 裡面那一段蓋過去。幸運的是這幾個檔鍵盤 layout 那段的資料大小是一樣的,所以直接用 hex editor 就可以了。改完之後現在我在 FFXI 裡切日文也可以直接用 alt-` 來切,就方便多了。

要注意的是 XP x64 裡面有兩份 kbdjpn.dll 和 kbd101.dll,分別在 system32 和 SysWOW64 裡。我之前用 HxD 改的時候因為 HxD 有一個 bug 所以 system32 下的一直沒改到。後來改到之後現在日文輸入用得很高興。另外一點要注意的地方是,如果用的是日文 106/109 鍵鍵盤或是 NEC 鍵盤而不是 101/104 鍵鍵盤的話,可能需要改 kbd106.dll 或 kbdnec.dll 而不是 kbd101.dll。

Leave a Reply

Current month ye@r day *