blog.bouzuya.net

2017-09-08 ErgoDox EZ を日本語キーボードとして使えるようにした

2017-09-06 / 2017-09-07 に続いて 3 日連続でキーボードのことを書く。

ErgoDox EZ を日本語 (JIS) キーボードとして使えるようにした。

ErgoDox EZ 公式の Graphical Configurator では US English Layout だけが設定できるようになっている。これは macOS の設定で言うと「 ANSI (米国その他) 」と表示されるもので、いわゆる英語 (US) キーボードだ。記号の配置がタイプライターペアリングになっている。これは、たとえば Shift+2@ になるものだ。

ぼくは macOS の設定で言うと「 JIS (日本語) 」のものに慣れている。いわゆる日本語 (JIS) キーボードだ。記号の配置がロジカルペアリングになっている。これは、たとえば Shift+2" になるものだ。

この差を埋めるため、ぼくはいままで Shift を組み合わせたキーのために別のレイヤーを用意してきた。 QMK Firmware を触るようになったので、この問題を解決できるようになった。別のレイヤーも不要になった。良い。

結論から書くと /quantum/keymap_extras/keymap_jp.h を見ると良い。

keymap_jp.h を読み込むと keymap.hKC_* を元に JP_* が定義される。

これらを使って設定することで日本語キーボードとして認識されたときに違和感なく使うことができる。

ぼくの設定例は gist に ErgoDox EZ bouzuya v21 として置いてある

注意したいのは一部のキーコードは macOS では期待通りに動かないことだ。

  • 「かな」は JP_KANA でなく JP_LANG1
  • 「英数」は JP_EISU でなく JP_LANG2
  • \」は JP_BSLS でなく LALT(JP_YEN) (たぶん標準のキーボードでも起きるやつ……逆に ¥ がほしいなら LALT() は不要 )

これくらいのはず……。ほかは JP_* が期待通りに動くはずだ。

この記事にある keymap_jp.h / keymap_extras / JP_* の内容は特に難しい話じゃないのだけど、あまり見かけない気がする。もしかすると ErgoDox EZ を持っている層や QMK Firmware をさわる層は英語キーボードを使っている層と重なることが多いのかもしれない。