HHKB 改造小记

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

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

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

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

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

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。

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也是通过加装硅胶垫圈的方式实现了进一步的静音降噪。

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

image

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

image

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

image

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

image

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

image

取下主PCB板。

image

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

image

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

3. 兼容机械键盘键帽

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

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

image

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

image

最后

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容