ハカセノオト

moon indicating dark mode
sun indicating light mode
はじめに プライベートでは US 配列のキーボードを利用していますが、業務の都合上、PC の管理者権限を持たないために JIS 配列設定のまま US キーボードを使わざるを得ない場合があります。
特に、 @ や…

Keychron V1MaxのQMK FirmwareをカスタマイズしてOSがJIS設定でもUS配列通りのキー入力を実現する

April 04, 2025

はじめに

プライベートでは US 配列のキーボードを利用していますが、業務の都合上、PC の管理者権限を持たないために JIS 配列設定のまま US キーボードを使わざるを得ない場合があります。 特に、@_などのよく利用する記号がキー通りに打てないために打ち間違いの原因となり、作業効率が悪化します。

OS 側の設定はいじれないので、ハードウェア側でなんとかしてしまおうというのが、この記事です。

QMK Firmware の書き込みに対応しているキーボードだとそれが実現できそうだということで、Keychron V1Max を選びました。

Keychron V1Max は、QMK Firmware に対応しており、そのソースコードも公開されています。

この記事では、QMK ファームウェアをカスタマイズして、JIS 設定でも US 配列通りのキー入力を実現する方法を説明します。

注意: Keychron 公式では「注:すべてがキーボードで正常に機能する場合。 ファームウェアをフラッシュしないでください。 キーボードが損傷する可能性があります。」とのことですので、自己責任でお願いします。

実現できること

  • JIS モードでも US 配列通りのキー入力ができるようになる
  • JIS モード、US モードの切り替えができるようになる
  • OS 側のキー配列設定に悩まされず、自由にキーをカスタマイズできるようになる
  • カスタマイズ後も VIA による GUI を使ったカスタマイズが可能

筆者作成物コード

以下で公開しています。

https://github.com/hnishi/qmk_firmware/tree/v1_max_us2jis/keyboards/keychron/v1_max/ansi_encoder/keymaps/hnishi

ファームウェア書き込み手順

  • QMK CLIをインストールおよびセットアップします

  • QMK Toolboxをインストールします

  • https://github.com/hnishi/qmk_firmware.git をクローンします

  • QMK Firmware をビルドします (qmk home directory を~/work/qmk_firmwareとします)

    qmk compile -kb keychron/v1_max/ansi_encoder -km hnishi

    コンパイルが成功すると、~/work/qmk_firmware/keychron_v1_max_ansi_encoder_hnishi.binが生成されます。

  • キーボードを接続し、作成されたファームウェアを書き込みます (参考: How to Factory Reset (Firmware) for V1 Max)

カスタマイズ作業手順

1. QMK ファームウェアのセットアップ

まず、Keychron の QMK ファームウェアリポジトリをフォークします。V1 Max はwireless_playgroundブランチにソースコードがあるため、このブランチを含めてフォークする必要があります。

qmk setup hnishi/qmk_firmware -H qmk_firmware -b wireless_playground

このコマンドは、カレントディレクトリの./qmk_firmwareにリポジトリをクローンし、必要なセットアップを行います。

2. キーボードとキーマップの設定

QMK の設定ファイルに、使用するキーボードとキーマップを指定します:

qmk config user.keyboard=keychron/v1_max/ansi_encoder
qmk config user.keymap=hnishi

これらの設定は~/Library/Application Support/qmk/qmk.iniに保存されます。(筆者 Mac 環境の場合)

3. 新しいキーマップの作成

qmk new-keymap

このコマンドは、~/work/qmk_firmware/keyboards/keychron/v1_max/ansi_encoder/keymaps/hnishiに新しいキーマップを作成します。

4. キーマップのカスタマイズ

キーマップのカスタマイズは、keymaps/hnishi/keymap.cファイルを編集することで行えます。詳細な設定方法については、QMK 公式ドキュメントを参照してください。

今回、私が作成したコードは下記で公開しています。

https://github.com/hnishi/qmk_firmware/blob/v1_max_us2jis/keyboards/keychron/v1_max/ansi_encoder/keymaps/hnishi/keymap.c

以下のようなカスタマイズを行いました。

  • Fn + Esc キーで JIS/US 配列切り替え可能
  • EEPROM に設定を保存し、再起動後も維持
  • LED パターンによるモード表示
    • JIS モード: レインドロップパターン (RGB_MATRIX_RAINDROPS)
    • US モード: サイクルパターン (RGB_MATRIX_CYCLE_ALL)

5. ファームウェアのコンパイル

作成したキーマップでファームウェアをコンパイルします:

qmk compile -kb keychron/v1_max/ansi_encoder -km hnishi

コンパイルが成功すると、~/work/qmk_firmware/keychron_v1_max_ansi_encoder_hnishi.binが生成されます。

参考文献

以下、公開されている記事やコードが大変参考になりました。 ありがとうございます。

宣伝

  • Keychron V1 Max

    赤軸購入しました。あまり期待してなかったのですが、打鍵感よく、コスパよく、満足しています。ノブがついているキーボードも初だったのですが、音量調整や、キーボードの LED 光量を調整することができます。VIA でカスタマイズも可能なので、ノブを回すことで拡大・縮小に割り当てると便利になりそうです。

私は最安だった Keychron 公式サイトで購入しましたが、国外からの配送になるため、届くまで2週間ぐらいかかりました。 Amazon で買うと国内配送なのですぐに届くと思います。

Keychron V1Max


hnishi

hnishi のブログ

ソフトウェアエンジニアです。
誰かの役に立つかもしれないと思って、調べたこと、勉強したこと、躓いた箇所などを記事にしています。
問い合わせはこちらからお願いします。