基于GH60项目DIY一个键盘

最近这两个月,每天晚上都要在电脑前『码字』一到两个小时。第一个感到不方面的是显示器,于是入了一个DELL的23.8寸的一个4K显示器(感谢智盛_Lx同学的帮助勉强调到高清显示),更大的屏幕可以在一屏看到更多的信息,大大较少窗口切换的时间,效率确实提高了。又是智盛_Lx同学,把他自己DIY的机械键盘给我测试,说是手感好。后来…后来就中毒了。

1. 60%键盘与HHKB

机械键盘确实很好用,『码字』效率比笔记本的薄膜要高。从简单和快捷的角度,原本还是打算买一个现成的,而不是去DIY。于是开始淘自己喜欢的键盘。因为是为了提高每天那一两个小时集中『码字』的效率,所以首先并不打算买全功能键盘,也觉得数字键和什么HOME、Pageup这些都不需要,另外F1~F9现在也基本上不用了(老早就不打WAR3),这样就聚焦在61、66或67键的键盘上–这类键盘也被称为『60%键盘』。

TB11e2VJXXXXXXtaXXXXXXXXXXX_!!0-item_pic

第一个相中的是『HHKB』。如果不是因为价格让我必须谨慎一点,估计已经下手了。在程序猿的江湖里,这款键盘的传说一直都有。关于这款键盘争吵也一直都有,争吵甚至从键盘延伸到『IDE』的问题上来,水太深,这里不讨论。这款键盘是由株式会社PFU(富士通的全资子公司)研发的键盘,96年开始量产销售。现在的Pro2版本是一款静电电容无接触式键盘,外观设计非常简洁。身边有两个同事正好在用,直接拿来试用了一下,几点我让放弃了HHKB:

  • 没有方向键
  • 另外『静电容』的手感,我也不是很喜欢
  • 最后,这款键盘的排他性太强,适应HHKB之后,应该很难在适应其他键盘

关于『静电容』键盘的敲击感,网上有个神评论(参考:Happy Hacking Keyboard 适合哪些人使用?),一下说出了我一直想说确表达不出来的感受:

HHKB 的觸鍵感覺比較粉,像是在吃粉的蘋果(@jiabin 不同意這一點)。如果你喜歡吃脆蘋果,那麼不一定會喜歡 HHKB。

苹果,我只喜欢吃脆的。采访了身边另一个喜欢HHKB的同学刘毅同学_liuyix,他真的喜欢粉苹果。

2. 其他量产的60%键盘

放弃了HHKB,再看其他的60%键盘,不过也明确了自己的需求:

  • 一款机械键盘
  • 60%键位,简洁轻巧,不需要FN、数字键、HOME等
  • 带方向键,因为方向键的使用频率高,不希望组合实现方向键

市面上还有几款常见的*量产*60%键盘:

  • KBT Pure Pro
  • KBT RACE 2 (75%)
  • Leopold FC660M
  • minila air
  • iKBC Poker II/Poker

KBT RACE 2是一个75%键盘,有FN,为了让方向键不那么突兀,再右侧增加了新的一列。这款键盘,主要是还是外观不中意,然后FN感觉太多余。

Leopold FC660M也很接近需求,但是这款键盘为了让四个方向键位置标准,还额外添加了两个键,这个外观设计我也不接受,有些怪异。

minila air和『KBT RACE 2』为了照顾好方向键,在右侧新增了一列。然后是一款无线键盘,所以上面多预留了两个灯,一个连接、一个电量。

KBT Pure Pro已经非常接近需求,但是已经停产。60%键盘的需求量非常小,这款键盘很早就停产了,现在市面上应该也买不到了。这款键盘的缺点在于:1.右侧shift键做太小了;2.右下角的键全部改成1.0x的按键,显得很太密集。

iKBC Poker II已经非常棒了,唯一的问题是方向键没有地方放。事实上,后来我自己DIY的GH60键盘与PokerII只有一个区别:把它2.75xshift拆成两个,一个1x的普通按键,一个1.75xshift。

经过一番折腾,60%键盘,如果愿意稍作让步也有一些量产商业化的选择,但如果要满足自己的个性化要求是非常难的。也意识到,智盛_Lx同学之所以选择自己DIY,也不光是因为手贱。

3. GH60

因为简洁,60%键盘还是有很强大的群众基础。另一方面因为按键较少,每个人的习惯又有不同,导致对60%键盘做个性化定制的需求又非常强烈,最终,就产生了一个,很不可思议的『GH60项目』。

关于这个项目详情可以参考Geekhack论坛的帖子:GH60 Keyboard Project。这是一个很Geek的项目,从心底感觉这帮人非常有爱。

GH60项目中设计并实践了一款相对通用的GH60键盘电路板,可编程、可定制,支持多种布局(更多GH60相关布局参考这个帖子:GH60 Group Buy)。基于这个项目,我们就可以根据GH60布局去定制自己的60%键盘。

gh60_reva_bot1

