拓冰建站拓冰建站
首页 / 资讯中心 / 正文

QMK 固件中的 Plexus75:基于 XD75 改良的正交 60% 键盘配置与编译实战指南

QMK 固件中的 Plexus75基于 XD75 改良的正交 60% 键盘配置与编译实战指南【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware导读Plexus75 是 QMK 官方仓库中收录的一款 60% 正交线性ortholinear键盘它在 XD75 的全 1u 底排基础上改成了更接近常规 60% 键盘的传统底排布局兼顾正交配列的整齐感与标准键帽的易用性。本文将围绕 Plexus75 官方 readme 展开结合仓库内的 keyboard.json、三套官方键位映射default / default_3u / default_7u与底层源码完整讲解该键盘的硬件规格、三种底排布局差异、数据驱动配置结构、三层功能键位设计以及从编译到刷写的完整流程。读完本文你将能独立编译 Plexus75 固件、理解其矩阵与 RGB 配置并学会如何在 QMK 数据驱动架构下按需定制键位。Plexus75 是什么规格与设计定位Plexus75 是一块 60% 正交线性 PCB由 NaspGitHub 用户名 npspears设计并维护。与同样以正交著称的 XD75 相比它的核心区别在于底排布局XD75 的底排全部是 1u 键位而 Plexus75 将底排重新设计为接近传统 60% 键盘的形态包含增宽的空格、Alt/Win 等修饰键组合让习惯了标准 60% 键盘的用户也能无痛切换到正交配列。从 readme 中可确认的关键信息如下项目内容键盘名称Plexus75键盘维护者MaintainerNaspnpspears硬件支持Plexus75 PCB布局类别60% 正交线性ortholinear基于 XD75 改良在 keyboard.json 中制造商字段同样登记为manufacturer: Nasp维护者为maintainer: npspears与 readme 一致。USB 描述符信息为 VID0x7070、PID0x5338、设备版本0.0.1这些数值在刷写固件后的系统识别中会直接体现。数据驱动配置从 keyboard.json 读懂整块板子Plexus75 采用了 QMK 主流的数据驱动data-driven配置方式硬件定义全部集中在 keyboard.json 中无需额外的config.h与rules.mk该目录下确实没有这两个传统文件仅有 keyboard.json、readme.md 与 keymaps 子目录。主控、引导加载器与矩阵processor: atmega32u4, bootloader: atmel-dfu, matrix_pins: { cols: [B2, B0, D1, F7, F6, F5, F4, D4, D6, D7, B4, B5, B6, C6, C7], rows: [D2, B3, B1, F1, F0] }, diode_direction: COL2ROW主控芯片为 Atmel ATmega32U4这是 QMK 生态中最常见、资料最丰富的 AVR 主控之一引导加载器为atmel-dfu即 Atmel 官方的 FLIP/DFU 方案对应刷写工具与按键进入 DFU 的方式需要按此匹配矩阵规模为 5 行 × 15 列正好对应 75 键的命名Plexus75 共 75 个按键位二极管方向为COL2ROW列到行这是扫描矩阵时确定行列上拉/下拉方向的关键参数若与 PCB 实际走线不符整块键盘的扫描将完全错乱。功能特性开关features: { bootmagic: true, command: true, extrakey: true, mousekey: false, nkro: true, rgblight: true, unicode: true }, qmk: { locking: { enabled: true, resync: true } }bootmagic支持 Bootmagic可在开机时通过按住指定键进入刷写模式或调整配置command启用 QMK 内置的 Command 调试功能extrakey启用媒体/系统按键支持音量、播放控制等这也是默认键位中KC_MUTE、KC_VOLD、KC_VOLU可用的前提nkro开启 N 键无冲突NKRO适合对多键同时输入敏感的场景rgblight启用 RGB 背光功能unicode启用 Unicode 输入支持qmk.locking启用并启用重同步resync的按键锁定功能Caps Lock 等 Locking 键在状态丢失时自动重新同步。板载 RGBWS2812 灯带与 14 颗 LEDrgblight: { hue_steps: 12, saturation_steps: 25, brightness_steps: 12, led_count: 14, 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: D3 }灯带通过 WS2812 协议挂在D3引脚上共14 颗 LED默认启用了 10 种官方动画呼吸、彩虹情绪、彩虹旋转、贪吃蛇、骑士、圣诞、静态渐变、RGB 测试、交替、闪烁色彩调节的步进精度分别为色相 12 档、饱和度 25 档、亮度 12 档这些配置直接决定了默认键位中UG_TOGG、UG_HUEU、UG_HUED、UG_SATU、UG_SATD等 RGB 控制键的行为。三种底排布局2x2u、2x3u 与 7u 空格Plexus75 最大的特色在于官方提供了三种底排物理布局对应 keyboard.json 中的三个 layout 宏也对应仓库中的三套官方键位布局宏空格键代表键位文件LAYOUT_2x2u两颗 2u 空格 中央 1ukeymaps/default/keymap.cLAYOUT_2x3u一颗 3u 空格 左右 2ukeymaps/default_3u/keymap.cLAYOUT_7u一颗 7u 大空格keymaps/default_7u/keymap.c从 keyboard.json 的 layout 定义可以精确读出各布局的底排结构LAYOUT_2x2u 底排1.5u 1u 1.5u 1u 2u 1u 2u 1u 1.5u 1u 1.5u即两颗 2u 空格夹在中央两侧是对称的 1.5u 键LAYOUT_2x3u 底排1.5u 1u 1.5u 3u 1u 3u 1.5u 1u 1.5u中央为两颗 3u 空格中间夹一个 1u 键LAYOUT_7u 底排1.5u 1u 1.5u 7u 1.5u 1u 1.5u中央是一颗 7u 大空格接近标准 60% 键盘的底排观感。值得注意的是三种布局的前四行完全一致15 键 × 4 行 60 键差异仅体现在底排的键位宽度与数量上并且这三种布局共用同一套 5×15 矩阵物理键位在矩阵中的坐标一一对应只是底排部分键位被合并为宽键体现在w字段。这正是 readme 所述“更接近常规 60% 底排”的物理实现。官方键位设计详解默认键位defaultLAYOUT_2x2udefault/keymap.c 定义了三个层_BASE、_FN、_FN1并通过TT()Tap-Toggle键在层之间切换。第一层Base设计亮点字母区中央嵌入了小键盘数字右手区的7 8 9 / 4 5 6 / 1 2 3位置分别映射为KC_P7..KC_P9、KC_P4..KC_P6、KC_P1..KC_P3方便单手输入数字CTL_T(KC_ESC)Esc 与 Ctrl 的按键组合按住为 Ctrl、点按为 Esc是 QMK Mod-Tap 特性的典型应用顶部数字键上方第 1 键为KC_EQL第 6/7 键为KC_LBRC/KC_RBRC整体接近 60% 键盘 额外符号列的排布底排中央为TT(_FN)与TT(_FN1)两个层切换键双空格设计便于拇指分别触发不同层。第二层FN提供F1~F13、Delete、Menu、Print Screen、QK_BOOT刷写模式、KC_MUTE/KC_VOLD/KC_VOLU媒体音量等。QK_BOOT被放在多个位置包括底排方便在不拆键盘的情况下快速进入 DFU 刷写模式。第三层FN1集中了 RGB 控制键UG_TOGG/UG_HUEU/UG_HUED/UG_SATU/UG_SATD以及符号输入键KC_TILD、KC_EXLM、KC_AT、KC_HASH、KC_DLR、KC_PERC、KC_CIRC、KC_AMPR、KC_ASTR、KC_LPRN、KC_RPRN等。在 default/config.h 中还有一处关键定义#define TAPPING_TOGGLE 2它将TT()键的“点按切换”触发次数设为 2——即连点两次才切换层避免单次误触导致层意外锁定这是使用TT()键时重要的手感调优参数。三颗 3u 空格default_3udefault_3u/keymap.c 与默认键位内容基本一致同样包含三层结构与CTL_T(KC_ESC)、数字键盘嵌入等设计差异在于使用LAYOUT_2x3u宏底排改为TT(_FN)、TT(_FN1)与一颗 3u 空格并排适合喜欢在双空格之外再保留一颗中央 3u 空格的用户。7u 大空格default_7udefault_7u/keymap.c 面向最接近传统 60% 键盘的底排7u 空格。该键位只定义了两层_BASE与_FN底排为LCTRL、LGUI、LALT、SPACE(7u)、RALT、MO(_FN)、MENU将层切换改为按住式MO(_FN)而非TT()。这体现了同一块 PCB 在不同底排配键下的灵活适配能力。编译与刷写完整实操流程环境准备Plexus75 属于 AVR 键盘ATmega32U4编译前需要按 QMK 官方指南完成构建环境搭建构建环境搭建说明见 getting_started_build_tools.md编译命令详解见 getting_started_make_guide.md全新上手建议先阅读 newbs.mdComplete Newbs Guide刷写步骤可参考 flashing.md适用于 atmel-dfu 引导加载器。编译命令readme 给出的标准编译命令为make checkerboards/plexus75:default其通用形式是make 键盘路径:键位名其中键盘路径为checkerboards/plexus75键位名可选键位名对应目录defaultkeymaps/defaultdefault_3ukeymaps/default_3udefault_7ukeymaps/default_7u例如编译 7u 大空格版本make checkerboards/plexus75:default_7u编译产物即为atmega32u4对应的.hex固件文件。刷写方式由于引导加载器为atmel-dfu可采用如下方式之一# 编译并直接刷写需键盘已进入 DFU 模式 make checkerboards/plexus75:default:flash进入 DFU 模式的方法包括使用 Bootmagic按住指定键插入 USB、或触发键位中定义的QK_BOOT默认键位在 FN/FN1 层与底排均放置了QK_BOOT刷写非常方便。刷写工具方面QMK 官方支持dfu-programmer等烧录工具详细说明见 flashing.md 与 driver_installation_zadig.mdWindows 下驱动安装。定制你自己的 Plexus75 键位从仓库结构可以推断Plexus75 的定制方式与 QMK 标准流程一致复制一份官方键位目录例如将 keymaps/default 复制为keymaps/mykeymap在keymap.c中按LAYOUT_2x2u或你实际 PCB 使用的 2x3u / 7u 布局宏重排键位可选地在键位目录中添加config.h做键位级配置如 default/config.h 中的TAPPING_TOGGLE编译并刷写make checkerboards/plexus75:mykeymap:flash需要说明的是本仓库为只读上述定制流程应在你自己 fork 或克隆的副本中进行。若需本地使用可执行git clone https://gitcode.com/GitHub_Trending/qm/qmk_firmware小结Plexus75 是理解“正交配列 传统底排”设计思路的优秀范例。通过本文你应该已经掌握了它的硬件规格ATmega32U4、5×15 矩阵、COL2ROW、14 颗 WS2812 RGB三种底排布局2x2u / 2x3u / 7u的物理结构与对应宏定义官方三层键位的功能组织数字键盘嵌入、Mod-Tap、TT 层切换、RGB 控制、QK_BOOT从make checkerboards/plexus75:default到刷写 DFU 的完整流程以及按需定制键位的标准方法。如果你想深入源码验证上述机制建议继续阅读 keyboard.json 的完整布局定义、三份官方 keymap.c以及 QMK 核心文档中关于 数据驱动配置、键位编写 与 层切换 的说明。【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门