GH60 撸了把青轴 HHKB - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
kevinroot

GH60 撸了把青轴 HHKB

  •  1
     
  •   kevinroot Jan 19, 2016 5114 views
    This topic created in 3753 days ago, the information mentioned may be changed or developed.

    GH60_light_full

    一直是一把 HHKB Pro2 在公司使用,回家的话就用 mpb 自带的键盘。
    期间也用过青轴 minila air 、 poker2 ,但是 minila air 右边 shift 比较蛋疼,而且空格键很短,左边经常按不到,虽然左边的 fn 是可以设置成空格的,但是按着还是挺不爽的; poker2 没有用很长时间,但是用过了 hhkb 之后就受不鸟其他键位了。。。所以一直都是用 mbp 的自带薄膜键盘,用 Karabiner 映射了一些键,比如 | 改成 delete 。

    突发奇想

    要是能有一把 HHKB 键位的青轴键盘就好了,因为之前用过几把机械键盘都是青轴的,还是对青轴比较情有独钟一些。后来也去试过 minila air 和 cherry 的红轴,感觉和 hhkb pro2 手感其实相差不多,所以还是决定组一个青轴的区别与 hhkb pro2 的手感。

    搜索材料

    首先了解了一下板子, santa 的电路板我看了下,是可以组成 hhkb 键位的。于是当晚拉着客服问到了两点多,就下单了。
    清单如下:

    1. santa pcb 板子 2. 定位板 /钢板 3. 卫星轴 4 个(空格, shift * 2 , enter , control/caps lock ) 4. cherry 青轴 67 个(老板给多发了几个,因为青轴可能有些坏轴) 5. 塑料外壳 6. PBT 键帽 117 键的,键位刚好组 hhkb 的键位 7. 轴间纸一张 8. 透明轴盖 65 个 9. 热插拔针脚 130 个(一个键帽两个脚) 

    组装步骤

    组装卫星轴

    有防呆设计,直接装上就好了,卡进的时候可能要稍稍用点力,没事不会弄坏,黑色的塑料还是有一些韧性的。组装好卫星轴后安装到 PCB 板上,有卡扣按上就好了。

    开轴改热插拔,上轴间纸

    开轴盖其实很简单,用镊子就可以,我刚开始在公司没有镊子,找了两个牙签开的也挺轻松。轴盖打开之后把两个热插拔针脚插入轴上方 LED 针脚处,然后贴上轴间纸,再盖上透明轴盖。这步挺费工夫的,我搞了两三个小时才搞定。其实吧,热插拔和轴间纸都没有必要装;反正 LED 便宜,真的要幻灯把 LED 换了就是。轴间纸也是玄学,根本不能防尘和影响手感。透明轴盖除了装 B 也没有什么乱用。

    固定轴到 PCB 和定位板

    层次结构是这样的: PCB ,轴,定位板。这步有点技巧,把四周的轴先安装好,然后再安装中间的轴。不要先把轴都卡好在定位板上,这样你会发现怎么都没法插到 PCB 板上了,因为 PCB 板上的 LED 孔很小,很难对上。而且现在是一个轴 4 个脚,你要一下将 60 * 4 ,就是 240 个脚同时对准插在 PCB 板上,难度可想而知。所以如果你觉得定位板对手感影响不大的话,就可以省掉定位板,这样安装轴的难度会小很多。安装轴的时候注意不要将轴上的针脚弄歪,这样针脚容易折掉,没有插到 PCB 上对应的空里,需要拔下来重新插过。按好再拔下来难度很大。
    要注意的是,拿你的键帽笔画一些,轴不要按错位置,不然后面你会发现怎么键帽相互打架,就悲剧了。这个事情在撸主身上就发生了,坐下的三个键,我往右边偏了一格,结果三个键全都拆下来重新按,重新焊;还好有吸枪,还是拆下来了。反正就是拆比装难了,一定不要按错了。

    焊接

    用橡皮筋固定 PCB ,轴和定位板,然后就上焊锡、松香电烙铁焊吧。最好弄个可调温的电烙铁,温度设置在 400 度比较合适。我是焊一排然后插到电脑上测试一排,如果有问题可以及时修正。 240 多个脚,加油焊吧,其实焊接还是挺快的,最费时费力的还是开轴改热插拔和贴轴间纸那步,所以我强烈建议不用改热插拔和贴轴间纸。
    GH60_weld_1
    GH60_weld_2

    测试键位

    再测试一下所有键是否有用,右上角的键因为没有刷配系的原因可能是么有用的,没有关系你用万用表蜂鸣档试下,按键按下的时候能通就没有问题。一会刷了配系就好了。

    安装热插拔 LED

    LED 灯脚需要剪一下,剪了之后插进热插拔的孔就好,注意下正负极。默认是 fn + v ,打开键盘灯,在打开键盘灯的情况下安装灯吧,安上点亮就好了,正负极安反也没关系,不会烧掉的。换下正负极就是了。
    LED 长角的是正极,但是你剪短之后两个脚是一样长的,怎么区分正负极呢,你看 LED 等里面那坨东西有两部分组成,比较小一点的那个是正极。全按上之后就都亮了,恩,完美。
    GH60_LED

    安装外壳

    把焊好的 PCB 安装到外壳上,有 6 颗螺丝,拧上就好了。

    安装键帽

    键帽高度从下到上是 R1 , R1 , R2 , R3 , R4 。一个个按上就是了,有卫星轴的对准一下卫星轴。那么硬件部分就组装好了。

    刷配系 /固件

    mac 上据我所知只能刷 hex ,有两个tmk_keyboardtmk_keyboard_custom。记得是刷tmk_keyboard_custom,不要去刷 tmk_keyboard 那个,刷了 tmk_keyboard 之后可能导致键盘没有反应,我也不知道为什么。

    //mac 上需要安装的编译环境
    brew install Caskroom/cask/crosspack-avr
    brew install gcc-avr
    brew install dfu-programmer
    brew install gcc

    再说一遍,请用tmk_keyboard_custom
    在 keyboard/gh60/config.h 中定义宏 #define GH60_REV_CHN 1
    make KEYMAP=hhkb dfu
    但是你会发现有些报错,我一个个解决了,但是刷好之后,键盘并不能达到我想要的配系。所以我还是回家用 windows 的机器来刷 epp 文件,这个是图形化的工具比较简单。
    项目地址:tkg-toolkit
    图形化界面网址:
    keyboard-layout-editor
    tkg
    编辑好键位之后复制 raw-data 的 json 数据,粘贴的 tkg 网站里面,生成 epp 。
    然后设置 tkg-toolkit/windows/setup.bat 来安装设置,用 tkg-toolkit/windows/reflash.bat 来刷固件,刷之前按一下键盘背后的按钮进入 dfu 模式。如果有问题,记得装键盘驱动。

    成品图

    GH60_light_gray
    GH60_light_part
    GH60_no_light

    参考链接:

    文章链接

    MX Blue HHKB GH60

    14 replies    2016-06-20 20:09:48 +08:00
    47jm9ozp
        1
    47jm9ozp  
       Jan 19, 2016
    ……无刻键帽搞啥灯啊……开了灯看啥……

    然后没必要限定在 HHKB 配列,我试了一圈还是觉得 spaceFN 配列顺手,现在魔改了一番炒鸡顺手
    47jm9ozp
        2
    47jm9ozp  
       Jan 19, 2016
    tmk_keyboard 和 custom 的关系是,国内的一些版本改了引脚定义……我买了那个到手才发现是 AMJ60 版本,拿万用表量了一圈改了代码才跑起来的

    还有刷 tmk_keyboard 务必记得清空 eep flash ,否则会有奇怪的故障,例如默认第六层之类的……
    kevinroot
        3
    kevinroot  
    OP
       Jan 19, 2016
    @ooxxcc 看光 23333 ,其实灯也并没有什么乱用。怎么清空 eep flash 呢?
    47jm9ozp
        4
    47jm9ozp  
       Jan 20, 2016
    @kevinroot

    ```dfu-programmer atmega32u4 read --eeprom out```
    按照格式修改 (应该每一行是 地址+数据+校验,第一行按照后面几行的东西改地址和校验就好)
    ```dfu-programmer atmega32u4 flash --eeprom out```


    还有一种通过 bootmagic 的方法

    ```
    Boot Magic are executed during boot up time. Press Magic key below then plug in keyboard cable. Note that you must use keys of Layer 0 as Magic keys. These settings are stored in EEPROM so that retain your configure over power cycles.
    ...
    To avoid configuring accidentally additive salt key KC_SPACE also needs to be pressed along with the following configuration keys.
    ...
    Clear configuration stored in EEPROM to reset configuration(Backspace)
    ```

    上电时按住 space+backspace ,可惜我用的 spaceFN 配列, layer 0 没有空格没法用这个……
    47jm9ozp
        5
    47jm9ozp  
       Jan 20, 2016
    啊居然不能用 markdown ,凑合看吧
    kevinroot
        6
    kevinroot  
    OP
       Jan 20, 2016 via iPhone
    @ooxxcc 哈哈 多谢,我可以肉眼解析
    Reficul
        7
    Reficul  
       Jan 20, 2016
    右边 shift 这个长度的键冒上次找了好久都没找到
    kevinroot
        8
    kevinroot  
    OP
       Jan 20, 2016
    @Reficul 搜“ 1.75 shift ”,蛮多的啊。
    我买的这套,多了一些键
    https://item.taobao.com/item.htm?spm=a1z09.2.0.0.IG4HdD&id=522761469204&_u=kjke199f45
    Reficul
        9
    Reficul  
       Jan 20, 2016
    @kevinroot 恩,现在好像挺多的了。
    EchoWhale
        10
    EchoWhale  
       Apr 6, 2016
    一套下来多少钱?
    kevinroot
        11
    kevinroot  
    OP
       Apr 6, 2016 via iPhone
    @EchoWhale 800 多一点,去掉那些没什么必要的热插拔、轴间纸,透明轴盖,应该在 700 左右
    ooTwToo
        12
    ooTwToo  
       Jun 17, 2016
    好想跟我的 poker2 加灯,可是自己懒得折腾
    kevinroot
        13
    kevinroot  
    OP
       Jun 18, 2016 via iPhone
    @ooTwToo poker2 键帽不透明的,加了跟我这个一样不怎么好看。要么换套键帽再加灯。
    jiangzhouq
        14
    jiangzhouq  
       Jun 20, 2016
    我决定收藏一下,说不定哪天又想折腾了。
    About     Help     Advertise     Blog     API     FAQ     Solana     937 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 57ms UTC 21:29 PVG 05:29 LAX 14:29 JFK 17:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86