HHKB 改造小记

HHKB是PFU生产的静电容系列键盘,按键触发方式与机械键盘不同。主要针对文字输入而设计。我终于还是按耐不住入手了,购买的版本是HHKB pro BT。

首先简单说一下个人使用的感受。

之前主力使用过茶、黑、青、红几种机械轴。从个人使用体验来说,HHKB 类似接近于红轴,但是按键的压力集中在键程的前2/3段,从而有一种不明显的段落感。

HHKB另一个独特之处在于其键位配列。它只有60个按键,对比传统的104键的键盘,少了单独的数字键、方向键和功能键区,也就是所谓的60%键盘。HHKB和其他60%键位设计其中一点不同是,Ctrl 被放置在了 Caps 键的位置,原有的 Ctrl 键位置被移除,然后打上了HHKB硕大的logo....

我是一个忠实的60%键盘拥护者。这里的逻辑在于,我觉着一款真正让人专注于输入的键盘,在形成肌肉记忆后,应该可以在双手几乎不移动的情况下完成所有的工作。而不是看键盘找按键,或者摸索到相应的键区。

HHKB 改造小记_第1张图片
image

HHKB在后盖上有DIP跳线,可以根据个人使用的情况做一些简单的模式调整。但不支持在硬件层面键位映射编程。换壳,加灯什么的就更麻烦了。整体来说,这款键盘把80%的功能做到了满分,而可玩性上弱于机械键盘。

1. 关于HHKB方向键的选择及设置

HHKB国行版本没有单独的方向按键,不知道有多少人是因为这个原因而放弃了这款键盘。其实60%键盘有一些很棒的解决方案,甚至比使用单独方向键更方便。

一些常见的解决方向键解决方案,如:

1. HHKB原生支持