基于GH60定制键盘有原始的玩法,也有简单的玩法。

3.1 原始的玩法

自己下载GH60设计图,淘宝上找一家PCB制作的店家,让他们制作。然后自己根据GH60设计购买各种元器件(包括电阻、二极管、IC芯片、USB口、reset按键等等),自己焊机好电路板,然后根据自己的布局需求插上按键轴并焊接好,再安装键盘外壳和键帽。最后将自己的键位刷到固件中。

3.2 简单的玩法

自己在淘宝上购买元器件焊接好的PCB板、按键轴、键帽和外壳,到货后,直接根据自己的键位布局焊接好轴。后面与上面『原始』玩法相同。

个人感觉,手不是特别『贱』的,建议使用简单的玩法,原因如下:

  • 电路板上的小元器件不建议自己焊接,这个有一定难度的。只有当你是焊接熟练工的时候,才建议这么做
  • 自己去焊接『轴』已经足以满足键位定制化的需求了。轴的焊接非常简单,即使像我这种从来没有使用过焊接过的人,焊了两个以后就可以很熟练的焊接了
  • 4. DIY自己的GH60

    我选择了『简单的玩法』(也和智盛一起使用『原始的玩法』做过一把键盘,芯片和小的元件焊接还是非常困难的)。在动手DIY自己的GH60键盘之前,需要先设计好自己的键位(采购轴和键帽都需要依赖这个),然后采购零配件,主要是PCB板、轴、外壳、键帽、数据线等,然后自己焊接组装。

    4.1 设计自己的键位

    可以现在Keyboard Layout网站设计好自己的键位布局,GH60支持的Layout可以参考这里:GH60 Group Buy

    我的布局设计如下:

    Snip20160407_18

    按键上,把原本右侧的2.75的shift改成了一个1.0的按键+1.75的shift。键位上把右下角的功能键都改成了方向键。

    4.2 采购配件

    一个完整的GH60键盘需要如下配件:

    • PCB板 (淘宝搜索GH60 PCB板 基本上价格179的那个就是了)
    • 轴 这个选择有很多,根据自己的需要去选择;卫星轴
    • 外壳
    • 键帽
    • 数据线
    • 数据线

    因为轴要自己焊接,所有还需要一个家用小型的电焊台。

    4.3 刷键位

    关于刷键位网上有很好的教程,这里不做介绍。不过这里强调一下,刷键位最好在轴焊接之前就去做,因为轴一旦焊接后,再发现有什么问题,会非常麻烦。

    4.4 轴的焊接

    之前从来没有焊接过任何东西,事实上,在Youtube或者Youku上看看别人怎么焊接的,然后自己实践一两次,基本上就可以了。这次焊接是我第一次焊接,除了有些轴由于没有摆正位置,整体焊接还是没什么问题的。下面是焊上轴的板子:

    Snip20160407_24

    4.5 键帽(包括卫星轴)的安装

    键帽的水其实很深,这里就不介绍了。淘宝上搜索一下,应该会有各式各样的键帽,我最早买了一套无刻灰白键帽,经验是,『不要买无刻键帽!!』。后来,入了一套太豪奶酪绿二色ABS的键帽,淘宝价大概在130左右:

    lADODVuev80JkM0MwA_3264_2448

    这里少了一个右边的shift,这个键需要单独购买,1.75x的shift好像不太多。

    4.6 外壳安装

    外壳安装比较简单,把几个小螺丝拧上去就好了。

    4.7 DIY过程的一些经验教训

    做得过程还是有一些曲折的,这里总结一下遇到的问题:

    • 我买的PCB板是有些问题的,芯片在焊接的时候有部分锡还连在两个脚之间。表现上,键盘全部做好之后,发现有部分键不正常,按某一个键的时候,会出现两个字母。后来咨询淘宝卖家后,发现问题,用镊子把中间的锡剥掉,问题解决。
    • 开始焊接之前,仔细检查轴是不是按照整齐了,我自己在完成焊接之后发现,有几个没有按到位,最终导致一两个按键稍微高出一点点
    • 我买的是国产Gateron轴,板子上有几个孔偏小(或者轴的脚偏大),导致,轴插入固定比较困难,就拿小刀把轴的脚削得细了一些

    自己DIY键盘还有很多地方可以去玩,例如轴、例如键帽、另外尝试一下『原始的玩法』也很有意思。本篇先概述一下,后面有机会再一起看看关于键帽和轴的一些选择。

    5 responses to “基于GH60项目DIY一个键盘”

    1. abs键帽容易起油,还是建议用pbt键帽。

    2. georgexsh

      无刻的什么问题呀

    3. admin

      @ georgexsh 无刻键盘,在输入数字的时候非常不方便,比如密码之类的

    4. Anonymous

      不錯,有想法,不過我覺得上下左右排布最好規則點比較好,但對於習慣用右SHIFT的人來說這個佈局就有點糾結了.

    Leave a Reply

    Your email address will not be published. Required fields are marked *