@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

WindowsでDvorakキー配置

DvorakJ

blechmusik.xii.jp

Low-Level Keyboard Hookを使用してキー入力をカスタマイズするプログラムです。 導入が簡単そうなので、使ってみました。 いくつか不満がありました。

  • 設定項目が多すぎて理解仕切れない
  • Change Keyと併用すると、どちらの設定なのかますます理解がすすまない

MacとWindowsのIME - @ledsun blogに書いたように、MacWindowsIMEの操作を統一したいため、Caps Lockキーを設定しています。 このため、Change Keyも使っています。 両方使って設定が複雑になるなら、いっそのことと思い、Change KeyだけでDvorakキー配置に変更してみました。

Change Key

forest.watch.impress.co.jp

レジストリHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layoutにキー入力のマッピングを設定して、キー入力をカスタマイズするプログラムです。 複数のマッピング設定を、1つのバイナリ値として設定します。 人力でレジストリの値を計算するのが面倒です。ここを便利にしてくれるプログラムです。 GUIでキーボードのどのキーにどの値を設定するかポチポチ選べるので、便利です。

多少不満がありまして

  • USキーボードだとどのキーにどの値を設定すれば、直感的でない
  • 設定を保存する機能があるが、保存されている場所がわからない

頑張って設定した結果が次になります。

f:id:ledsun:20210727035244p:plain
Change KeyでUSキーボードをDvorakキー配置に設定

Dvorakキー配置と上の設定値を見比べると、1段目と2段目の記号の配置に苦戦したのがわかると思います。 特に=\の配置に苦戦しました。 Change Key上のJISキーボードの表記と配置と実際に使っているUSキーボードの表記と配置が違うので、どのキーに対してどの値を設定すればいいのか、わかり憎いです。 さらに面倒なことにレジストリを使ったキー入力のカスタマイズはOSを再起動しないと設定が反映されない点です。

f:id:ledsun:20210727041335p:plain
Dvorakキー配置

実際のUSキーボードとJISキーボードの対応は、思ったよりややこしくて、次のようになっています。

  • [ ->
  • ] -> [
  • = ->
  • \ ->

Scancode Map

Change Keyで設定したマッピング情報は次のような感じで、16進数の羅列としてレジストリに設定されます。 人間慣れてくればChange Keyなしでも、設定変更できそうではあります。 とはいえ、0埋めの数をミスったりしそうなので、GUIなりなんらかのツールでレジストリの値を自動計算したいですね。

f:id:ledsun:20210727035711p:plain
Change Keyとレジストリの設定値の対応

参考