ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

QMK 固件中 waffling60 Rev E 键盘支持指南:编译、布局与 DFU 刷写

QMK 固件中 waffling60 Rev E 键盘支持指南:编译、布局与 DFU 刷写 QMK 固件中 waffling60 Rev E 键盘支持指南编译、布局与 DFU 刷写【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware本篇技术指南以 QMK Firmware 仓库中 waffling60 Rev E 键盘支持目录 为核心系统讲解这款 60% 客制化 PCB 在 QMK 中的固件构建流程、底层硬件配置、可用的布局矩阵与底行变体以及进入 DFU 刷写模式的两种实操方法。读完本文你将能够独立完成 waffling60 Rev E 固件的编译、默认键位烧录与自定义键位适配。waffling60 与 Rev E 版本定位waffling60 是 4pplet 设计的一款面向 MX 轴的 60% 键盘 PCB官方支持热插拔hot swap与焊接solder两个版本并提供了相当灵活的配列支持。整个系列在仓库中按版本拆分维护分别位于 rev_a、rev_b、rev_c、rev_d含 rev_d_ansi、rev_d_iso 变体以及本文重点的 rev_e 目录下。按照 Rev E 官方说明 的定位Rev E 在既有布局支持的基础上新增了两项关键能力底部氛围灯underglow和 6u 空格6u space配列支持。这意味着 Rev E 既保留了系列一贯的一款 PCB 兼容多种经典 60% 配列的设计理念又为追求 RGB 氛围和特殊底行的玩家提供了新的选择。硬件配置与固件架构Rev E 的硬件参数在 keyboard.json 中以 QMK 数据驱动配置方式定义关键信息如下配置项值说明主控STM32F072ARM Cortex-M0 内核 MCUBootloaderstm32-dfu使用 DFU 协议刷写二极管方向COL2ROW列到行扫描矩阵14 列 × 5 行见 矩阵图旋转编码器pin_aA2, pin_bA1, resolution2音量/亮度调节等用途RGB 灯ws2812引脚 A817 颗 LED其中 1 颗兼作 Caps Lock 指示灯USB 标识VID 0x4444PID 0x0014设备版本 0.0.5—从 rules.mk 可以看到一行值得注意的配置# Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS -p FFFF -v FFFF这是为了兼容 APM32 系列 MCUSTM32F072 的国产替代型号而将 DFU 后缀校验参数改为通配符避免因 MCU 厂商 ID 差异导致刷写校验失败。这也是 Rev E readme 中特别提示如果使用 APM MCU 刷写后不会自动复位的原因所在。固件功能开关keyboard.json 中features段启用了bootmagicBootmagic 键位魔术、extrakey消费类媒体键、key_lock键锁定、mousekey鼠标键、encoder旋转编码器、nkro全键无冲、rgblightRGB 灯效并在rgblight.animations中开启了 breathing、rainbow_mood、rainbow_swirl、snake、knight、christmas、static_gradient、twinkle 等十余种动画。Caps Lock 指示灯的底层实现Rev E 用第 17 颗 RGB LED索引 16充当 Caps Lock 指示灯这一逻辑实现在 rev_e.c 中void keyboard_pre_init_kb(void) { rgblight_set_effect_range(0, 16); keyboard_pre_init_user(); } bool led_update_kb(led_t led_state) { bool res led_update_user(led_state); if (CAPS_LOCK_ENABLE res) { if (led_state.caps_lock) { rgblight_sethsv_at(CAPS_LOCK_COLOR, 16); } else { rgblight_sethsv_at(HSV_OFF, 16); } } return res; }其原理是初始化时通过rgblight_set_effect_range(0, 16)将前 16 颗灯限定为氛围灯动画范围随后在led_update_kb中根据led_state.caps_lock状态把第 16 号 LED即矩阵中索引 16单独设置为CAPS_LOCK_COLOR默认HSV_GREEN绿色或熄灭。Caps Lock 颜色可以通过CAPS_LOCK_COLOR宏覆盖。构建环境与固件编译编译 waffling60 Rev E 固件前需要先搭建 QMK 构建环境工具链安装、依赖配置等准备工作然后执行make 4pplet/waffling60/rev_e:default该命令会编译目标键盘4pplet/waffling60的rev_e版本并使用default键位方案。编译产物.bin/.hex/.dfu等即可用于后续 DFU 刷写。如果只使用 Rev E 的 6u 空格配列可以编译仓库中已提供的对应键位方案make 4pplet/waffling60/rev_e:6u_ansi make 4pplet/waffling60/rev_e:6u_ansi_split_bs_rshift make 4pplet/waffling60/rev_e:6u_iso make 4pplet/waffling60/rev_e:6u_iso_split_bs_rshift布局支持从社区布局到底行变体Rev E 在 keyboard.json 中声明了 8 个标准 60% 社区布局community_layouts60_ansi、60_ansi_split_bs_rshift、60_ansi_tsangan、60_ansi_tsangan_split_bs_rshift、60_hhkb、60_iso、60_iso_split_bs_rshift、60_iso_tsangan另提供LAYOUT_all超集布局供 keymap 自由组合并通过layout_aliases将LAYOUT_60_tsangan_hhkb映射到LAYOUT_60_ansi_tsangan_split_bs_rshift。Rev E 专属的 6u 空格能力体现在四个新增布局宏中LAYOUT_6u_ansi、LAYOUT_6u_ansi_split_bs_rshift、LAYOUT_6u_iso、LAYOUT_6u_iso_split_bs_rshift。以LAYOUT_6u_ansi为例底行定义为1.5u Ctrl 1u Win 1.5u Alt 6u 空格 1.5u Alt 1u Win 1u Menu 1.5u Fn。官方 矩阵图 直观展示了 Rev E 焊接版可支持的底行形态Standard标准 6.25u 空格、Tsangan/WKL7u 空格、6U bottom row6u 空格、3U split space三段空格以及 10U space 等这正是 Rev E 新增 6u 支持在硬件矩阵层面的体现。默认键位与功能层默认键位 使用LAYOUT_all超集布局主层为标准 ANSI 键位Fn 层MO(1)提供 F1–F12、方向键与QK_BOOT一键进入 DFU等按键[1] LAYOUT_all( QK_BOOT, KC_F1, KC_F2, ..., ... KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, ...),同时default/rules.mk 启用了ENCODER_MAP_ENABLE yes配合 keymap 中的encoder_map实现旋转编码器功能const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] { [0] { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } };即主层旋转为音量加减Fn 层旋转为屏幕亮度加减。6u 配列键位如 6u_ansi结构与默认键位一致仅将布局宏替换为LAYOUT_6u_ansi并移除拆分键位。进入 DFU 与固件刷写方法一硬件复位进入 DFU推荐Rev E 的 bootloader 为stm32-dfu见 keyboard.json 的bootloader: stm32-dfu进入方式如下将键盘背面标记为BL/RESET的复位排针短路约 2 秒键盘随即进入 DFU 模式此时即可执行刷写。需要特别留意 Rev E readme 中的提示如果使用的是 APM32APMMCU刷写完成后不会自动复位。此时只需再次短暂短路 BL/RESET 排针让 PCB 复位或直接拔插 USB 线即可。方法二Bootmagic 组合键已预刷固件时如果键盘中已经存在可用的 QMK 固件可以借助 Bootmagic该功能已在 features 中开启进入 DFU拔掉 USB 线同时按住空格键Spacebar和 B 键插入 USB 线等待约 1 秒后松开按键键盘进入 DFU 模式即可刷写固件。此方法与系列其他版本如 rev_d/readme.md保持一致的交互习惯适用于不便打开外壳操作复位排针的场景。刷写命令进入 DFU 后即可烧录编译产物例如make 4pplet/waffling60/rev_e:default:flashmake ...:flash会自动完成 DFU 检测与烧写。若使用 Bootmagic 组合键进入 DFU需注意 APM32 MCU 复位特性刷写完成后按前述方式手动复位。小结waffling60 Rev E 是 4pplet waffling60 系列中同时引入underglow 氛围灯与 6u 空格支持的版本硬件层面采用 STM32F072 17 颗 WS2812 灯珠 旋转编码器并兼容 APM32 MCU软件层面由 keyboard.json 数据驱动描述矩阵与功能开关通过 rev_e.c 实现 Caps Lock RGB 指示灯配合 8 个社区布局与 4 个 6u 专属布局覆盖主流 60% 配列。无论你是组装热插拔版还是焊接版只要按本文流程编译make 4pplet/waffling60/rev_e:default并通过 BL/RESET 短路或 SpacebarB 组合键进入 DFU即可完成固件刷写。【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表