「我是少数派,这是我的 2017」年度征文获奖作品

本文是「我是少数派,这是我的 2017」征文活动 获奖作品,你可以 点此查看 完整获奖名单。

本文仅代表作者本人观点,少数派仅对标题和排版略作调整。


本文参与少数派 2017 年度征文活动

之前跟朋友聊天时候提到了一个说法,键盘之于数字工作者就像文人手里的笔,剑客手里的剑。对于我们普通人来说,键盘虽然不是吃饭的玩意,也很可能是我们朝夕相处不可或缺的物件,甚至「玩物」。 笔者也曾是一个被机械键盘圈毒害,憧憬着四大神器的穷学生,但接触了人体工学键盘并在生产环境中使用之后,便深深为键盘的这个子概念着迷。

这篇文章我会从 Truly Ergonomic 开始,到过去一年里用过的 Ergodox 和 MD600,谈谈我自己在使用过程中的体验,结合一些比较简单的和键盘相关的工作流,聊聊我是怎么追求「人键合一」的。如果大家有建议或者新想法,欢迎指正和共同创作后续的内容。

缘起

刚开始关注键盘圈的时候,还是个百花齐放的年代,电容有 Topre,HHKB,机械有四大神器,Ducky 之类,薄膜也有富士通4725,Sun Type-6 之类,还有一众胶碗架构,ALPS 轴的产品可选,IBM Model M 也还能搞到(当然这些里面有一部分是洋垃圾……),当时最大的乐趣就是沉迷淘宝淘小众键盘。然而,最后买得起的用的最舒服最久的还是三星DT35,当时我比较感兴趣的是 Sun Type-6 键盘:

Sun Type-6 键盘,图 / deskthority
Sun Type-6 键盘,图 / deskthority

倒不是喜欢它的架构做工之类,而是它左边那两列按键,要是能 map 到魔兽3里的物品栏快捷键的话,魔兽 DOTA 上分不是轻轻松松。虽然最后因为要转接还不一定真能映射这些键而放弃。但当时就一直在想,要是键盘的键位能设计的更合理些,岂不是能大幅提升舒适度和生产力?正巧某天在网上看到了刚出不久的 Truly Ergonomic Keyboard:

Truly Ergonomic Keyboard-227 键,图 / trulyergonomic
Truly Ergonomic Keyboard-227 键,图 / trulyergonomic

我对于键盘的认识被深深的震撼了,这个键盘也成了我心中的梦想键盘。虽然后来也看到了一些诸如微软 Natural Ergonomic 键盘和 Kinesis 的人体工学键盘这些经典的人体工学键盘,但 Truly Ergonomic 的很多设计理念仍然更加吸引我,而多年以后女票送的 Truly Ergonomic Keyboard 也让我真的体会到了人体工学键盘的魅力。

结合我自己的体验,我会从三个角度聊聊人体工学键盘:硬件,相当于剑客手里的剑;理论和使用思路,也就是剑客的心法;配置和工作流,算是剑客的招式吧。

剑 - 硬件

对于一款键盘来说,我们通常聊得更多是硬件本身的设计,比如机械键盘的轴体,背光,键帽材质和整体做工之类。这些客观标准同样适用于人体工学键盘,硬件方案的选择和做工质量与使用寿命息息相关,不过关于各种轴体的好坏之类已经有很多文章讨论,所以以下并不会太关注这个方面。相对的,人体工学键盘特有的键位设计和键位映射的方便程度是这一节的主题。笔者 2017 年长期使用了包括之前购置的 Truly Ergonomic 和通过 Massdrop 搞到的 Whitefox(非人体工学键盘),Mistel Barocco MD600,和从官网买的 Ergodox EZ。这里就聊聊其中三个人体工学键盘的体验。

Truly Ergonomic Keyboard

Truly Ergonomic Keyboard-227 键,图 / trulyergonomic
Truly Ergonomic Keyboard-227 键,图 / trulyergonomic

Truly Ergonomic Keyboard 是一款2010年左右发布的紧凑型的人体工学键盘,虽然市场上已经有微软 Natural Ergonomic 键盘和 Kinesis Advantage 等很多经典产品,但 TEK 的紧凑型设计,合理的键位布局,方便的键位映射都使得它成为了聊起人体工学键盘时不得不提的一款产品。笔者的 TEK 购于 2015 年,重度使用约两年。

