はじめに プライベートでは 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. Plug in the power cable and factory reset the keyboard by pressing fn + J + Z (for 4 seconds).
    2. Download the V1 Max firmware and download the QMK Toolbox. (If the download link below does not work, use this link: https://github.com/qmk/qmk_toolbox/releases)
    3. Unplug the power cable from the keyboard.
    4. Open the QMK Toolbox.
    5. Remove the space bar keycap to find the reset button on the left side of the space bar switch on the PCB.
    6. Press down and hold the reset button.
    7. Plug in the power cable while continuing to hold the reset button. The keyboard will enter into DFU mode. Then, the QMK Toolbox will display in yellow words "***DFU device connected".
    8. Click open and choose the Keychron V1 Max firmware. Click the Flash button. It will start flashing. (Note: Do NOT unplug the power cable while it's flashing.)
    9. Wait a few seconds and when you see the content below, it means the keyboard has flashed successfully factory reset.
    10. Factory reset the keyboard again by pressing fn + J + Z (for 4 seconds).

    If VIA can't pair with your Keychron V1 Max after you tried flashing, you need to follow these steps:

    1. Reconnect your keyboard power cable.
    2. If VIA still doesn’t pair together after you reconnect the power cable, download the Keychron V1 Max keymap JSON file.
    3. Open VIA. Step 1: Turn on "Show Design tab" on "SETTINGS" tab. Step 2: Click on "Design" tab, then click on "Confirm". Step 3: Drag the JSON file into the “Design” tab on the VIA. Step 4: A window will pop out after you drag the JSON file, please click on "Keychron V1 Max" and then click on "Connect".
    4. VIA should pair together with the Keychron V1 Max now.

カスタマイズ作業手順

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