来自Mechboards的RoMac Plus FauxMax宏键盘套件
注意:这篇文章发布已超过两年,因此其中包含的信息可能已过时。如果您发现了问题,请留下评论,我公司会尽力更正。
2023年10月1日 - 阅读时长22分钟
最近我一直在研究机械键盘,发现可选择的不只有组装好的成品。你可以从一些公司购买键盘套件,这些套件包含了组装梦想中键盘所需的所有组件。
大多数这类套件都需要用烙铁将组件焊接到电路板(即PCB)上。由于我几乎没有焊接经验,往好了说也就那么一点点,所以决定先找个便宜的套件试试手,再去进行更复杂的项目。
当我看到来自很棒的Mechboards(该公司位于英国)的小型RoMac Plus宏键盘套件时,便决定买下它,因为这完全符合我的需求。这个键盘是一个配有旋转编码器和一个小LED屏幕的11键键盘。
作为初次尝试的套件,它的功能可能有点多,但如果我能把它组装好并让它正常工作,它将是我桌面设备的一个很好的补充。它也被称为20%键盘,因为它的尺寸只有全尺寸键盘的20%。RoMac板的PCB也是开源的,这是个不错的福利。
大多数这类自定义键盘都使用一种名为QMK(量子机械键盘)的开源键盘固件。这意味着在把键盘焊接好后,需要用合适的固件对其进行刷机,这样它才能正常工作。
在这篇文章中,我将介绍我是如何组装RoMac Plus宏键盘的,如何设置QMK固件,以及对这块板子的一些总体看法。这些步骤中的大多数也适用于任何小规模的键盘项目。同时,在讲解过程中,也会和大家探讨Drupal模块开发、Drupal开发、Drupal升级以及Drupal11相关理念在项目拓展与优化中的潜在应用。
一、组件
Mechboards的宏键盘套件并未包含让键盘运行所需的所有组件,他们在官网上也明确说明了这一点。要让键盘作为一个完整的项目正常运作,你需要以下物品:
- 一套11个轴体和相应的键帽。
- 一个控制器。这是键盘的“大脑”,它将管理电脑和键盘板组件之间的交互。
- RoMac Plus宏键盘套件。它包含了让电路板正常工作所需的PCB和所有组件(除了控制器)。
我决定为这个项目选择一个Elite Pi(同时通过Mechboards购买)。这是一款树莓派产品,它有一个强大的微控制器,带有USB - C接口,对于这块小电路板来说,其性能绰绰有余。
至于轴体,我选择了一些佳达隆墨水蓝轴,它和佳达隆青轴类似,但轴体颜色是透明蓝色。按下这些轴体时会有清脆且响亮的咔哒声,不太适合在办公室环境使用(实际上声音相当大)。
最后,我添加了一些从Whatgeek购买的XDA高度键帽。这些键帽清晰好看,让键盘看起来很厚实。由于这块电路板是平的且为正交排列(即按键呈网格状排列,而非交错排列),使用不同高度的键帽会使按键安装到电路板上时呈现出奇怪的层次感。你不一定非要用XDA高度的键帽,因为这块电路板使用任何与Cherry MX兼容的键帽都能正常使用,所以任何数字小键盘的键帽都能适配。
二、焊接
首先我想说,我几乎没有焊接经验。我曾经通过将一个坏的Xbox 360 DVD驱动器的逻辑板换到一个好的驱动器上对其进行了维修,但那也只是焊接了4根线。而这个套件则完全是另一个难度级别,尽管我特意选择了一个小项目,但刚开始动手时还是很令人胆怯。
我从eBay上买了一个可以控制温度的便宜烙铁,因为有些组件(即底部的RGB LED灯)如果烙铁温度过高会融化。
在YouTube上看了一些关于焊接的教程后,我就开始动手了。Mechboards关于如何组装这个套件的说明非常清晰且有帮助,很高兴地说,最终成品还不算太糟。有些焊点看起来很粗糙,但总体来说,这是此类项目一次不错的初次尝试。
下一步是给电路板刷入QMK操作系统。
顺便提一下,在将控制器焊接到电路板之前,先给它刷入QMK系统通常是个好主意。这是因为偶尔可能会遇到有故障的电路板,而在焊接之后才发现这个问题会很麻烦。就我而言,我一开始就直接动手把所有东西都焊接好了。好在电路板没问题,一切都能正常工作。
三、刷入QMK固件
为了使用这个电路板,我需要给它刷入一个操作系统。事实证明,这是整个过程中最困难的一步。
以下说明是基于在Linux系统上使用QMK的情况。在其他操作系统上操作可能会有所不同。
首先,你要确保安装了正确的先决软件包Git和Python3 PIP。打开终端,输入以下命令:
sudo apt install -y git python3-pip
现在可以使用PIP为你的用户安装QMK了。
python3 -m pip install --user qmk
如果你还没有设置,你需要让用户的“~/.local/bin”目录可被系统路径访问。将以下代码行添加到你的bash配置文件中(将用户名替换为你自己的用户名):
export PATH="/home/myusername/.local/bin:$PATH"
完成上述设置后,你就可以运行QMK设置程序了。
qmk setup
这将把QMK固件安装到你电脑的“~/qmk_firmware/”目录下,安装脚本还会为你安装一堆系统依赖项。在我的系统上,这花了大约10分钟才完成。
完成后,你应该能够在终端中运行“qmk”命令,并看到一些帮助信息。
要查看可用的键盘列表,你可以运行“qmk list - keyboards”命令,在这个庞大的键盘列表中,你应该能看到romac_plus键盘。该键盘的源代码将保存在“~/qmk_firmware/keyboards/kingly_keys/romac_plus”目录下,我们现在可以用这个来给键盘刷机。
由于我选择了Elite Pi,我需要对键盘文件进行一些修改,以确保它们能正常工作。这意味着刷机时我必须使用CONVERT_TO参数,值设为“elite_pi”。
以下是将固件刷入键盘的命令:
qmk flash -c -kb kingly_keys/romac_plus -km default -e CONVERT_TO=elite_pi
完成后,你应该会在OLED屏幕上看到“Let's build something together!”字样。现在所有按键都能正常执行相应操作了,数字键会输入数字,旋转编码器可以控制音量。按下旋转编码器还可以进入第二层按键,这样你可以通过6和9键下方的按键来实现翻页功能。
如果你想再次刷机,只需再次运行相同的命令,但这次你需要按下电路板前端的小“复位”开关。我发现最好的操作方法是双击这个按钮。
我注意到一个问题,旋转编码器虽然能正常工作,但在QMK库中的代码里它的功能是反的。向左旋转会增大音量,向右旋转会减小音量。
查看了一会儿源代码后,我找出了问题所在。看起来A和B引脚接反了,这意味着它们向电脑发送的指令是相反的。这是在QMK仓库中“kingly_keys/romac_plus”目录下的“info.json”文件中定义的。
"encoder": {
"rotary": [
{"pin_a": "B3", "pin_b": "B2"}
]
},
为了解决这个问题,我编辑了文件并交换了这些值。
"encoder": {
"rotary": [
{"pin_a": "B2", "pin_b": "B3"}
]
},
再次刷机后,旋转编码器的功能就正常了。向左旋转旋钮会减小音量,反之亦然。
我还很快学会了如何更改LED屏幕上的文字,然后把它改成了更符合我风格的内容。
我们在这里下载的是Github上的QMK固件包,RoMac plus的固件可以在该仓库的键盘部分找到。这个目录包含以下文件:
- config.h - 用于配置电路板的一些全局选项。
- info.json - 提供了电路板上可用按键的矩阵,以及电路板可能有的其他引脚和配件的信息。
- rules.mk - QMK构建系统的配置文件。它允许更改一些选项,以控制QMK固件的编译方式。
- keymaps/default/keymap.c - 在这里,电路板的按键被映射到info.json文件中的矩阵上。如果你想添加自定义宏并更改LED屏幕上的输出内容,就需要修改这个文件。
- keymaps/via/keymap.c和keymaps.via/rules.mk - 这些文件用于让键盘可以通过Via应用程序进行配置。
或者,你也可以选择使用QMK Configurator来配置你的键盘,但这会限制你只能使用该配置工具提供的功能。而且你还需要将下载的固件刷入你的设备。我更喜欢自己编写一些代码,因为这样可以完全控制电路板,并且可以轻松添加宏和其他功能。这就如同Drupal开发中,开发者可以根据自身需求自定义模块和功能,展现出强大的灵活性与自主性。
四、总结
这是一个很有趣的项目,套件和所有组件加起来只花了我大约30英镑。如果你想尝试焊接一些真正有用的东西,这个价格很划算。
佳达隆青轴和厚实的键帽带来的打字体验在这里其实不太重要,因为我一次只按一两个键。不过按下按键时的感觉还是很令人满足的。
一旦我熟悉了QMK,我就发现很容易开始对电路板的功能进行修改了。作为一名网页开发者,我职业生涯中写的C代码并不多,但熟悉语法后,只需查看QMK文档就能让这个小键盘实现我想要的功能。我只花了几分钟就通过按键让键盘输出了内容。我现在正在研究如何实现输出表情符号以及更复杂的操作,比如打出掀桌的表情包(╯°□°)╯︵ ┻━┻。这就如同在Drupal开发中,不断探索和挖掘系统的潜力,进行功能拓展和升级。
关于QMK系统有很多东西要学,我感觉自己只是触及了可定制键盘广阔世界的皮毛。我不会说这个过程很轻松,但我所做的修改都很合理,而且实现起来也相当简单。就像Drupal升级过程中,虽然会遇到一些挑战,但只要遵循规范和方法,就能顺利完成系统的更新和优化。
Mechboards提供的外壳也是个不错的设计(虽然它只是几块底板),这真的有助于完成整个项目。我原本有点希望能有一个能更好地保护组件的外壳,也许还能掩盖我糟糕的焊接技术,但它把电路板呈现得很好,放在我的桌子上很好看。电路板还配有一些LED灯,能让电路板更有色彩,好在这些灯是完全可选的,因为我在尝试安装它们时把它们弄坏了。不过,我已经从Mechboards网站上订购了一些替换件,很快会再试一次。
在研究这块电路板时,我发现RoMac板现在已经不再受官方支持了。开发这个产品的人似乎已经消失了,但至少他们创建的GitHub页面还能正常使用。好在这块电路板本身的工作方式比较通用,所以很容易修改QMK固件来实现你需要的功能。这让我联想到Drupal社区中,一些早期项目可能随着时间推移停止维护,但由于其开源特性和良好的架构设计,依然可以在Drupal11等新版本中找到适配和拓展的空间。
我建议去Mechboards的商店看看类似这样的套件,以及其他机械键盘配件。他们有各种各样的产品,包括键盘组件、特殊团购商品,甚至还有很多全尺寸键盘可供选择。如果你不想自己焊接键盘,还可以使用他们的“套件组装服务”,只需支付一小笔服务费,他们就能帮你组装好很多套件。


