跳到主要内容

适配 macOS 系统的机械键盘

· 阅读需 14 分钟
sqybi
Software Developer @ Metabit

事先声明:本文不含广告,但是我还挺想有朝一日能拿到广告费的。

大概一个月之前,我刚刚从之前工作了七年多的公司离职,换到了一个新的行业,开始新的工作。

正因为这样,最近各种事情也都在刚刚上手的阶段,需要学习的东西很多。作为一个假装成 E 人的 I 人,社交压力也是不小的。加之生活里好多之前的同事朋友们都想和我聊聊,自己也在找房,所以确实没什么时间更新博客,就连四月上旬去日本的照片到现在为止也只修了几张

一转眼就已经是 3 开头的日期了,为了避免五月份开空窗,我还是决定水一篇文章。

(既然你已经点进来了,我就不得不诚挚地告诉你:如果你没有遇到和我一样的问题,那么这篇文章真的很水。)

苹果好,人坏

因为毕业就去了微软,所以其实我一开始在工作中接触的编程环境就是纯纯的 Windows + Visual Studio。而作为一个竞赛生,Linux 自然也是很早就玩过的。但直到入职谷歌以后,我才第一次拿到了一台 MacBook,也是第一次用上了 macOS 系统。

不得不说,其实当年的 macOS 还真挺适合程序员的:不像那时的 Windows 一样连命令行用起来都费劲,也不像那时的 Linux 一样只要用上了 X 就能遇到一万个 bug。更别提那时的 Windows 连 Powershell 都没有搞好,而 Linux 发行版即使不用图形界面,一样会碰到各种令人头疼的问题——如果有当年用 Arch Linux 的朋友一定会记得它所谓的滚动更新,实则如果几个月不更新突然更新了一次,等待你的大概率就是重装了。

反观 macOS 系统,一方面有着还算稳定的 GUI 体验,另一方面也有 shell 可以用,至少跑个 git 跑个 SSH 不成什么问题。作为一个开发终端,这真是再合适不过了。

花开两朵,各表一枝。除了电脑,键盘也是程序员工作的重要组成部分,我自己也早早地拥有了几把机械键盘。不过那个时候机械键盘的市场还不太成熟,市面上好用的的机械键盘还是以 Cherry 和 FILCO 为主,所以当初也没怎么考虑过 Mac 和 Windows 快捷键区别的问题。虽然体感上确实不好用,但反正都是凑合用呗。

而这个时候,互联网上对苹果产品普遍贴的标签还是:封闭,但好用。那时还在世的乔布斯,也正是最被神化的时候。加之前面说的,Windows 和 Linux 确实在某些方面还不太给力,所以大部分人也都很随波逐流。macOS 即使不好用也不是苹果的问题,肯定是“我”的问题。苹果好,人坏!

后来离开了谷歌,新公司的开发机和线上环境都是 Ubuntu 系统。而那几年正好也是 Ubuntu 的桌面环境发力的日子,在工作和生活的压力下,失去了很多业余时间地我,也就顺理成章地抛弃了之前那些 geek 的坚持,转投当年最看不起的 Ubuntu 系统——你还别说,用着还真挺舒服。虽然小问题很多,但是相比前几年已经是很能用的状态了。

再后来,因为转到管理岗,所以我在公司的开发机和笔记本又装回了 Windows 系统。而这时 Windows 开始推出 WSL = Windows Subsystem Linux,不得不说这个东西真的把 Windows 变成了一个开箱即用的开发环境,是这几年 Windows 让我最爽的一次改动了。

慢慢地,或许是因为和政府部门跟国企对接导致打开 Word 的次数逐渐增多,我在公司打开 Linux 的次数逐渐减少。而在家里,自从电脑换了主板之后 Linux 没有网卡驱动开始,我也就再也没有重新打开过它,所有 coding 都直接用 VSCode 和 WSL 下的 SSH,连接到家里的另一台 Linux 服务器完成。但不管是 Linux 还是 Windows,不得不说它们的使用体验还是很一致的,切换也很丝滑,偶尔因为什么原因切回 Linux 也不会用着不顺手。

接下来的几年里,时间就像停滞了一样。每天都在做着差不多的事,也没有什么热情再去折腾和尝试不同的操作系统。直到最近,我终于结束了这份持续时间长到我从来都没有想象过的工作,来到了一家新的公司,开启了一段新的人生,也又一次拿到了一台 MacBook。