硬件方案

这款键盘是一款机械键盘,早起产品使用 Cherry MX 茶轴,后来换成了凯华茶轴,键帽是 ABS 材质,一部分键是丝网印刷,一部分是激光刻印。

轴和键帽,图 / trulyergonomic
轴和键帽,图 / trulyergonomic

除了键盘本体之外还附送了腕托。

腕托,图 / trulyergonomic
腕托,图 / trulyergonomic

整个键盘做工非常可靠,没有歪轴,键帽无毛刺,接缝处没有不均匀缝隙,腕托固定后十分稳固,连接线也很粗,相对较软,是我使用过的键盘里做工最靠谱的了。唯一不完美的可能就是轴的寿命,在使用两年后,有个别键出现不灵的情况(我的是凯华轴版本)。

键位设计

键位设计是 TEK 的一大卖点。首先是紧凑对称设计,双手可以以相同的姿势放到键盘上,节省的空间可以留给鼠标,使切换操作鼠标时不用有太长的移动距离。

紧凑设计,图 / trulyergonomic
紧凑设计,图 / trulyergonomic

第二就是键位的列排列,不同于传统键盘的列排列:

传统键盘列排列,图 / trulyergonomic
传统键盘列排列,图 / trulyergonomic

也不同于普通人体工学键盘:

微软人体工学键盘列排列,图 / trulyergonomic
微软人体工学键盘列排列,图 / trulyergonomic

TEK 使用了类似 Kinesis Advantage 的列排列:

Truly Ergonomic Keyboard的列排列,图 / trulyergonomic
Truly Ergonomic Keyboard的列排列,图 / trulyergonomic

这样就一定程度上避免了操作键盘时的别扭姿势,

姿势对比,图 / trulyergonomic
姿势对比,图 / trulyergonomic

虽然实际使用中平行的列键位并没有感觉到特别大的差别(因为我使用普通键盘的姿势并不是左图那样而是有一定的倾斜),并且有一定的入门曲线,但适应了之后确实会让前臂和手腕比较放松。再看键位设计,由于大多数键盘的字母区的排列都是固定的,人体工学键盘在键位设计上区别于普通键盘的主要是修饰键(modifier key)和一些功能键的排布。

Truly Ergonomic 键盘的功能键位置变化,图 / trulyergonomic
Truly Ergonomic 键盘的功能键位置变化,图 / trulyergonomic

相对于普通键盘,Truly Ergonomic 首先把字母区分离成左右两半,并形成一定角度,以求更加贴合前臂的自然角度,并在两半中间插入一列功能键。同时空格键也被分成两个,并可以对每个空格进行单独的功能指定。

此外,在左右空格与 alt 键之间分别插入了翻页和方向键各四个键。而从操作性上看,由于人手自然放置时多是由拇指和小指负责修饰键,因此,拇指和小指区域的键位设计对一个人体工学键盘的操作效率至关重要。

Truly Ergonomic 对小指区域并没有太大改变(左下角alt键如果不移动手掌就需要较大幅弯曲小指或用手掌边缘来按,所以并没有包括在这个小指区域),而在拇指区域,四个按键大致形成一个弧形,都能通过非常自然的姿势按到。实际体验中感觉很好,拇指可以按到的修饰键数量足够,而且位置也比较合理。

拇指和小指按键区域,图 / trulyergonomic
拇指和小指按键区域,图 / trulyergonomic

总体来说,Truly Ergonomic 键盘的做工用料都相当可靠,键位布局紧凑,设计合理,熟练使用后能够明显感受到其人体工学设计的用心,从硬件角度看是一款相当经典的人体工学键盘,十分推荐。

键位映射

硬件部分之后就是键位映射方式了,现在各种人体工学键盘大多都使用不同( Ergodox 系使用的通用开源固件算是开了个好头)。Truly ergonomic 键盘通过调节键盘背面的一系列开关可以切换一些默认键位或者进入固件升级模式刷入新的键位映射。

键盘背部开关,图 / trulyergonomic
键盘背部开关,图 / trulyergonomic

