小白进!QMK 键盘新手入门指南

经常玩键盘的伙伴应该都知道,现在的键盘市场可谓是百花齐放,已经不是之前的单一功能产品化时代。我们可以看到很多诸如:机械轴键盘、磁轴键盘、光轴键盘、电感轴键盘,以及可能会上市的光磁轴键盘,更有支持屏幕的、带旋钮的、带触摸按键甚至是触摸板的键盘,还有各种不同的键位配置,背光灯效,重量配置,以及各种回报率的键盘等等。在这些键盘里面,最近几天我关注最多的是 QMK 键盘,为此去搜集了些资料,分享给大家,仅供参考。

一、什么是 QMK

QMK (Quantum Mechanical Keyboard) 是一个以开发计算机输入设备为中心的开源社区。社区包含各种输入设备,如键盘、鼠标和 MIDI (Musical Instrument Digital Interface乐器数字接口)设备。有一个核心协作者组负责维护 QMK 固件,QMK 配置器,QMK 工具箱和 QMK 网站。 作为一个开源的键盘固件,可以用于许多不同类型的机械键盘。旨在为用户提供高度定制化的键盘功能。它支持多种键盘硬件,并允许用户通过修改配置文件自定义按键映射、宏、LED 灯光效果等,可以帮助用户自定义键盘布局和功能,支持多种操作系统和编程语言。

我们的键盘里面有一个处理器,就像我们的电脑里面的一样。该处理器运行的软件负责检测按键的按下,并在按键按下时通知计算机。QMK 固件充当软件的角色,检测按下的按键并将信息传递给主机。当我们构建自定义的键映射时,就是为我们的键盘创建一个可执行的程序。

"qmk_keyboards" 资源库提供了一站式的平台,以获取各种键盘的机器可读数据,包括配置文件、元数据、布局图、文档、示例代码、测试脚本和更新日志。QMK 的核心是它的模块化设计。它将键盘的各个部分------如扫描矩阵、USB 通信、键盘配置------作为独立的模块,方便开发者针对特定设备进行定制。

此外,QMK 提供了丰富的 API 和工具链,如 qmk_toolbox 和 qmk_configurator,让非开发人员也能轻松地调整键盘设置,允许用户在本地或通过在线服务快速构建固件。

二、QMK 的历史

QMK 最早由 Jack Humbert 在 2013 年发布。它是一个开源项目,得到了广泛的应用和认可。随着时间的推移,QMK不断得到改进和升级,逐渐成为一个高度灵活和可定制的键盘固件。

三、QMK 的特点

可定制性:QMK 允许用户自定义键盘布局和功能,可以满足各种使用需求。

跨平台:QMK 支持多种操作系统和编程语言,如 Windows、Linux、Mac OS、C 和 C++ 等。

易用性:QMK 提供了易于理解和使用的 API 接口,可以帮助开发人员快速上手。

高度灵活:QMK 支持多种映射方式和触发事件,可以定制各种复杂的键盘操作。

开放性:QMK 是一个开源项目,并且遵循 GPLv3 许可证。

四、QMK 的应用

自定义键盘:QMK 可以用于自定义机械键盘的功能和布局,满足各种用户需求。

游戏开发:QMK 可以用于游戏开发中的键盘响应和触发事件。

软件开发:QMK 可以用于软件开发中的快捷键和代码块等操作。

数据输入:QMK 可以用于数据输入软件的快捷键和输入模式等操作。

教育培训:QMK 可以用于编程教育中的键盘布局和快捷键等操作。

五、QMK 键盘的一般构建步骤

  • 建立qmk开发环境
  • 构建我们的第一个固件
  • 刷写我们的键盘固件
  • 刷写我们的固件
  • 调试和运行

六、QMK 目前支持的 MCU

我们从下图可以看到,在社区网站上,我们可以找到目前支持我们进行 QMK 键盘创作的 MCU 平台。

七、QMK 固件功能定制的原理

键码映射 :每一个物理按键都能被映射到任意的键码上,支持各种自定义布局和功能。

层管理 :通过分层的方式管理不同功能的按键,实现单个按键在不同层中的不同功能。

宏编程 :可以编写宏,即一系列按键操作的集合,一键执行复杂的命令序列。

LED控制 :利用底层的LED控制功能,自定义键盘的背光效果。

功能扩展 :利用额外的插件和功能,比如音频音效、LCD 显示等。

最后,键盘很多人生活中都要用到的,如果我们都能按照自己的意愿使用键盘,我们的工作效率将大大提升。同时,QMK 是免费的,并且由于强大的社区支持而不断改进,因此大家可以去尝试制作一把属于自己独有键盘。

点击此处登录大大通,获取更多精彩技术内容吧!

相关推荐
love530love2 小时前
【笔记】在 MSYS2(MINGW64)中安装 python-maturin 的记录
运维·开发语言·人工智能·windows·笔记·python
泉飒5 小时前
lua注意事项
开发语言·笔记·lua
lulinhao7 小时前
VLAN的作用和原理
网络·笔记·vlan
moxiaoran57538 小时前
uni-app学习笔记十八--uni-app static目录简介
笔记·学习·uni-app
航Hang*8 小时前
WEBSTORM前端 —— 第3章:移动 Web —— 第4节:移动适配-VM
前端·笔记·edge·less·css3·html5·webstorm
HinsCoder9 小时前
【技能拾遗】——家庭宽带单线复用布线与配置(移动2025版)
运维·网络·笔记·智能路由器·iptv·移动·单线复用
Lester_11019 小时前
嵌入式学习笔记 - STM32 HAL库以及标准库内核以及外设头文件区别问题
笔记·stm32·单片机·学习
Moonnnn.10 小时前
2023年电赛C题——电感电容测量装置
笔记·学习·硬件工程
可信计算11 小时前
【xmb】】内部文档148344599
笔记
绵绵细雨中的乡音12 小时前
Linux 学习-模拟实现【简易版bash】
linux·笔记