Keychron Q65というキーボードがDHLで届いたのです。
5月ごろにGroupBuyやっていてそれがついに届いたという感じです。ちなみに昨日までは売り切れ表示だったんですが、今(2022年11月23日)みたところ在庫あり表示になっているので今すぐ買えますね!!!!
Keychron Q65 QMK Custom Mechanical Keyboardwww.keychron.com
組み立てるのも楽しいんですがキーキャップ選び出すと沼にはまるのでFully Assembled Knobにしました。
第一印象はめっちゃ重い(物理)なんか2.4kgあるらしいです。2リットルペットボトルより重たい…安定感抜群ですね…
そんでもってめっちゃ光る。USBケーブル接続した瞬間めっちゃ光る。虹色に波打っててゲーミングみたいでした。
このキーボードの気に入っているポイントは左側にノブとM2~M5キーがあることです。Knob Versionっていうぐらいなんだからそりゃそうかという感じですがノブがあります。
しかも、VIAでカスタムできるのも楽しいポイントでした。VIAってすごいんですね、リアルタイムで反映されるし自動で永続化されるし…
VIAで1個だけわからなかったのが、Altを押してESCを押したときはESCじゃなくてGrave*1を出力するようにしたいけどこれをどうしていいかわからなかった。
QMKにはGrave Escapeという機能があってこれを使うと似たようなことができる…けどこれはShiftかGUI*2とESCを押したときにESCじゃなくてGraveになる機能…らしい…*3
このためにレイヤ1枚使うのももったいないしなぁ…とおもってしばらく使ってたらふとQMK改造すればいい!!オープンソース最高!!となってGrave Escapeの機能を改造することにしました。
Grave Escape改造
Grave EscapeがShift or GUIでGraveになるESCから、AltでGraveになるESCに改造したメモ。
DockerでDebianを起動してやります。
# 環境設定 docker run -it --rm debian apt update apt install -y sudo zlibg1-dev libjpeg-dev git python3-pip vim python3 -m pip install qmk qmk setup Keychron/qmk_firmware
お好きなエディタでここを編集する
diff --git a/quantum/process_keycode/process_grave_esc.c b/quantum/process_keycode/process_grave_esc.c index ddf02739..17c12a1a 100644 --- a/quantum/process_keycode/process_grave_esc.c +++ b/quantum/process_keycode/process_grave_esc.c @@ -23,7 +23,7 @@ static bool grave_esc_was_shifted = false; bool process_grave_esc(uint16_t keycode, keyrecord_t *record) { if (keycode == QK_GRAVE_ESCAPE) { const uint8_t mods = get_mods(); - uint8_t shifted = mods & MOD_MASK_SG; + uint8_t shifted = mods & MOD_MASK_ALT; #ifdef GRAVE_ESC_ALT_OVERRIDE // if ALT is pressed, ESC is always sent
# いい感じにビルドする
make keychron/q65/q65_ansi_stm32l432_ec11:via
ここまでやって、出来上がったbinを焼いたらOKでした。
焼き方はスペースバーを外すとスイッチの左側にDFUに入るスイッチがあるので、それをUSBケーブルを指すとDFUモードになってQMK Toolboxでファームが焼けるようになります。
焼き終わった後、Fn+J+Zを4秒くらい押してEEPROMをファクトリリセットしておくといいそうです。