而这七年间,机械键盘的市场也发生了翻天覆地的变化。

苹果坏,键盘也坏

要说最近几年的机械键盘市场,最明显的转变就是:Cherry 和 FILCO 两个老牌厂商不行了,国产机械键盘厂商在压低价格的同时,把机械键盘玩出了花,也越来越模糊了客制化键盘这个小圈子和量产键盘之间的界限。

之前奉 Cherry 的青轴茶轴红轴为圭臬的人们,也开始发现原来键盘的轴体可以更加好用,更加好听,甚至更加好看。而各种新的配列设计,新的键帽材质,各种个性化的设计,也无一不在吸引着更多机械键盘的新老玩家入坑回坑。更重要的是,这一切都比之前还要便宜得多。

当然,Cherry 的几款键盘依旧在高端领域有着一席之地,但早已不是当初一手遮天的状态了。

而这也像苹果公司在这几年的变化:人们慢慢发现,即使是苹果的产品,也远没有达到完美,甚至问题很多。但在走下神坛的同时,它也凭借着自己的特点和优势,一直在市场上安居一隅。

回到正题,现在我的状态就是:I have a MacBook, I have a keyboard.

当我把它们插到一起的时候——

干,明明在系统里切换了 F 区键位的功能,默认为 F1-F12 而不是多媒体键了,甚至已经在笔记本键盘上生效了,可我的外接键盘怎么还是反的啊!

我当时使用的键盘是 VGN S99 阿尼亚轴,无论从外观还是轴体上,我都还挺喜欢这块键盘的,而这块键盘自己也宣称“支持 macOS”。但作为程序员,每次 F 区的按键都要加上 Fn 一起按,实在是没法忍受。

四处求索,我终于在 V2EX 上看到了这样的解答:苹果的 F 区和功能键甚至 Fn 键的软件触发方式确实和 Windows 键盘不太一样,但这并不是导致 F 区不能互换的原因;真实原因是只有官方认证的键盘支持 F 区键位互换的功能,其他键盘的 code 被苹果屏蔽了,而有些键盘则可以通过模拟官方键盘的 code 来达到触发换位的效果。

虽然我也没有验证这个说法的真假,但是苹果对官方键盘和第三方键盘有区别对待看起来是坐实了的。虽然苹果坏,但是手头的键盘也坏了啊!

寻找合适的键盘

最开始的时候,我还抱着一丝希望,想用 Karabiner-Elements 这个据说在 Mac 上万能的改键软件来拯救手里的键盘。

但是不知道是键盘的问题还是软件的问题,我发现确实部分键位是可以通过这个软件互换的,准确地说是 F6 - F12。但是 F1 - F5 的键位,却根本没有办法找到对应的触发按键配置。

因为工作也挺忙的,能折腾的时间并不多,而每天都要把手粘在 Fn 上,却是实实在在的效率损失。思前想后,还是决定干脆用公司入职发放的 Productivity Boost 报销额度,给自己换一块新的键盘,也算是正确使用方式了吧。

最开始的时候,有考虑过购买客制化键盘。咨询了一下身边的朋友,就发现了几个和我的需求冲突很大的问题:

  • 因为需要报销,所以必然要找可以开发票的地方购买。但是客制化键盘的官方发售途径通常都会很快被抢光,越是有名且稳定的键盘型号越是如此,这些品控和手感上确定没有问题的键盘,完全没有办法以能开出发票的形式买到。
  • 而那些能买到现货的键盘,则大部分都是一些名不见经传的品牌和型号。而且绝大部分客制化键盘都是售出不退的,万一买到一块不喜欢的键盘,金钱花费还是其次,时间成本才是更大的问题:这意味着可能又要一两个礼拜没有合适的键盘用了。
  • 虽然大部分客制化键盘看起来都支持 QMK / VIA,而从网上的信息来看,QMK / VIA 也是肯定能完成 Mac 下 F 区改键的,但是很多客制化键盘的售前咨询几乎等于零。万一买到一块不支持的键盘,基本就是买了一块废铁了——或者说是废铝。
  • 客制化键盘大部分都需要手动组装,甚至有一些还需要焊接,但是产品界面通常不会明确的写出组装方式。对于没有从零开始组装过客制化键盘的我来说,在急着用上的情况下,花这么多时间研究也不太值得。

