MENU ~/
 _____ 
/     \
| () () |
\  ^  / 
 |||||  
 |||||  

    

ChlorineC

Coding With Passion

SEARCH

$ grep
SYS.VER 1.0.4
© 2026
chlorinec@blog:~/posts/qmk-and-via-hands-on

$ cat ~/posts/qmk-and-via-hands-on.md

开源键盘固件编辑入门 & Lofree Flow 2 87键Mac驱动分享

这篇文章介绍如何入门修改开源键盘固件,并分享 Lofree Flow 2 87 键在 Mac 上的驱动/配置方案。作者以 VIA(usevia.app) 为核心工具,说明通过网页端连接键盘后进行按键映射与功能调整的思路与入口,帮助用户快速上手自定义键位、适配 macOS 使用习惯,并提供相关资源链接以便直接配置。

TABLE OF CONTENTS

最近发现之前大学时候用的狼蛛F87轴已经不太行了,经常出现重复输入的情况,因此打算购入一台新的机械键盘。

考虑到我当下的需求和学生时代已经有所不同,打游戏的时间大幅减少,更倾向于键入舒适度和颜值,同时也慢慢习惯了不带小键盘的87键位,最后选择入了一把Lofree的线性轴87键盘Flow2。

开源键盘固件与VIA入门

这些术语在「客制化键盘」圈子里是非常常用的,但是本人不玩这个领域,只是想简单改一下键位,因此也支持简单了解。

固件

所谓固件(firmware)就是预先写入硬件中的代码程序,比如BIOS、UEFI就是写在主板ROM里的固件程序,用于引导启动流程。

而「键盘固件」自然就是写在键盘控制器里的程序了,主要负责处理键盘的输入信号,与操作系统串口进行交互,可以通俗理解为「键盘固件决定了你按下的键在电脑眼里是什么键」,你看起来按下了S键,但是固件说他是M,那操作系统就会认为他是M。

一般固件分为开源和闭源两种,之前我购买的狼蛛就是私有固件,必须使用厂商提供的程序才能进行改建,而一般这种又不提供Mac的二进制文件,所以导致我最开始还没买Windows的时候一度非常苦恼。

开源固件有QMK、TMK等,现在最主流的固件是QMK(Quantum Mechanical Keyboard),它是基于TMK的拓展项目,支持VIA配置、多层键码、RGB控制和NKRO全键无冲,兼容数百款键盘,GitHub活跃社区大。

QMK固件配置中有几个核心概念:

  • keyboard:一种特定的键盘型号,与键盘的 PCB 板绑定
  • keymap:一种键盘布局,它属于 keyboard,但是可以配置不同的软件特性以及键位布局,每一种 keyboard 下可以有多种 keymap

QMK固件与驱动编辑

理解了固件以后,我们再介绍另一个概念——驱动编辑器。

驱动编辑器就是提供一套接口或者GUI界面,帮助用户去编辑、编译和写入新的键盘固件程序,比如我们即将使用的VIA编辑器,QMK是其底层固件,VIA则是上层的GUI编辑器。

每个键盘都有自己的键位和分层,其对应的概念如下:

分层QMK(固件层概念)Via(应用层概念)
键盘(不可编程,PCB电路板逻辑写死)keyboardDraft
键位(可编程)keymapLayer/Layout

keyboard文件一般由厂商直接提供,键盘内也会内置一套或几套keymap,我们在VIA编辑器中一般就是编辑keymap来定义每个按键的具体功能。

Via编辑器

VIA

VIA是一个开源、免费的网页键盘配置工具,它为QMK固件的键盘提供了易于使用的图形界面,让用户无需编程或重新刷固件,即可实时自定义键盘的按键映射、宏、灯光效果和其他功能。

Via的一大特点就是使用了纯Web技术构建,用户可以直接在浏览器中就对硬盘固件进行读取和刷入编辑,底层技术是WebHID技术。

WebHID是一个现代的网页标准,允许JavaScript代码直接与连接到计算机USB端口的HID设备进行双向通信,而无需安装额外的驱动程序。

image.png

通过Via写入驱动

通过USB有线连接键盘后,打开Via网页,点击Authroize Device,然后选择已连接的键盘授权连接即可。

image.png

image.png

连接后还需要加载键盘的硬件配置,按照下面的步骤加载厂商给的驱动配置文件:

image.png

加载完成后回到第一个Tab就能看到当前键盘的键位了:

image.png

以我的键盘为例,大部分键盘的Win/Mac模式切换其实就是切换了默认的键位层,比如我的键盘里01是Mac键位,23是win键位,其中低一点的是默认键位,高一点的是按了Fn的特殊键位。

当前键盘是什么状态、使用哪个Layer这些都是写在硬件里的逻辑,Via是无法编辑的。

image.png

我们点开Fn Layer就可以印证我们的猜想:

image.png

因此最后我们的操作非常简单,直接把Win模式(Layer2)下的LeftWin和LeftAlt调整为和Mac下一致,然后日常使用win模式即可。

image.png

成果分享

键盘配置文件

OE927-84键.json

编辑好的键位文件

flow2_lofree_mac_in_win.layout.json

COMMENTS # giscus
cd ../
TERMINAL $
Type "help" to see available commands.
chlorinec@blog:~/posts/qmk-and-via-hands-on $