QMK 固件下的 i75 键盘指南:5×15 正交网格与多控制器支持详解

📅 发布时间:2026/9/15 10:34:17
QMK 固件下的 i75 键盘指南:5×15 正交网格与多控制器支持详解
QMK 固件下的 i75 键盘指南5×15 正交网格与多控制器支持详解【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware导读本文以 QMK Firmware 仓库中 keyboards/40percentclub/i75/readme.md 为核心完整梳理 i75 这款 5×15 正交ortholinear网格键盘的固件结构从 9×9 矩阵的物理接线、Pro Micro 与 PJRC Teensy 2.0 两套控制器方案到ortho_5x15布局定义与默认键位映射再到具体的编译烧录命令。读完本文你将能够看懂 i75 的 QMK 移植源码并根据自己的控制器型号正确编译与刷写固件。i75 键盘硬件概览i75 是一款由 di0ib 设计、归属于 40% Keyboards40percent.club项目的键盘 PCB。在 QMK 仓库中其键盘目录为 keyboards/40percentclub/i75其中根级 info.json 记录了键盘的元数据keyboard_namei75manufacturerdi0ibmaintainerqmkQMK 社区维护USB VID/PID0x4025:0x0A0C设备版本1.7.5从固件配置看根级 info.json 默认启用的特性包括bootmagicBootmagic 键位魔术、mousekey鼠标键、extrakey媒体键/系统键、console调试控制台与command命令层同时开启了 QMK locking含 resync 选项这些特性共同构成了 i75 的默认功能面。5×15 正交布局i75 采用 5 行 × 15 列的键位阵列共 75 个键位属于标准的 5×15 ortholinear 网格。这种布局没有传统键盘的行列偏移所有键帽严格对齐成网格是 40% 键盘圈中常见的“全正交”形态。9×9 物理矩阵与引脚规划i75 的 PCB 实际以9×9 矩阵9 行 × 9 列来扫描 75 个键位。readme 中特别说明矩阵是 9×9 网格。Pro Micro 上所有可用的引脚都被用上了其他控制器则留有剩余引脚。串口引脚和连接 LED 的引脚被尽可能避开。也就是说Pro MicroATmega32U4的引脚资源在这块 PCB 上被利用到了极致而 Teensy 2.0 引脚更充裕会有富余。矩阵扫描采用COL2ROW列驱动、行读取方向。双控制器方案引脚分配与固件配置i75 支持两种主控仓库通过子目录拆分了两套独立的固件配置promicro/与teensy2/各目录下均有一个keyboard.json描述矩阵引脚等硬件映射。Pro Micro 方案promicropromicro/keyboard.json 定义了 Pro Micro 下的矩阵接线{ matrix_pins: { cols: [B5, B6, B2, B3, B1, F7, F6, F5, F4], rows: [B4, E6, D7, C6, D4, D0, D1, D2, D3] }, diode_direction: COL2ROW, development_board: promicro }9 个列引脚分布在端口 BB1~B6与端口 FF4~F79 个行引脚分布在端口 BB4、端口 EE6、端口 CC6与端口 DD0~D3、D7指定了development_board: promicro由 QMK 构建系统自动补充 Pro Micro 对应的处理器atmega32u4与 Bootloadercaterina设置。PJRC Teensy 2.0 方案teensy2teensy2/keyboard.json 给出了 Teensy 2.0 的接线{ matrix_pins: { cols: [C6, C7, D6, D7, B5, B6, F7, F6, F5], rows: [D3, D2, D1, D0, B7, B3, B2, B1, B0] }, diode_direction: COL2ROW, processor: atmega32u4, bootloader: halfkay }对比可见两套方案的引脚规划完全不同Teensy 2.0 方案使用 C6、C7、D6、D7、B5、B6、F5~F7 作为列引脚行引脚则用到 D0~D3 与 B0~B3、B7。这里显式声明了processor: atmega32u4与bootloader: halfkayTeensy 的 HalfKay 引导程序。关于 Teensy LC / 3.2 的说明readme 明确标注Teensy LC / 3.2 暂未移植Not currently ported。也就是说尽管 Teensy 系列硬件能力更强但当前 QMK 仓库只提供 Pro Micro 与 Teensy 2.0 两套可编译配置使用 LC/3.2 的用户需要自行参考现有配置移植不能直接使用make 40percentclub/i75/teensyLC:default之类的目标该目标在仓库中不存在。布局定义LAYOUT_ortho_5x15i75 的根级 info.json 定义了LAYOUT_ortho_5x15并在community_layouts中声明了[ortho_5x15]表明它参与 QMK 的社区布局体系。该布局的关键特点物理矩阵坐标[row, col]与视觉坐标x, y并不一一对应。由于 9×9 物理矩阵在布线上采用蛇形zigzag绕行info.json 中的layout数组把 75 个键位按矩阵位置依次映射到 5 行、每行 15 列的视觉网格上第 0 行matrix [0,0]~[0,8][1,0]~[1,5]共 15 键第 1 行[1,6]~[1,8][2,0]~[2,8][3,0]~[3,2]第 2 行[3,3]~[3,8][4,0]~[4,8]第 3 行[5,0]~[5,8][6,0]~[6,5]第 4 行[6,6]~[6,8][7,0]~[7,8][8,0]~[8,2]。这种蛇形矩阵是 i75 在 9×9 引脚网格上实现 5×15 键位的关键也是阅读其键位映射时最容易混淆的地方——写 keymap 时使用的行列必须遵循LAYOUT_ortho_5x15的矩阵坐标而不是视觉上的行号。另外QMK 仓库还提供了通用的 layouts/community/ortho_5x15 与 layouts/default/ortho_5x15 模板任何 5×15 正交键盘都可以复用这套社区布局。默认键位映射分析默认 keymap 位于 keymaps/default/keymap.c只定义了一层默认层直接调用LAYOUT_ortho_5x15(...)共 5 行、每行 15 个键位[0] LAYOUT_ortho_5x15( 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_BSPC, KC_DEL, KC_CAPS, 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_ENT, KC_PGUP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ),这段映射的特点首行即数字区与符号区Esc位于最左端~ 收在行尾主键区沿用标准 QWERTY 排列Backspace与Delete相邻安置在倒数两个位置方便 40% 布局的肌肉记忆第三行同时出现两个Enter索引 12、13配合PageUp收尾第四行有两个Right Shift并内置Up方向键与PageDown末行为空格区与修饰键区5 个连续Space左右各有Alt、Ctrl、GUI方向键Left/Down/Right收尾。整体默认键位是一份典型的 40% 键盘“数字层 方向键嵌入”方案适合作为自行定制 keymap 的起点。编译与烧录readme 给出了三类编译目标前提是已按 QMK 官方流程配置好构建环境# 默认控制器按构建系统推断的默认配置 make 40percentclub/i75:default # 使用 Pro Micro 控制器 make 40percentclub/i75/promicro:default # 使用 PJRC Teensy 2.0 控制器 make 40percentclub/i75/teensy2:default要点说明三者的差异来自子目录 promicro/keyboard.json 与 teensy2/keyboard.json 中声明的矩阵引脚、处理器与 Bootloader实际接线必须与所选目标一致Pro Micro 方案按 Promicro 引脚表接线Teensy 2.0 方案按 Teensy2 引脚表接线二者不能混用烧录方式由 Bootloader 决定Pro Micro 走 caterina进入 Bootmagic/复位后以 Caterina 协议刷写Teensy 2.0 走 halfkay使用 Teensy Loader 刷写若自定义键位可参考 QMK 文档中的 Newbs 系列指南构建环境搭建、make 用法、刷写流程并将 keymap 放在 keymaps 目录下以你的用户名命名的子目录中。历史渊源TMK 时代的 i75readme 提及该键盘的固件最早源自 TMK 固件的i75_ProMicro键盘目录di0ib 的 tmk_keyboard 仓库而本仓库 keyboards/40percentclub/readme.md 也把 40percent.club 与原始 TMK 仓库并列列出。这说明 i75 的 QMK 移植属于“社区接力”性质由 40% Keyboards 社区成员将原 TMK 方案迁移到 QMK并新增了数据驱动的info.json/keyboard.json配置、多控制器拆分与社区布局支持。对于想对比两套固件实现差异的开发者可以从 TMK 原始接线图出发对照本仓库的两份keyboard.json理解 QMK 数据驱动化的演进。总结i75 是理解“小尺寸正交键盘 多主控适配”的典型案例9×9 蛇形物理矩阵、LAYOUT_ortho_5x15视觉布局、Pro Micro 与 Teensy 2.0 两套独立引脚方案共同构成了其固件主体。动手实践时只需确认自己的 PCB 接线对应哪套控制器配置再执行对应的make 40percentclub/i75/...目标即可完成编译与刷写。【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考