综合来看,客制化键盘相比一个生产力工具,更像是一个玩具。如果闲下来了玩玩自然是好的,但是想要即插即用,恐怕不太合适。

最终,我还是把目光投向了市场上的一些特殊品类:可以一定程度上客制化的量产键盘。

我的解决方案:NuPhy Halo96

首先重复一次,这不是广告,这不是广告。

我并没有花很多时间调研这个市场,所以可能还会有一些比这个键盘更好的选择。或者说,本来选键盘就是一个相当因人而异的事情,每个人都有自己的喜好,十年前那个只要退烧就是 FILCO 和 Cherry 的市场才不太正常。

我之所以分享这个键盘,也只是想给和我遇到了同样问题的朋友一个快速的解决方案,至少也是一个解决的方向,不用花太多时间去自己查找。虽然这个博客也没啥人评论,但是我也很欢迎有不同方案的朋友来分享一下你们的键盘,有机会我也会买来试一试。

先说重点:NuPhy 的 Air 系列和 Halo 系列产品,都是可以满足上述 F 区键位互换要求的。

而 Air 系列的优点在于它是支持 QMK / VIA 的,也就是可以更灵活的改键。但是对于我来说缺点在于,它是一块矮轴键盘——我的手指力气还是有点大的,提前触底恐怕手会吃不消。

反观 Halo 系列,购买的过程就体现出这种量产键盘的优势了。我简单咨询了一下客服,而客服非常专业地表示这款键盘虽然使用的是 NuPhy 自己的改键软件,但是本身就是可以完美适配 macOS 的,F 区互换也一定没问题。而且作为一个量产产品,它还有一个客制化键盘从来都没有的优势:七天无理由退货!客服甚至明确表示,如果不放心的话可以先买回去用用,万一不行还可以退回来,有运费险呢。

最终,我选择了 Halo 系列下自己最习惯的 96% 配列,也就是牺牲一部分 Insert 区的功能键但保留小键盘的配列。而轴体上我其实是不小心选错了,买了冷翠蔷薇轴。这是一款段落轴,而我其实从阿米洛的静电容机械轴开始就退烧了段落轴,一直都是更喜欢线性轴的。

键盘到手之后,第一件事就是试试 F 区,结果也非常完美。只要在系统里打开更换 F 区功能的选项,这块键盘也就随之换了过来。

但是用了几分钟,我就发现了轴体的不对劲,也是这个时候才发现自己选错了轴。而这款冷翠蔷薇轴……怎么说呢,即使在线性轴里,在我看来也可以算得上是“垃圾”的级别了。段落触发非常早,几乎就在按下的一瞬间。而只要你的按键过程不是 100% 直上直下的,那么就很大概率会在下落的时候被卡一下。在我还没有熟悉这块键盘的时候,感觉至少有 5% 左右的几率在按键时会触底失败而没有触发按键。

而更加难受的是,这块键盘除了空格以外,即使是功能键也使用了这款轴体,这就导致类似于 Cmd + Opt + X 这种组合键的触发失败几率大大升高。当然,这块键盘的空格键手感是相当不错的,这点倒是可以夸一夸。

不过这个时候,就体现出这种披着客制化键盘外皮的量产键盘带来的优势了。这块键盘和很多现在的国产量产键盘一样,都是可以换轴的!

而在我写下这篇文章的时候,新的轴体和键帽已经在路上了,我也终于即将结束这长达一个月的忍受,用上舒服的键盘和键位了。

至于之前的 VGN S99 阿尼亚轴键盘——不得不说阿尼亚轴实在太舒服了,所以我已经拿回家插在我的 Windows 系统上,替代掉了家里的 SKN 青龙 4.0。

而拆下来的青龙,除了准备打游戏时换上以外,我也有点想换给我家里那台服务器做被用键盘,而服务器上插着的那块阿米洛森灵草木绿轴,就只好找机会出掉。

以我通常的操作,这块阿米洛的键盘大概会在某个熟人或者公司二手群里被我以低于闲鱼的价格出掉。虽然我确实也没有在博客上卖东西的打算,不过如果你真的是一个能看完这么无聊文章的人,又恰好是我认识的熟人,同时也想要这块键盘,不如就偷偷在评论里或者私下敲我一下。因为这也是一种缘分,所以说不定你受键盘之灵祝福,能拿到更低的价格呢。