前言
前段时间我入手了一把新键盘,Nuphy Air60 v2,对于键盘的轴体、手感之类的评测,网上已经有很多了,这里就不再多说了,毕竟我也不是专业的键盘评测博主,总之我个人觉得整体是一个很不错的键盘,唯一觉得不足的点是键盘底部没有填充,导致没有螺丝柱支撑的部位声音有些空,不过只要不是仔细听,倒也很难注意到。这个键盘一个优点是使用了 QMK 固件,并且支持 via 软件图形化界面修改键位,在我使用的这段时间,也逐渐摸索出了一套我个人比较舒服的配置,主要是 home row mods,以及其他一些零散的配置,在这里分享一下。
关于 via 软件的使用,在 B 站上这个 UP 主做了一系列 via 的使用教程,可以参考下。
需要注意,我手上的 Nuphy Air60 v2 有 mac 和 win 两种模式,mac 模式默认是第 0 层,win 模式默认是第 3 层,在修改键位时,要确认自己修改的层数是正确的。
home row mods
目前主流的键盘形态远称不上是人体工程学,其中最反人类的是修饰键,也就是 shift
、ctrl
、alt
还有 windows
(Linux 下叫 super
,macOS 下叫 command
),这几个按键主要用于和其他按键组成组合键,但是它们却分布在键盘的角落部位,按组合键时,需要小拇指按住修饰键,另外一个手指去按其他按键,导致手掌处于一个十分别扭的姿势,力量最弱的小拇指还承担了最多的按键任务。
因为这个原因,一些分体的人体工学键盘会在两个大拇指的位置放置一些按键,称为拇指簇(thumb cluster),可以将常用的修饰键转移到拇指簇,从而减轻小拇指的负担。
其实还有一种键位方案,叫做 home row mods,简单来说就是将四个修饰键分配到字母区中间一行(也就是 home row)上的 A S D F
以及 J K L ;
八个按键上,当短按时输出为正常的字母按键,按住不放就变成了分配的修饰键。这样的方案,相比于将修饰键放在角落或者放在拇指簇,可以将任务均匀地分配到各个手指,同时还解决了我这把键盘上缺失右 ctrl
键的问题(某些软件的快捷键需要专门用到右 ctrl
键,比如 VirtualBox 中需要用右 ctrl
键加 F
来全屏虚拟机),不过缺点也是有的,就是有时打字太快会有可能误触发某些快捷键,需要花时间适应一下,在差不多使用一周后,我就逐渐有了肌肉记忆,很少会误触发了。
至于要怎么排列修饰键,其实没有明确的规则,只要符合自己的使用习惯就好,如果不太确定要怎么排列,可以看一下这篇博客,里面介绍了不同排列顺序的适用情况。我个人使用的排列,食指用来控制 shift
,也就是 F
和 J
,中指控制 ctrl
,就是 D
和 K
,无名指控制 windows
键,就是 S
和 L
,小拇指控制 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 的方向键;方向键改成了 PageUp
、PageDown
、Home
和 End
键;O
键改成了 BackSpace
,P
键改成了 Delete
键,这样比原来 BackSpace
和 Delete
键的位置更容易按到;E S D F
控制鼠标光标移动,W
鼠标左键,R
鼠标右键,C
和 V
鼠标滚轮上下,X
鼠标中键,用以临时替代鼠标;capslock
被映射了回去,以防临时需要用 capslock
按键;数字键 1-6 是 6 个键盘宏,可以切换 Linux 不同的的 TTY。
结尾
以上只是根据我自己的使用习惯对键盘键位进行的修改,发出来供大家参考。
如果键盘不支持 QMK 固件或是其他支持改键的固件,比如笔记本自带的键盘,其实也可以使用软件来实现上述的功能,比如 kmonad 和 kanata,kanata 的仓库中还有一个 home row mods 的示例配置。不过我自己摸索下来,使用软件配置的 home row mods 始终没有 QMK 固件来的跟手,也更容易误触发,不知是不是我配置有问题,最终还是作罢了。不过其他一些没有那么激进的键位修改还是挺有必要的,比如我差不多在第一天用 vim 开始,就将 capslock
键改为了 Escape
键,现在让我用正常的 Escape
在左上角的键盘,我反而会很不适应。