解析与刷写指南)
QMK 固件实战Catch22 预算热插拔宏键盘22 键数字小键盘解析与刷写指南【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware导读Catch22 是一款面向预算玩家的 22 键热插拔宏键盘Macropad由 reddit 用户 rockydbull 于 2018 年 7 月发起团购GBPCB 由 Kilgarah 协助设计。它以一颗 Pro Micro克隆主控为核心借助 QMK 固件实现热插拔、轴体测试与宏编程等玩法。本文将基于本仓库keyboards/catch22目录下的官方 readme、keyboard.json配置、config.h与默认键位源码完整解析该键盘的硬件套件、矩阵设计、固件配置、默认键位与编译刷写流程帮助你从零开始定制自己的 Catch22。一、产品定位一张预算项目板Catch22 的设计初衷非常明确用最低的成本提供一块可玩性极高的入门级项目板让玩家无需焊接即可完成以下三件事热插拔Hotswap通过 22 个 Kailh 热插拔轴座随时更换轴体体验不同手感轴体测试Switch Testing作为轴体手感测试平台快速对比不同轴体宏编程Macro Making基于 QMK 完整固件实现自定义任意按键功能、层与宏。该键盘的定位与 lets split、iris、nyquist 等项目一脉相承——都使用Pro Micro 克隆主控因此可以完整承载 QMK 的全部能力。当前仓库中该键盘的实现位于 keyboards/catch22由readme.md、keyboard.json、config.h及keymaps/default/keymap.c四个文件构成是一个典型的纯>matrix_pins: { cols: [B5, B4, E6, D7, C6], rows: [B6, B2, B3, B1, F7] }, diode_direction: COL2ROW5 个列引脚B5、B4、E6、D7、C65 个行引脚B6、B2、B3、B1、F7二极管方向为COL2ROW阳极接行、阴极接列这是 QMK 矩阵扫描的常规接法之一其原理可参考 docs/how_a_matrix_works.md。对应地LAYOUT布局宏在keyboard.json中把 22 个矩阵坐标映射到物理位置例如[2, 0]第 3 行第 1 列对应左上角的 FN 键[3, 0]是高度为 2 的纵向大键回车 Enter[4, 1]对应空格。注意矩阵的[0, 0]与[4, 0]两个坐标未被使用这与 22 颗轴座的数量完全吻合。USB 标识同样定义在keyboard.json中usb: { vid: 0xFEED, pid: 0xCA22, device_version: 0.0.1 }VID0xFEED是 QMK 社区常用的厂商 IDPID0xCA22正是 Catch 22 的 ASCII 谐音CA22开发板类型指定为promicro主控为 Atmel AVR 架构的 Pro Micro 克隆。此外keyboards/catch22/config.h 中通过#define IS_COMMAND() false禁用了命令Command组合键即不提供默认的 magic 组合键入口如LSHIFTRSHIFT进入 bootloader避免误触。四、固件功能配置RGB 灯效与特性开关keyboard.json中同时声明了 RGB 灯带与功能特性rgblight: { led_count: 6, animations: { breathing: true, rainbow_mood: true, rainbow_swirl: true, snake: true, knight: true, christmas: true, static_gradient: true, rgb_test: true, alternating: true, twinkle: true } }, ws2812: { pin: F6 }, features: { bootmagic: false, command: true, console: true, extrakey: false, mousekey: false, nkro: false, rgblight: true }解读要点WS2812 灯带挂在引脚F6上共6 颗LED固件预编译启用了 10 种 RGB 动画呼吸、彩虹涌动、彩虹旋转、贪吃蛇、骑士、圣诞、静态渐变、RGB 测试、交替、闪烁rgblight: true开启 RGB 灯效核心console: true保留调试输出能力bootmagic、mousekey、nkro、extrakey均被关闭固件体积更小符合预算板够用就好的取向。RGB 相关的按键控制与自定义方法可进一步参考 docs/feature_rgblight.md。五、默认键位数字小键盘 FN 层默认键位定义在 keyboards/catch22/keymaps/default/keymap.c共两个层_BASE基底层与_FN功能层。基底层_BASE——完整的数字小键盘功能KC_NUM KC_PSLS KC_PAST KC_BSPC KC_P7 KC_P8 KC_P9 KC_PEQL MO(_FN) KC_P4 KC_P5 KC_P6 KC_PPLS KC_PENT KC_P1 KC_P2 KC_P3 KC_PMNS KC_SPC KC_P0 KC_PDOT KC_TAB即Num Lock、/、*、退格数字 7/8/9 与左下角是MO(_FN)层切换键其后为 4/5/6 与回车2u 纵向大键、1/2/3 与-底部为空格、0、.与 Tab。功能层_FN——以 RGB 控制为主UG_TOGG UG_NEXT UG_HUEU UG_HUEU _______ _______ _______ _______ _______ _______ _______ _______ _______ KC_2 _______ _______ _______ _______ _______ _______ _______ _______ _______UG_TOGG开关 RGB 灯效toggleUG_NEXT切换下一个 RGB 模式UG_HUEU色相Hue递增连续按可循环调色FN 层上有两个相同键位KC_2按下 FN 2 输出数字 2其余键位用_______即KC_TRNS透传到底层。层与键码的更多说明可查阅 docs/keymap.md 与 docs/feature_layers.md。六、编译与刷写Catch22 使用 Pro Micro克隆主控编译与刷写遵循 QMK 标准流程参考 docs/newbs_building_firmware.md 与 docs/newbs_flashing.md# 编译默认键位固件 qmk compile -kb catch22 -km default # 编译并刷写Pro Micro 需先进入 bootloader qmk flash -kb catch22 -km default要点与前提首次使用需先通过qmk setup配置好 QMK CLI 环境与工具链Pro MicroATMega32U4刷写时通常需要短接RST与GND两次以进入 bootloader然后执行上述qmk flash由于 keyboards/catch22/config.h 中IS_COMMAND()被禁用进入刷写模式请优先使用硬件复位方式套件附带的 SMD 复位按键即为此设计。七、从默认键位走向个性化定制由于 Catch22 支持完整 QMK 实现你可以基于默认键位快速扩展新增层复制_FN的定义增加_FN2等层用MO()、LT()、TG()等层切换键码组织自定义 RGB 行为利用已启用的 10 种动画与UG_HUEU/UG_HUED、UG_SATU/UG_SATD、UG_VALU/UG_VALD等键码精细调节颜色添加宏在keymaps/default/keymap.c中加入#include QMK_KEYBOARD_H之外的宏定义用SEND_STRING或process_record_user实现复杂输入参考 docs/feature_macros.md键位布局调整修改LAYOUT(...)括号内的键码顺序即可重新排布 22 个按键。八、总结Catch22 是一个典型的小成本、高可玩性QMK 项目板2 块 PCB 定位板 22 颗热插拔轴座 Pro Micro 主控即可获得一块支持热插拔、轴体测试与全功能宏编程的数字小键盘。在本仓库中它的固件支持完整落在 keyboards/catch22 目录下keyboard.json完成了矩阵、USB 标识、RGB 与特性的全部声明默认键位则以数字小键盘 RGB 功能层的形态开箱即用。对于想入门 QMK 硬件定制、又不想承担焊接与高成本门槛的玩家而言Catch22 是一条非常顺滑的路径。【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考