官网提供了一个在线键位定义界面,可以对每个键指定任意的单独功能,并提供至多 6 个按键层,每个按键层可以有不同的功能。

键位自定义界面,图 / trulyergonomic
键位自定义界面,图 / trulyergonomic

Truly Ergonomic 的键位映射工具非常方便,刷入新键位固件也很快,实际体验相当友好可靠。虽然不提供固件层面的双功能键设置(即按下时出发功能一[如 ctrl],而点击时出发功能二[如 esc]),单整套键位自定义流程我还是给打 90 分。

小结

综合软硬件设计,Truly Ergonomic 键盘给人的感觉就是「重剑无锋,大巧不工」,虽然没有炫目的背光,也没有其它人体工学键盘奇异的造型,但做工扎实可靠,键位设计合理,上手也相对较快(大概正常使用一周即可完全适应),可以说是配置于生产环境的不二之选。

Ergodox

Ergodox 键盘,图 / Ergodox
Ergodox 键盘,图 / Ergodox

Ergodox 本身是一个开源的 DIY 键盘项目,包括硬件,软件部分全部开源。你可以自己找各种配件组装,也可以购买成套的 DIY Kit,还有一些商业化可购买的版本,包括 Ergodox EZ 和 Infinite Ergodox 等等,还有更加激进的改版 DACTYL 等。笔者为 2017 年购买的 Ergodox EZ 完整版键盘,使用约一年,以下的体验均基于这个版本。

硬件方案

由于 Ergodox 为完全开源方案,如果考虑自己组装可以选择各种配件方案,包括轴可以选择不同的 cherry 轴,gateron 轴等等,键盘基座也可以通过切割亚克力板,3D 打印甚至金属 CNC 等等各种方式制造,因此用料做工无法一概而论。

单论 Ergodox EZ 版的话,键盘基座为塑料,轴可选各种 cherry 轴,键帽无刻版为 PBT 材质,有刻版为 ABS,支脚为金属制并带橡胶帽。整体做工过关,没有出现歪轴,但个别键帽有些许毛刺,基座个别缝隙不均匀,支脚十分稳定,但需要使用六角螺丝刀自行调节和紧固。连接线质量不错,但链接分体键盘的线为类似耳机线的 TRRS线,感觉相对 usb 线而言有点松,偶尔有解除不良的问题。单论 Ergodox EZ,可以说用料做工都算良好。

键位设计

键位设计是 Ergodox 的重头戏,它是由 Dox (Dominic Beauchamp)受 Key64 键盘和 Kinesis advantage 键盘启发设计的列平行式人体工学键盘。

Key64 键盘,图 / Key64
Key64 键盘,图 / Key64

Ergodox的主要理念包括分体式设计,拇指键区扩展以及列平行设计。主要功能键的位置变化为下图中的蓝色和黄色区域,蓝色区域为扩展的拇指键区,黄色区域为分离字母区之后补足的两列功能键。

Ergodox 的功能键位置变化,图 / Ergodox
Ergodox 的功能键位置变化,图 / Ergodox

这样的设计,能使人手自然姿势下拇指在左边空格位置,食指正好在字母区 D 或 F 位置。这样,在不移动手掌的情况下,拇指可以轻松按到的范围扩展到弧形排列的 5 个按键,多于普通键盘的 3 个(Win/CMD 键,alt 键和空格)和 Truly Ergonomic 键盘的 4 个,如果合理分配键位的话能够提升使用效率。

拇指和小指按键区域,图 / Ergodox-EZ
拇指和小指按键区域,图 / Ergodox-EZ

实际使用中可以感觉到这种设计在保证人体工学的前提下提供了尽量多的自定义自由度,是追求极致自由的人体工学键盘爱好者们的福音。

键位映射

Ergodox 可以通过 USB 读写内部的 Teensy 控制芯片达到更改键位映射的目的。Ergodox EZ 版提供了一套在线的 图形化键位编辑器

Ergodox EZ 的图形化键位编辑器,图 / Ergodox-EZ
Ergodox EZ 的图形化键位编辑器,图 / Ergodox-EZ