FN + [ => Up

FN + ; => Left

FN + ' => Right

FN + / => Down

2. 在 Mac平台全局都可以使用类似Emacs风格的快捷键来操作光标

Control-B 光标后退一个字符,相当于左键(B = Backward)

Control-P 上移一行,相当于上键(P = Previous)

Control-N 下移一行,相当于下键(N = Next)

Control-A 移动到一行的开头(A = Ahead)

Control-E 移动到一行的结尾(E = End)

3. 其他的一些映射方案,如:

vi风格:功能键 + h/j/k/l 作为方向键;

功能键 + i/j/k/l 作为方向键;

Poker: fn + w/a/s/d 作为方向键;

从我的使用感受来说,如果实现了下面两点对于使用体验会有很大的提升:

一、无须移动手的位置去找方向键;

二、可以单手操作方向键;

所以,在HHKB上我选择的方案是:

Control + W => Up

Control + A => Left

Control + D => Right

Control + S => Down

这样一来,左手在几乎不需要移动的情况下,小拇指按住 Control,就可以自由的使用W/A/S/D来替代方向键了,一个字,爽!

在MAC上的实现:

使用神器Karabiner。

HHKB 改造小记_第2张图片
image

Karabiner 的配置文件保存在: ~/.config/karabiner/karabiner.json

配置文件是Json格式,还是比较容易理解的。

在配置中,我的"rules"部分设置如下,除了方向键外,还把Control + Q 映射为Control + A,这样就实现了Control +Q光标到行首,Control +E光标到行尾,整个文本输入非常流畅。

"rules": [
    {
        "description": "L_Control + q to L_Control + a ",
        "manipulators": [
            {
                "from": {
                    "key_code": "q",
                    "modifiers": {
                        "mandatory": [
                            "left_control"
                        ],
                        "optional": [
                            "any"
                        ]
                    }
                },
                "to": [
                    {
                        "key_code": "a",
                        "modifiers": [
                            "left_control"
                        ]
                    }
                ],
                "type": "basic"
            }
        ]
    },
    {
        "description": "L_Control + w/a/s/d to arrows",
        "manipulators": [
            {
                "from": {
                    "key_code": "w",
                    "modifiers": {
                        "mandatory": [
                            "left_control"
                        ],
                        "optional": [
                            "any"
                        ]
                    }
                },
                "to": [
                    {
                        "key_code": "up_arrow"
                    }
                ],
                "type": "basic"
            },
            {
                "from": {
                    "key_code": "a",
                    "modifiers": {
                        "mandatory": [
                            "left_control"
                        ],
                        "optional": [
                            "any"
                        ]
                    }
                },
                "to": [
                    {
                        "key_code": "left_arrow"
                    }
                ],
                "type": "basic"
            },
            {
                "from": {
                    "key_code": "s",
                    "modifiers": {
                        "mandatory": [
                            "left_control"
                        ],
                        "optional": [
                            "any"
                        ]
                    }
                },
                "to": [
                    {
                        "key_code": "down_arrow"
                    }
                ],
                "type": "basic"
            },
            {
                "from": {
                    "key_code": "d",
                    "modifiers": {
                        "mandatory": [
                            "left_control"
                        ],
                        "optional": [
                            "any"
                        ]
                    }
                },
                "to": [
                    {
                        "key_code": "right_arrow"
                    }
                ],
                "type": "basic"
            }
        ]

在windows环境下的实现:

在windows环境中可以使用autohotkey实现键位的映射,因为autohotkey自己设计了一种脚本语言,所以门槛稍高于上一个工具。

HHKB在windows中的win按键和在MAC中的Cmd是同一个按键,可以将一些win下ctrl的组合键,映射到win上,以统一两个平台的体验。

一种可以实现该功能的脚本文件如下,安装autohotkey后,将下面的文本另存为拓展名为.ahk的文件,即可直接运行。

; 该文件是为hhkb在windows环境下的改键配置文件;

;Ctrl + wasd 实现对方向键的映射
<^a:: Send {left}
<^d:: Send {right}
<^w:: Send {up}
<^s:: Send {down}

;copy cut paste 的快捷键 
#c::Send ^c
#x::Send ^x
#v::Send ^v

; 撤销,重做, 保存,全选,EOF的快捷键
#z::Send ^z
#y::Send ^y
#s::Send ^s
#a::Send ^a
#d::Send ^d

2. 加装静音垫圈,化身蓝牙版Type-s

HHKB目前在售的有三个版本:

HHKB pro2

HHKB pro2 Type-s

HHKB pro BT

其中Type-s是静音版,BT是蓝牙版,但是静音的蓝牙版是没有滴。

坦率的说,HHKB相较于机械键盘本身声音就是比较小的。敲击触发的过程没有物理接触点,主要的噪音来源于按键回弹的过程。Type-s也是通过加装硅胶垫圈的方式实现了进一步的静音降噪。

通过神奇的某宝,顺利的买到了配套的静音圈。

HHKB 改造小记_第3张图片
image

下一步就是拆机了。取下电池,然后拧下如图所示三个位置的螺丝。

HHKB 改造小记_第4张图片
image

打开后盖后,就可以看到HHKB的四块PCB板了,取下后盖前需要先拆下排线。

HHKB 改造小记_第5张图片
image

主PCB板上的副板通过螺丝和有双面胶的塑料块和主板连接,需要先拧下螺丝,然后用点力慢慢取下来。

HHKB 改造小记_第6张图片
image

然后耐心一点拧下主PCB板上的螺丝。

HHKB 改造小记_第7张图片
image

取下主PCB板。

HHKB 改造小记_第8张图片
image

然后就可以从键盘的上盖板中取下键帽的轴柱了,把硅胶垫圈加装到轴柱上。

HHKB 改造小记_第9张图片
image

到这里加装的过程就完成了,HHKB的结构还是比较简单的,很好拆,就是键帽的轴柱一个个加装硅胶垫圈的过程比较耗费时间。

3. 兼容机械键盘键帽

HHKB使用自己独特的topre静电容键帽,这种键帽不但贵,最最重要是太少了,根本买不到。

那么,如何才能使用上机械键盘的键帽呢?

HHKB 改造小记_第10张图片
image

答曰,把原装的轴柱换成上图右的转换器就可以了。

HHKB 改造小记_第11张图片
image

最后

在折腾并稳定使用HHKB一个月之后,我觉着,在60%的键盘中,从性价比的角度,我更推荐Poker。但是如果想要第一流的手感,HHKB值得一试。

(我还想换壳,可是找不到......)

首发于我的个站:http://www.archvy.com/index.php/article/48

你可能感兴趣的:(HHKB 改造小记)