英語キーボードに変更したかった
昨日楽天で頼んだ英語キーボードが届いたので、それに変更するためにまず Windows 10 の設定 (レジストリ) を英語キーボードのものに変更、正しく US (ASCII) 配列での出力がされるところは確認した。 私は JIS かなを始める前は英語キーボードを使っていたので、このあたりは特に不都合はない。 ただ、半年以上 JIS キーボードを使っていたので正直 Enter キーが慣れない。
DvorakJ で月配列がうまく設定できない
早速 DvorakJ での月配列の設定を始めたのだが、一部の文字が想定の文字と異なるものが表示されてしまうのを見つけた。 例えば「゛」を打つと「ふ」と表示されてしまう。 よく考えたら納得の挙動で、JIS キーボードにおいて JIS かなで濁点を打つキーは「@」であり、「@」は US キーボードだと「2」の位置にある。 これが JIS かなだと「ふ」の位置なので「ふ」が出力されてしまうというわけだ。 つまり DvorakJ がやっているのは、あくまで IME に渡す前の段階のキーコードを「月配列から JIS かなの対象コードに変換」している事だと思われた。
逆対応すればいいのではないかと思い、DvorakJ 側の設定ファイルで JIS キーボードに表示されている @ の位置に相当する US キーボード側の記号に当たる JIS かなのかな……を設定したら「゛」に関してはうまく行った。 ちょっと文章で書くと何のことか分からないが、つまり「US キーボードの 「[」キーが JIS キーボードの JIS かなと同一位置にあるので相当する JIS かなである「゜」を指定」するのである。 ただ、この方法でも「け」で困ることになる。 「け」は JIS かなだと「:」なのだが、US キーボードだと「:」と「;」は同一キーであり区別できない。
そもそも JIS かなのキーコードをフックしているという発想なのだから JIS かなのキーコードを発行する方式を US キーボードで使おうというのがおかしい気がした。 つまり US キーボードで月配列を使う場合ローマ字での実装が自然だと思う。 ただそれだとタイピング練習する時困るしイマイチ快適とは言い難い……。
長音の位置を「む」に戻す
という事で無理に英語キーボードに変えるのを止めることにした。 良かったのかどうか良くわからないが、英語キーボードとの互換性を考えなくて良くなったので、今度は長音を JIS かなの「む」の位置に配置できるようになった。 月配列の長音付け足しに関して迷走している感が凄いが、また「む」の位置で慣らすことにする……。
英語キーボードはプログラミングする方や英語でよくタイピングする方に関して「環境が許せば」お勧めである。 自分の場合月配列で普段快適に日本語入力することが第一なので、「環境が許さなかった」という事になった。
追記 (2017-02-19)
DvorakJ の設定で UTF-16 コードを直接指定することができるようだ: USキーボードで新JIS配列カナ入力
という訳で、この日は気づかなかったのだが US キーボードで普通に設定する方法はあった。