可乐是键盘杀手
周五晚上和女票在玩游戏 Go-Go Town ! 。游戏很上头,太专注了,不小心把可乐打翻了。 可乐撒了一丢丢在键盘上,当时是擦干净了,使用也没啥问题。
隔天早上起来用的时候,就发现它坏了。 呜呜呜,陪伴5年的键盘。
因为键盘坏了,没法写代码(也没法玩游戏)。 先用小时达下单了个 27 米的键盘来临时用用。 然后在等待的过程中,找到了这个键盘 Keychron Q60 Max 。 HHKB 配列的键盘,距离上次选购都 5 年了,现在看能选择还是一样少。
临时键盘当天早上就到了,但隔天早上新键盘也到了(顺丰快递,速度真快)。 所以临时键盘就没用了,当场下岗。等它下次上岗,也不知道会是什么时候了。
到手的第一件事,就是改键位。 原版 HHKB 可以通过拨动背面功能滑块, 选择交换 Delete 与 Backspace 按键。 不然要向左删除的时候,需同时按下 FN + Delete ,不是很方便。 但遗憾的是,这个新键盘不支持这样方便的方式。但它支持 QMK 固件,这也让它更好用。
随机送的小手册,提供个网站可以直接编辑键位。感觉很方便,但有 BUG 无法正常使用。 那就只有自己动手刷固件了,这也是我买这个键盘的原因之一。用的是开源固件 QMK。
固件刷写
由于 keychron 源码没有合并近主仓库,得这么操作。
# 下载源码
gti clone https://github.com/Keychron/qmk_firmware.git \
--depth 1 \
--branch wireless_playground
cd ./qmk_firmware
# 安装 qmk
brew install qmk/qmk/qmk
刷固件前,别忘了修改下键位。
diff --git a/keyboards/keychron/q60_max/ansi/keymaps/default/keymap.c b/keyboards/keychron/q60_max/ansi/keymaps/default/keymap.c
index a39ed4b9a2..37adca928b 100644
--- a/keyboards/keychron/q60_max/ansi/keymaps/default/keymap.c
+++ b/keyboards/keychron/q60_max/ansi/keymaps/default/keymap.c
@@ -29,7 +29,7 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_BASE] = LAYOUT_ansi_60(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(FN),
KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN),
# 构建环境配置
brew link --force avr-gcc@8
brew link --force arm-none-eabi-binutils
brew link --force arm-none-eabi-gcc@8
# 固件构建并刷写
make keychron/q60_max/ansi:default:flash
待构建完成后,会进监听模式。 此时拔下键盘,再长按 Esc 键的同时,再插上键盘。 等待片刻,固件刷写。完成后,键盘会自动重启。就能正常使用了。
RGB 灯效设备睡眠后不恢复的解决方案
这个 Bug 不知道哪里导致的。但有个短平快的方案就是禁止 RGB 灯效跟着睡眠。
--- a/keyboards/keychron/q60_max/ansi/rules.mk
+++ b/keyboards/keychron/q60_max/ansi/rules.mk
@@ -1 +1 @@
-# This file intentionally left blank
\ No newline at end of file
+SLEEP_LED_ENABLE = yes
重新构建固件并刷写即可。
杂项
This work by 林玮 (Jade Lin) is licensed under CC BY-NC-ND 4.0