GH60客制键盘方案

硬件 1/11/2018

上次弄出 MetalStar62 键盘布局时,还不知道有开源键盘方案。只是在淘宝中时常看到 GH60 的字样,总以为是什么山寨产品。后来才知道原来是大名鼎鼎的开源客制键盘。既可以自由组装,也可以定义键位配列刷固件。这正好符合我的要求,哈哈,看来这个坑是越陷越深了。

什么是 GH60呢(以下是网上摘录的一段文字)
> GH60是geekhack论坛上的键盘爱好者自行设计开发制作的一款60%键盘(其pcb方案已开源),其特点主要是支持很多种键位组合,可以根据自己的喜好来组合出不同的键位配列,例如最常用的三种配列方案poker/pure/HHKB的键数分别是61、62、59键。玩GH60的精髓就在于开源和按键可编程,让你可以造出自己的专属键盘。

对于键盘花俏的外观和五颜六色的光污染,我没有多大兴趣,GH60 最让我兴奋的就是可以自由刷固件。

遗憾的是我一直没有找到短空格(5x)的键帽和 pcb 板。想把 fn 键放在空格键右侧,让右手拇指能舒服的按到,这个愿望目前无法轻松的实现。虽然说键帽可以 3D 打印,但要自己制作 pcb 板可不是一件容易的事。

转机是在我看到 SpaceFN 的方案之后,突然感觉到这是一个非常好的解决方案。因为整个键盘中,最容易按到的键就是又大又长的空格键。两只手的拇指都放在上面。既然无法找到短空格来腾出空间安放 FN 键,那就将 FN 键的功能集成到空格键上好了。简单的说,SpaceFN 方案就是按住空格,再按其它键时,空格键就是 FN,其它键为第二功能。如果在抬起空格键前没有按其它任何键,则就是空格功能。第一个想到这个机制的人真是天才。当然这会产生一个问题,就是不能一直按着空格来输入一大串空格字符了。不过平时几乎没有这个需求。另外,玩游戏时也会有一些影响,比如 FPS 游戏中,在抬起空格键时,才会触发跳跃。不过,这个对我来说影响也不大。

下图是我设计的键位配列,上半部分是正常状态的键位,下部分是在按住空格时,各个键位的配列设置

![](img/2bf2b_keyboard.jpg)

- ESC 键被我从左上角移到了右下角,因为~`这两个符号的使用频率多于 esc,写 markdown,并且插入代码时会用到。
- 空格键直接就是 FN,也就是说在正常状态下是没有空格键的,这个需要在生成 eep 文件时做些设置。后面讲这个。
- 第二层将上下左右放在右手正常位置,既符合原来的习惯,又不需要移动手掌,只要大拇指按住空格即可。
- M 键的第二功能是静音,正好就是 Mute 的首字母,不用记忆。
- M 键右边的大小于键就是音量大小调节,顺理成章。
- P 键第二功能是播放音乐,正好是 Play 的首字母,也不用记忆。
- P 键右侧的 { } 两个括号就是上一首,下一首,同样合情合理。

设定配列和刷固件需要用到两个网站和一个软件,分别是
- http://www.keyboard-layout-editor.com
- https://tkg.io
- https://github.com/kairyu/tkg-toolkit

在设定好配列后,将 raw data 复制,打开 tkg.io 网站,选择 All in one,将文本粘贴进去,并将 FN0 设置为 Dual-role send key,在后面的 key 中选择 space。这是实现 SpaceFN 的关键。意思就是 FN 键有多个逻辑,按住切换到第二层,不按任何键抬起,则为空格字符。

设定好就可以导出 eep 文件了,然后使用 tkg-toolkit 刷到键盘中即可。用了一段时间,感觉很好,右手不用再在键盘上来回移动了,也几乎没有任何记忆负担。一切都很自然。

![](img/2bf2b_keyboard_0.jpg)

小键漂亮吧,嘿嘿,简直爱不释手!

只是有个轴虚焊了,还得拆开弄一下,这个蛮麻烦的。客制键盘所有零件加起来的费用超过直接买 ikbc Poker,而且零件的品质也远不如工厂的产品,加上手工焊接的水平也远比不上机器生产的工艺好。但问题是,也不知道键盘生产厂商是怎么想的,那些产品的第二功能设置得千奇百怪,毫无逻辑可言。为什么键盘的厂商不能提供刷固件和自定义配列的功能呢。

我准备再做一个更完美的 GH60,嘿嘿。
  • {{comment.name}}{{comment.time | fDateTime}}

    • {{reply.name}}{{reply.time | fDateTime}}

Recent Articles

Recent Comments

{{comment.name}}{{comment.time | fDate}}

{{comment.content}}