总体功能跟 Truly Ergonomic 键盘的键位编辑器差不错,使用都很方便,不过很重要的改进是添加了 Truly Ergonomic 键盘所缺少的双功能键指定,这里可以指定某个按键在长按时触发功能一,在点击时触发功能二。(为什么这项功能这么重要会在下文中使用思路部分细说)

小结

从各方面来看,Ergodox 可谓是「十八般武艺,样样精通」,可以说只要你需要的功能,在 Ergodox 上都能找到。不过相应地,多样的功能也造就了它相对较大的体型(接近普通 104 键盘)和稍抖的入门曲线(功能键位置改变太多了,需要记忆和适应)。总体来说,它可以说把键盘的人体工学特性发挥到一个相当高的层次,即使是很硬核的需求,选它也不会错。

Mistel Barocco MD600

Mistel Barocco MD600,图 / mistelkeyboard
Mistel Barocco MD600,图 / mistelkeyboard

这款键盘并不是一款经典的或者常见的人体工学键盘,而仅仅是一款分体式键盘。这里可能也会造成一些误解,分体式键盘和人体工学键盘的概念怎样区分。很难说键盘分裂了就一定符合人体工学,但我认为合适的分体方式和全键盘可编程给使用者提供的可调整使用姿势也是键盘走向人体工学的重要一步,因此这里我也把这款键盘算作人体工学键盘。笔者的 MD600 于2017年购置于 Massdrop,用于替换轴接触不灵的 Truly Ergonomic 键盘,已使用约一年。

硬件方案

这款键盘和普通机械键盘硬件方案无异,Cherry 轴,所料基座,内置钢板,PBT键帽。做工不错,没有歪轴,接缝均匀,个别键帽有毛刺,双色注塑键帽很厚实,透光效果也非常好,分体部分连接线使用 micro usb,很好替换,连接也比 Ergodox EZ 的 TRRS 要紧一些。

键位设计

Mistel MD600 键位,图 / mistelkeyboard
Mistel MD600 键位,图 / mistelkeyboard

这款键盘的键位设计和普通键盘并无明显不同,只是把普通键盘配列在 5TGB 这一列右边断开,同时将空格也分成两段,由于键盘原始配列并非对称,因此两块分体键盘右边比左边稍大,同时它还可以将两部分拼起来形成一个正常的紧凑型 60% 键盘。如前文所述,普通键盘配列的拇指区域只有空格,Win/CMD,alt 三个键,所以可自定义空间相对其它两款键盘较小。

键位映射

这款键盘最特别的一点就是它的键位映射方式,上文两款键盘都是通过软件更改并刷入新固件替换原有键位配列,而 MD600 是完全通过键盘本身来操作。按下 Fn 和右 Ctrl 进入键位编程模式,设定完毕之后再按这两个键退出,新的键位立即生效,相当方便快捷,甚至可以在使用过程中想换某个键就迅速设置完成继续工作。唯一不足也就是不支持双功能键。不过下文会给出一些解决方案。

小结

一句话形容 MD600 就是「天下武功,唯快不破」,使用正常键盘配列基本没有上手门槛,只要熟练普通键盘盲打就可以上手即用,直接通过键盘操作更改键位也是异常快捷和好用,不用进入刷机模式,不用在软件界面里一个一个点,新的更改也是建立在之前的更改基础之上,可以渐进性的改动(另外两款键盘在软件界面中改动需要保存上次的改动,如果忘记保存就只能从已保存的状态开始改)。MD600 可以说是上手快,使用快,改键快,就突出一个「快」字,如果你不想花时间去适应特殊配列的人体工学键盘,那么选他没错。

硬件部分总结

2017年我使用过的人体工学键盘就是这三个,新的一年当然也有很多新东西想要尝试,包括 Ergodox 的变体Dactyl,经典的 Kinesis Advantage 2,看起来很艺术的 Keyboardio,当然还有逐渐开始发货的 Ultimate Hacking Keyboard。如果有幸能接触到这些新东西一定会 po 新的使用体验出来。

