🐈

Corne V3 で Mac の "かな", "英数" を扱う

2023/11/11に公開

やりたいこと

Corne V3 ではドキュメントによると、キー配列の変更には VIA というツールを使うらしい。
(参考:ビルドガイド )

  • VIA では Mac の "かな"(KC_LANG1),"英数"(KEY_LANG2)を扱うことができないようなので、できるようにしたい。
  • Karabiner と併用はできればやりたくない。

結論

https://github.com/qmk/qmk_firmware/pull/14726
にある通りで、KC_LANG1 は KC_LANGUAGE_1 になった。
QMK ファームウェアを自力でビルドしてキーボードに突っ込むと普通にうまくいく。

VIA ではなぜか SPECIAL にある ANY で設定しても、KC_LANGUAGE_1, KC_LANGUAGE_2 が設定できない。
KC_HAEN("かな"が設定される) と KC_HANJ("英数"が設定される) で設定するといいようだ。
表示が  "なんかのハングル文字" と "漢字"になっているが、問題なく動作する。


以下は結論に辿り着くまでの軌跡。

調査したこと

  • VIA はキーマップを QMK ファームウェアに基づいて GUI で設定できるツールだと思って良さそう
    • 一部上手く設定できないキーコードや設定があるが ANY キーを選んで QMK と同じように設定できそう。QMKの公式ドキュメントを読むとできることがよくわかる。
  • QMK のファームウェアを VIA 向けにビルドできる
  • QMK のファームウェアを自力でビルドしてもいいが、VIA のように動的に keymap を変更できない
    • キーボードに書き込むのは QMK Toolbox が非常に楽
  • QMK Configure という WEB 上で keymap を変更できるツールがあるらしい(使ってない

QMK ファームウェアのビルド

公式ドキュメントを見れば大体はわかる。

  1. QMK ファームウェアのリポジトリをクローンし、ビルド環境を整える。
  2. corne v3 の場合、qmk_firmware/keyboards/crkbd/keymaps にキーマップの設定がある。ユーザー定義のキーマップもこのディレクトリ以下に保存しているようで keymaps/default/keymap.c や keymaps/user_name/keymap.c などがある。
  3. 例えば default の keymap.c を編集して、ビルドする場合
    qmk compile -kb crkbd -km default
    

でできる。 qmk_firmware/.build ディレクトリ以下に crkbd_rev1_default.hex などとして出力されるので、 QMK Toolbox などでキーボードに書き込める。
5. qmk_firmware/keyboards/crkbd/rules.mkファイルに VIA_ENABLE = yes を記述してからビルドすると、VIA で認識できる
6. 一部キーコードが VIA と QMK で違うかもしれない。KC_LANGUAGE_1(QMK) と KC_HAEN(VIA) など。上記の方法で VIA でも使えるファームウェアをビルドしておけば、キーコードの対応がわかる。

Discussion