前言

前段时间我入手了一把新键盘,Nuphy Air60 v2,对于键盘的轴体、手感之类的评测,网上已经有很多了,这里就不再多说了,毕竟我也不是专业的键盘评测博主,总之我个人觉得整体是一个很不错的键盘,唯一觉得不足的点是键盘底部没有填充,导致没有螺丝柱支撑的部位声音有些空,不过只要不是仔细听,倒也很难注意到。这个键盘一个优点是使用了 QMK 固件,并且支持 via 软件图形化界面修改键位,在我使用的这段时间,也逐渐摸索出了一套我个人比较舒服的配置,主要是 home row mods,以及其他一些零散的配置,在这里分享一下。

关于 via 软件的使用,在 B 站上这个 UP 主做了一系列 via 的使用教程,可以参考下。

需要注意,我手上的 Nuphy Air60 v2 有 mac 和 win 两种模式,mac 模式默认是第 0 层,win 模式默认是第 3 层,在修改键位时,要确认自己修改的层数是正确的。

home row mods

目前主流的键盘形态远称不上是人体工程学,其中最反人类的是修饰键,也就是 shiftctrlalt 还有 windows(Linux 下叫 super,macOS 下叫 command),这几个按键主要用于和其他按键组成组合键,但是它们却分布在键盘的角落部位,按组合键时,需要小拇指按住修饰键,另外一个手指去按其他按键,导致手掌处于一个十分别扭的姿势,力量最弱的小拇指还承担了最多的按键任务。

因为这个原因,一些分体的人体工学键盘会在两个大拇指的位置放置一些按键,称为拇指簇(thumb cluster),可以将常用的修饰键转移到拇指簇,从而减轻小拇指的负担。

图中键盘型号为 Glove 80

其实还有一种键位方案,叫做 home row mods,简单来说就是将四个修饰键分配到字母区中间一行(也就是 home row)上的 A S D F 以及 J K L ; 八个按键上,当短按时输出为正常的字母按键,按住不放就变成了分配的修饰键。这样的方案,相比于将修饰键放在角落或者放在拇指簇,可以将任务均匀地分配到各个手指,同时还解决了我这把键盘上缺失右 ctrl 键的问题(某些软件的快捷键需要专门用到右 ctrl 键,比如 VirtualBox 中需要用右 ctrl 键加 F 来全屏虚拟机),不过缺点也是有的,就是有时打字太快会有可能误触发某些快捷键,需要花时间适应一下,在差不多使用一周后,我就逐渐有了肌肉记忆,很少会误触发了。

至于要怎么排列修饰键,其实没有明确的规则,只要符合自己的使用习惯就好,如果不太确定要怎么排列,可以看一下这篇博客,里面介绍了不同排列顺序的适用情况。我个人使用的排列,食指用来控制 shift,也就是 FJ,中指控制 ctrl,就是 DK,无名指控制 windows 键,就是 SL,小拇指控制 alt 键,就是 A;

要使用 via 配置 home row mods,以修改 A 字母按键为例,选中 A 按键,在下方选中 SPECIAL 分类,点击最后面的 Any:

会弹出一个输入框,输入 MT(MOD_LALT,KC_A)

其中 MT 代表 mod tap,意思是长按是修饰键,短按是正常的字母,括号中第一个是长按时触发的修饰键,第二个是短按时触发的字母键。对于其他按键,重复上述操作即可,我所有的 home row mods 配置如下:

MT(MOD_LALT,KC_A)
MT(MOD_LGUI,KC_S)
MT(MOD_LCTL,KC_D)
MT(MOD_LSFT,KC_F)
MT(MOD_RSFT,KC_J)
MT(MOD_RCTL,KC_K)
MT(MOD_RGUI,KC_L)
MT(MOD_RALT,KC_SCLN)

对于已经配置了 home row mods 的按键,失去了长按持续输出的能力,要想持续输出,其实只需短按两次按键再按住不放,就可以持续输出了。

其他键位配置

除了 home row mods,我还对键位做了一些其他修改。

首先,我将 CapsLock 键改成了 Escape 键,因为 CapsLock 按键平时很少用到,另外在使用 vim 时又需要经常使用 Escape 键。

而左上角的 Escape 键,我改成了反引号键,这个符号在编辑 Markdown 时经常用到。

右方向键上方的一个按键,原本是 Delete,我改成了 TG(6),表示短按一次切换到第 6 层。

对于空格键,我让它在短按时正常输出空格,长按时切换到第 7 层,同样使用 Any 键,键值输入 LT(7,KC_SPC)LT 代表 layer tap,即长按切层,短按正常输入。

在第 6 层中,我设置了一个完整的,没有 home row mods 的键盘键位,因为在有些时候,比如在游戏时,home row mods 还是挺影响操作的。不过我将 CapsLock 键改成了 MT(MOD_LCTL,KC_ESC),表示短按是 Escape 键,长按是左 ctrl;右方向键上方的按键,设置为倒三角符号,也就是 Pass-through 键,表示按一下返回默认层。

在第 7 层中,我配置了一些特殊按键,H J K L 对应 vim 的方向键;方向键改成了 PageUpPageDownHomeEnd 键;O 键改成了 BackSpaceP 键改成了 Delete 键,这样比原来 BackSpaceDelete 键的位置更容易按到;E S D F 控制鼠标光标移动,W 鼠标左键,R 鼠标右键,CV 鼠标滚轮上下,X 鼠标中键,用以临时替代鼠标;capslock 被映射了回去,以防临时需要用 capslock 按键;数字键 1-6 是 6 个键盘宏,可以切换 Linux 不同的的 TTY。

结尾

以上只是根据我自己的使用习惯对键盘键位进行的修改,发出来供大家参考。

如果键盘不支持 QMK 固件或是其他支持改键的固件,比如笔记本自带的键盘,其实也可以使用软件来实现上述的功能,比如 kmonadkanata,kanata 的仓库中还有一个 home row mods 的示例配置。不过我自己摸索下来,使用软件配置的 home row mods 始终没有 QMK 固件来的跟手,也更容易误触发,不知是不是我配置有问题,最终还是作罢了。不过其他一些没有那么激进的键位修改还是挺有必要的,比如我差不多在第一天用 vim 开始,就将 capslock 键改为了 Escape 键,现在让我用正常的 Escape 在左上角的键盘,我反而会很不适应。