硬件是人通过键盘输入时候直接去解除的媒介,好的人体工学键盘需要合理的硬件设计来实现,同时,好的键位映射方式也能极大方便用户自定义键位,带来更高的效率和更好的使用体验。不过现在的硬件缺的可能是对个体差异的适应,人体工学还是要以人为本,不同个体的手掌大小,使用习惯的不同也需要不同的硬件来适应。这也就是人体工学的初衷:把人适应机器编程机器适应人。

当然要针对个体制造在现阶段比较困难,不过随着3D打印的普及,可能在不远的将来这就不再是梦。另外,如果大家想了解更多的人体工学键盘的体验,评测,信息之类,可以时常关注下 Massdrop 卖的部分键盘,Geekhack 里的讨论和新设计,当然还有 杀老师的人体工学键盘评测页面。我也希望能认识更多的爱好者,一起玩。

心法 - 使用思路

有了器,还得有术,也就是使用方法。不过,在谈论具体怎么做之前我们可以先想想形而上的东西,就是人体工学键盘提供给我们什么,我们又需要什么。而且这些思路并不仅仅适用于人体工学键盘,普通键盘搭配合适的使用思路同样能用起来更舒服更搞笑。不过以下仅为本人收集思考整理的结果,并非最优解,大家可以根据自己的需求来制定更好的思路。

人体工学提供给我们什么

人体工学键盘相对于普通键盘提供给我们的是更多的自由度,包括分体键盘使用姿势的自由,更多功能键在搭配上的自由,更合理的按键位置使我们能使用更多组合键的自由等。

首先,字母区配列可以更改,比如可以将原有的 QWERTY 配列改为 DVORAK 或者 COLEMAK 配列等等,笔者只用过 QWERTY 配列,所以并没有更深的见解,欢迎大家指点。

其次,功能键和组合键的使用,在上文介绍人体工学键盘硬件的时候我都会把每个键盘的拇指和小指覆盖区域画出来,这是因为我们在按组合键的时候往往是通过小指和拇指来按修饰键(Modifier key),再通过其它手指来按对应的组合键。所以这个区域越大,我们就有越多的组合键可以轻松地按到。综合使用和优化这些自由度,我们就可以实现又高效又舒服的键盘操作。

我们需要什么

1.合适的键位指定

关于键位指定,我想大家在平时使用过程中都会或多或少地注意到,一个很典型的例子就是:普通键盘左下角的Ctrl 究竟该怎么按?弯曲小指去按?很别扭。拇指去按?也很别扭。移动手掌去按?用得多了又会很累,而 Ctrl 可以说使我们最常用的修饰键了(比如复制粘贴大法)。

所以很多人推荐(尤其是 Vim 和 Emacs 圈的)把 Ctrl 和 Capslock 互换,这样用小指就能轻松按到 Ctrl。通过这个例子我们可以注意到,我们按键最舒服的莫过于手指默认位置 ASDF 这一行了。所以把 Capslock 这个黄金位置替换成最常用的 Ctrl 也就合情合理了。

再进一步,还有一个键是我们非常常用的,就是 ESC 键(Vim 用户应该会深有感触,不然也不会去弄 fd 这样的快捷键了),那我们把 ESC 也放这里怎么样?额,一看就冲突了呀,一个键两个功能怎么行?仔细一想 Ctrl 是修饰键,需要长按,ESC 是功能键,需要点击,那是不是有办法把这俩结合起来点击时候触发 ESC,长按时候触发Ctrl 呢?

当然,上文说过 Ergodox 能从固件层面定义双功能键,这当然一步到位了,对于其他键盘呢,其实 Linux 下可以通过 xcape,MacOS 下通过 Karabiner 或者 Keyboard Maestro 就可以轻松定义双功能键。利用这个思路,我通常还会把左空格重定义为「空格/Win/CMD)」或者「空格/Alt」。当然这一套并不是我一拍脑门想出来的,原出处在这里:A Modern Space Cadet,其中还提供了更多的技巧,包括 Shift 键相关的映射,和输入特殊符号等。

以下附上我的 Truly Ergonomic 键位和 Ergodox 键位:

我的Truly Ergonomic键位
我的Truly Ergonomic键位

下图是keyboard maestro里实现ctrl/esc双功能键方法:

我的keyboard maestro配置
我的keyboard maestro配置

2.高效的系统使用习惯

