WSL メモ
目次
設定書き込み
QMK ファームウェア
- キーボードレイアウト
- QMK OSS
- Keychron の fork
- Keychron によるファームウェア配布
Keychron Q1 Max では次のように記載:
Q1 Japan JIS KnobバージョンのVIAコードは、まだGithubからの承認を待っているため、まだ自動的に認識されていません。 以下の適切なキーマップJSONファイル(ANSIまたはISO)をダウンロードし、VIAを開き、[設定]タブの[デザインタブの表示]をオンにし、JSONファイルをVIAの[デザイン]タブにドラッグして、Q1ノブキーマップを機能させます。
Q6 Max JIS ファームウェアの作り方
- Keyboard Layout Editor でレイアウト作成
- ただし 列は 0~19 に必ず収める。最後の列は
3,13,3,14, … と3行目の余りのキーを付与。 - 公式の json から配置が読み取れる
Raw dataからDownload JSONで保存- 別途
Raw dataの内容をクリップボードにコピー
- ただし 列は 0~19 に必ず収める。最後の列は
- KLE -> QMK info.json Converter でフォーマット変換
-
- の手順でコピーした内容を貼り付け
- 結果を
info_pre.jsonとして保存
-
-
Python スクリプトで更に変換
import json import sys # path = sys.argv[1] path = r"C:\Users\applejxd\Desktop\info_pre.json" with open(path) as f: d = json.load(f) layout = d["layouts"]["LAYOUT"]["layout"] for i in range(len(layout)): pos = layout[i]["label"].split(',') layout[i]["matrix"] = [int(num) for num in pos] with open('./info.json', 'w') as f: json.dump(d, f, indent=2) - Keychron の fork を clone
- ホームフォルダの直下に clone
- WiFi 接続モデル向けブランチ(wireless_playground) を checkout
keyboards/keychron/q6_maxを参照ansi_encoderをコピーしてjis_encoderと名称変更jis_encoder/info.jsonのlayoutsにLAYOUT_112_jisとして 3. の出力結果をペーストjis_encoder/config.hに#define DYNAMIC_KEYMAP_LAYER_COUNT 6などと追記してレイヤー数を増加jis_encoder/keymaps/via/keymap.cの配列をLAYOUT_112_jisに変更。- キーの順番は info.json の順番
- (キーマップは
keyboards/keychron/k10_proなどの 100% JIS キーボードからコピーしてくる) - メディアキーは Q6 Max では未定義のため
KC_ESC, KC_F1, ...をコピー・貼り付けして上書き
keymap.cのレイヤ数をコピペで増やすlayers列挙体にFN_CX, FN_Mなどとして新規レイヤーの名前を作成- 同様の名前で
keymapsの内容もコピペで増やす encoder_mapについても同様
- QMK MSYS でビルド:
qmk compile -kb keychron/q6_max/jis_encoder -km via- VIA 機能を有効化するためには
rules.mkに記載のあるviaをビルド
- VIA 機能を有効化するためには
- QMK Toolkit で出来上がったファームウェアを書き込み
- ファームウェア書き込みモードは
ESCを押しながら有線接続 - ビルドしたファームウェアは
qmk_firmwareフォルダ直下の bin ファイル Flushで書き込み
- ファームウェア書き込みモードは
- Keychron Launcher でキーマップ修正
- Keychron によるファームウェア配布 から適切な JSON ファイルを取得
- キーマップのインポートから上記読み込み JSON を