说说ErgoDox人体工学键盘
一周前键盘鸟枪换炮,升级成了分体式、可编程的人体工学键盘Ergodox EZ。这篇就来谈谈一周来的使用体会和心得。
键盘缘起
其实我一直不太理解机械键盘有什么好。这次升级,诉求主要还是来自人体工学的方面。总结起来一共两点:一是想要换一个分体式设计的键盘。这样双手和胳膊可以调整开幅,与肩同宽。工作起来姿势会自然和舒服很多。二是想要把控制键(Ctrl,Command之类)挪个位置,由拇指进行控制键的操作。因为标准键盘的控制键键位集中在了左下和右下方,快捷键按多了以后手腕会不舒服。
经过一番研究和筛选,把目标集中在了Kinesis Advantage2和ErgoDox EZ这两个键盘选择上。价位上两者差不多。功能和设计上,看了一些评测:前者的弧度设计算是加分,而后者由于是左右手两块键盘,便携性胜出。再加上软硬件开源,有一定的可玩度。朋友也在两者之间推荐后者,于是就毫不犹豫的选了。由于Ergodox EZ购买时允许定制,在配置上选择了带LED背光的Glow版本,外加Kailh Copper键轴和与LED背光兼容的PBT键帽。
一周总结
购买之前看评测,普遍都说由于键位的大幅改变,会有一定的适应门槛,大约一周左右输入速度可以恢复换键盘之前的水平。这和我一周下来的实际使用结果很一致。一周的时间,不仅仅是键位的简单适应,同时也是键位布局和输入习惯相互磨合和调整的过程。准确的说,应该是一个迭代的流程。迭代的产物就是键盘布局和键盘固件版本的持续更新。
上面这个图来自ErgoDox EZ提供的图形化键位编辑工具,里面的键位布局是目前为止我的最新版本。从版本号可以看到,大大小小版本一路变过来,也算是迭代了很多轮。从第一天使用时n次固件版本刷新,到现在一两天一次的版本更新。键位布局和使用习惯上趋于稳定。
不得不说,ErgoDox的使用需要学习曲线和时间成本。但在这一周的使用过程中,也让我对这个熟悉得不能在熟悉的设备有了新的认识和体会。不过在说务虚的认识和体会之前,让我先来说说关于键位布局的一些想法。
键位布局
ErgoDox EZ的新键盘里刷的是官方的键位布局。
看一下链接里的这个布局就不难体会陡峭的适应曲线。例如:Delete键从右手位换到了左手,虽然同为小指操作但在肌肉记忆上相去甚远;由于右手外侧键盘列数的减少,大量符号按键被安插到了不同的位置。比如,方向按键拆散为左右和上下,分列左右手。再比如=按键从右手最右方换到左手最左方。这两个例子里面默认的布局或许追求的是一种对称性,但它同时也打破了一种固有逻辑认知——方向按键不再是聚集在一个区域,加减号也不再彼此相邻。
不可避免的,用ErgoDox就要调整默认的官方键位布局。把键位布局尽可能改回传统键盘固然是一个思路,但同时又并不希望因此而失了人体工学布局的好处。正所谓不破不立,有时间折腾的话,趁此机会把QWERTY键盘布局改为Dvorak或Colemak抑或也是个不错的选择?我的选择是折中的——既希望能用比较平滑的方式过渡到新键盘,也想要有足够的试错可能学习新布局。改变QWERTY不在当前的考虑之列,因为那意味着适应控制和符号按键布局调整之外,还要去额外适应基本字母按键的布局改变。
在我的具体的键位选择上,大致经过了这样的迭代循环:
- 首先参考ErgoDox上其他用户的布局,以及Kinesis Advantage2的布局,选定了拇指区几个大的按键的摆放:空格、回车、Cmd和Backspace键
- 大致列了一下平时会用到的快捷键组合,然后在新键盘上体会按这些快捷键的手感,然后进行调整。这其中主要包括Linux命令行、MacOS、iTerm终端、Chrome浏览器、tmux和vim等
具体的调整原则有这么一些:
- 在可能的情况下确保第一直觉,这算是一种使用习惯上的向后兼容
- 对于那些不得不改变的键位:优先分配黄金键位给高频需求,同时也保证布局逻辑上的一致性。因为肌肉记忆固然重要,能借助一些原则推断出键位个人认为也是同样重要的
- 借助ErgoDox允许定义多个Layer的特点,把回车、删除、方向键等大量使用且位置改变较大的键,临时性的在独立的Layer中映射回原有的位置。这样在前期的键盘适应阶段,应急情况可以通过切换Layer,较快找到关键按键。(例如下图中的橙色标注部分)
实际使用效果上,第三条的panic free zone只在第一天起到了一点帮助。因为可编程键盘的带来的便利性,绝不是传统方式上的人来适应键盘,而像一种双向的迭代和适应。直觉操作上觉得键应该在什么地方,就可以刷新固件把键放在那个地方。或者经常敲错的键,有可能反而揭示了这个键最应该摆放的位置。正因为可编程键盘这样的特性,操作习惯上很快就迁移过来。那些为了应急而备下的键几乎都没有用上。
在我常用的快捷键中,共性的需求是各种浏览和切换。比如iTerm终端tab的切换,一个终端窗口内tmux window、session、pane的切换,Vim Windowd切换,Chrome窗口和tab的切换,浏览器页面或者编辑器内的浏览等等。这些操作都离不开方向键。而借助ErgoDox,意外的实现了全局的Vim方向键。只需要把方向键映射到Vim HJKL的位置,而再也不用逐个应用程序的去解决Vim方向键的映射。过去使用的tmux key binding,Chrome的vim插件,似乎都可以被淘汰了。
上面是我今天(工作日)全天的键盘热图(Heatmap),可以看到VIM方向键JK占据了绝对的高频位置。其实,由于生成Heatmap的软件并不识别ErgoDox键盘布局,要是能把VIM方向键映射产生的上下左右键计算进来,HJKL键位显示的频度会更高。这个截图也算是从一个侧面说明了可编程键盘对于核心工作流的贡献。
一些想法
最后再来说说这个键盘一周使用过程中,陆陆续续产生的一些认识和想法。
标准键盘布局的改变,无论是对于前期的键盘选购还是使用中的适应,都可以说是或多或少的阻碍因素。但实际上即便在PC和Mac之间切换时,外设键盘和笔记本自带键盘之间切换时,布局也是有所改变的。在笔记本代际更迭时,厂商也有可能作出布局的调整。例如苹果2016年发布的Macbook Pro就取消了Esc按键,并将其虚拟化为TouchBar的一部分。完全不变的键盘布局或许是种幻觉。对于长尾用户而言,出于人体工学、工作流效率提升等考量,自己掌握键盘布局或许是更好的选择。
对于普通键盘,通过操作系统或者Karabiner这样的第三方软件可以调整键位布局。但因为物理键位空间已经排满,没有冗余位置。也不像ErgoDox这样允许逻辑层面切换Layer来改变按键。总体来说自己调整键位的自由度有限。而我在调整选定ErgoDox EZ键盘键位布局过程中发现:为了有效、合理地确定键位的方式,需要一定的预先设计和思考,另一方面也需要提供一定的冗余。也就是将同一个键映射在多个位置,或者在多个Layer中。推迟键位的选择,在实际的操作中来演化出最佳的位置。这么做一开始的时候,敲击按键会有些许停顿。因为有了多个选择,自然就会去想是应该这样输入还是那样输入。可最后因为各种原因,或许是因为些许的顺手,或许是因为前后操作连贯起来手指懒得挪动位置等等,一种选择就会胜出成为最佳的键位。这个时候不妨保留替代选择,直到下一次布局更新淘汰删除。相对于传统的手指适应键盘,我更愿意称其为键盘适应手指的有机过程。一轮的键盘布局迭代调整,实际是一轮键盘固件、手指肌肉记忆,乃至输入习惯的三者有机融合。
如果有时间,也许我应该试着在ErgoDox Firmware层面生成键盘的heatmap。因为上面的截图由WhatPulse软件生成,在操作系统层面能看到的键码经过了ErgoDox固件映射,已经不能准确反映实际的物理键位。有了更真实准确的数据,或许能将ErgoDox的使用提升到新的层次也说不准呢?