当然,系统使用习惯跟个人使用的操作系统,还有长年累月的使用方式息息相关,比如 windows 用户习惯 Alt+Tab 切换程序,Linux 用户可能会使用 workspace 切换等等。所以哪种习惯更适合你需要自行判断。就我个人体验来看,我会推荐以下几种操作习惯:

使用Workspace组织窗口

这个习惯是使用 i3wm 之后意识到的,具体方式为将系统操作界面分成 n 层也就是 n 个 workspace,通过Hyper/CMD+数字的快捷键切换各个 workspace,并将各个应用设置默认 workspace 并平铺最大化。这样的好处是,在每个 workspace 都没有空间浪费,切换 workspace 速度快,失误少(相对Alt+Tab)。如果有兴趣请移步 i3wm 或者各种 Tiling Windows Manager 的主页。

使用快捷应用入口

快捷应用入口我这里其实指的是 Windows 下的 Wox,Linux 下的 Rofi,MacOS 下的 Alfred,Lacona 这种软件,通过随时调出快捷窗口并通过纯键盘指令打开新应用,快捷方便,而且手不用离开键盘。当然,通过这些入口能做的事情还有很多。

Lacona,图 / Lacona
Lacona,图 / Lacona

高频应用映射为全局快捷键

这个估计大家都知道,但可能用到的却不多,对于我来说最常用的就是 Drop down 的 Terminal 窗口,把它的快捷键映射为 Alt+Space,在 ergodox 上只要同时按两边的空格就能直接调出浮动式 Terminal,且不影响其它窗口。

Drop down terminal
Drop down terminal

3.高效的编辑习惯

说不定这里又要引战 Vim 和 Emacs 粉丝了哈哈……其实我想说的并不是一定要选择哪一个,而是挑一个你喜欢的,用起来顺手的编辑习惯,像 Vim 的 Modal editing 或者 Emacs 的快捷键式的。之后将这些编辑习惯推广到尽量多的其它软件中,包括但不限于,Terminal emulator,IDE 甚至文档阅览器和网页浏览器中,这样能够很大程度上提升效率。就个人来说,我使用的编辑器是 Spacemacs,方案是 Vim 的操作习惯加上一些 Spacemacs 特有的操作。

Spacemacs
Spacemacs

招式 - 配置和工作流

根据上一节所提到的使用思路,在不同的操作系统下我们都可以找到相应的软件来实现。在Linux下,workspace功能通过窗口管理器i3wm实现,

我的i3wm界面
我的i3wm界面

额外的键位指定通过 xcape,快捷应用入口 rofi,

rofi,图 / rofi
rofi,图 / rofi

drop down terminal 等都在 i3wm 的 config 里面设置,举例如下:

我的部分i3wm配置
我的部分i3wm配置

此外,文本编辑器使用 spacemacs,pdf viewer 使用 zathura,Chrome 安装插件 Surfing Keys,JetBrains 的 IDE 中配置 spacemacs的 keymapping(origamidance/SpaceClion)即可使用一套操作习惯处理不同任务。在 MacOS 下,workspace 功能使用系统自带的 mission control 功能,并将快捷键映射为CMD+数字,

MacOS Mission Control,图 / Apple
MacOS Mission Control,图 / Apple

快捷应用入口使用 Lacona,通过 Keyboard Maestro 实现双功能键定义,使用 iTerm2 实现Drop down terminal。在 Windows 10 下,使用系统自带多桌面座位 workspace,

Windows 10 切换虚拟桌面
Windows 10 切换虚拟桌面

使用 Wox 作为快捷应用入口,

Wox
Wox

并使用 AutoHotKey 指定快捷键。笔者对 Windows 相关设置经验较少,更多 Windows 下的实现方式还望大家指出。

总结

还是那句话,我们努力调试的目标还是为了让机器来适应人,从而达到让使用者更舒服更高效的人体工学理念,这样才能「人键合一」。现在看来,不论硬件和软件,人体工学键盘都在逐渐向着更合理更完善发展。希望大家能够从本文中得到启发,如有错误或遗漏还望大家指出。如果大家对像人体工学键盘这样有趣的玩物也有兴趣,欢迎留言,我们一起玩。


题图:Ergodox-EZ