致情怀——GH60 HHKB 配列混轴键盘制作
之前作为练手,已经做了一把Poker配列的键盘。Poker作为GH60的默认配列,按键排布同87、104键盘配列,键帽好找,键位无需适应,作为入门,优势明显。
熟悉了键盘的制作过程之后,接下来就是真正发挥GH60优势的时候了:让我们来整一把非常规配列的键盘吧!GH60支持的配列种类非常之多,基本是基于几个默认配列的变种:
这次我要制作的是HHKB配列,HHKB配列一向被称为程序员神器,不过个人不写代码纯粹是好奇而已,但是HHKB高昂的售价,和未知的手感,让我迟迟不敢出手,现在发现GH60居然也支持这种配列,那么何不试试看呢。
一、准备键帽
GH60制作中,遇到最大的问题是,你能做出配列,但是找不到合适的键帽,所以在开始动手之前,一定要保证能够找到合适的键帽,否则你做出了一把狂拽酷帅屌炸天的配列之后,发现根本找不到合适的键帽,那就悲剧了。所以先来了解下,做一把HHKB配列键盘,需要增补哪些键帽。
这个是我之前制作的Poker配列图:
在开始讲解两个配列不同之前,先让我们来补充一下键位大小的知识。
以数字和字母键帽尺寸为标准,记为1X,那么我们来分析下几个大键位的尺寸,先从Poker开始:由图中我们可以看到,左下角和右下角的3个和4个键,都是等长的,且长度较字母区长,但是并没有长超过一半,这就是我们常说的1.25x。再来看左侧的Shift,我们知道了下面的Ctrl和Win是1.25x,那2个1.25x加起来就是2.5x,左侧Shift的长度比这要短一点,所以是2.25x。右侧的Shift与下面的Menu和Ctrl比较要长一点,所以是2.75x。这样我们可以用Shift那一行计算出正行的长度是15x,由计算我们可以得出空格的长度是6.25x。这样其他键位的大小也就可以通计算得知了:
右上角的Backspace分裂为两个1X按键
右Shift分裂为1.75X和1X两个按键
取消了最后一排的左右Ctrl
空格键尺寸变为7X
Alt按键变为1X
系统键变为1.5X。
所以你需要在Poker配列的基础上增补这样几个键帽:
7X空格键盘 1个
1.75X 按键一个R1高度 1个
1.5X 按键R1高度 2个
1X 按键R1高度 3个
1X 按键R4高度 1个
为了配合以上键帽,你还需要几个卫星轴:
2X卫星轴从原来的4个缩减为2个(分别是左侧Shift和Enter)
空格键从6.25X卫星轴变为7X卫星轴1个
结果万能的大淘宝,居然有HHKB配列的机械键盘键帽出售,而且正刻和侧刻都参考原版,PBT材质,当然价格也不便宜60个键帽要130大洋。如果你寻求更加低廉的价格,可以选择淘宝的7键/10键盘/13键增补键帽,然后找104键盘上的其他键帽搞定1X尺寸的那几个。
搞定了键帽,我们就可以开始定义按键,刷配列了。
二、制作HHKB配列
由于淘宝上出售的GH60 PCB默认都是Poker配列的,所以要制作一把HHKB配列键盘,你必须改掉PCB中默认的按键设置,也就是——刷配列。
刷配列需要以下两个网站:
链接 用于制作配列
链接 用于生成配列写入文件
先访问第一个网站来制作配列图,打开之后就是默认的Poker配列:
接下来就是在原有基础上进行改进,制作HHKB的配列了,先上配列图
首先删掉左右两个Ctrl、右侧shift和backspace,选中后直接del就可以了
然后就是增加那些不一样的按键,使用左上角的add key按钮,可以增加一个1X按钮,用鼠标点选之后,可以用方向键控制移动到对应位置。下面的定义内容,我用文字做了解释,我们可以给键盘做上刻印,来确定按键的字符,至于左中右的位置,纯粹看个人喜好。一般默认F0层是左上刻印,按住shift是下方刻印,侧刻刻印的按键可以通过FN按键来开启F1层来使用,理论上,GH60键盘可以有很多层,定义N种键位,但是一般人应该记不住吧。所以常规的一个按键可以有两个正刻刻印,和一个侧刻刻印。同时我们可以调整按键宽度,根据我上面的计算结果进行调整即可,高度不用修改。
等全部按键都完成之后,你可以以图片的形式保按键样式,点击右上方的Download,选择你需要的图片格式即可。如果你注册并登陆了,也可以直接保存到个人档案里。
接下来我们要用制作完成的配列去转换成可刷写的配列文件,首先点开</> Raw data标签页,复制下代码,强烈建议将这段代码用TXT文件保存下来。
我的代码如下:
["EscnnnnPOWER","!n1nnnF1","@n2nnnF2","#n3nnnF3","$n4nnnF4","%n5nnnF5","^n6nnnF6","&n7nnnF7","*n8nnnF8","(n9nnnF9",")n0nnnF10","_n-nnnF11","+n=nnnF12","|nnnnins","~n`nnndel"],
[{w:1.5},"TabnnnnCAPS","Q","W","E","R","T","Y","U","Innnnpsc","OnnnnScrLk",{a:0},"Pnnnnpusnbrk",{a:4},"{n[nnn↑","}n]",{w:1.5},"BS"],
[{w:1.75},"Ctrl","AnnnnVol_Dn","SnnnnVol_Up","DnnnnMute","FnnnnEject","G","Hnnnn*","Jnnnn/","KnnnnHome","LnnnnPgUp",":n;nnn←",""n'nnn→",{w:2.25},"Return"],
[{w:2.25},"Shift","Z","X","Cnnnnfn1","Vnnnnfn2","Bnnnnfn3","Nnnnn+","Mnnnn-","<n,nnnend",">n.nnnPgDn","?n/nnn↓",{w:1.75},"RShift","fn0"],
[{x:1.5},"opt",{w:1.5},"Meta",{w:7},"spc",{w:1.5},"rMetannnnStop","Ropt"]
你可以逆向复制到</> Raw data标签页内,直接生成我的配列图,在我的配列基础上修改。复制之后,我们就可以去生成配列刷写文件了,先打开 链接
首先我们要选择合适的键盘PCB类型,打开键盘标签,一般淘宝买的PCB基本是GH60(RveCHN)或者GH60(RveA/B/C),具体类型请询问出售的商家。
然后把你刚刚复制的代码放到层里,这里我们选简单就可以了,如果是非常复杂的多层配列,可以选择普通,然后定义层数,并且分层贴入代码。如果贴入的代码无误(没有按键重复设置,或者存在不可定义的按键),那么框框会显示成绿色,否则就是红色,并且会提示你存在冲突的按键。下面Fn层定义,一般保持默认就可以了,LED里面也无需做修改,也保持默认就可以了,除非你的PCB板存在独立大小写灯,那么需要在背光中设置成去掉背光,勾选反向。
最后,全部搞定之后,选择下载eep文件。至此,配列设定全部完成,接下来就是把配列设定刷入你的PCB了。
三、刷入配列
GH60刷入配列需要用到以下软件:
tkg-toolkit-master 点击下载,解压后可以得到两个文件:
然后把PCB连接电脑,按下背面的配列刷写按钮,电脑会发现新硬件,然后去硬件管理器里手动为PCB主控添加驱动,把驱动目录指向上面的driver文件夹中,等待安装完成就可以了。
之后就是安装刷写配列的文件,打开tkg-toolkit-master文件夹,找到Windows文件夹中的setup.bat批处理文件。
双击打开小黑屋:
根据你的PCB类型选择对应的数值,我的是Satan的板子,所以我选择GH60 RevCHN。回车后出现下图,直接回车即可,无需做任何选择。
然后出现下图,默认数字为1,直接回车即可。
设置完成,直接按任意键退出小黑屋。
接着就可以把eep文件刷入你的PCB板了,用鼠标左键按住eep文件图标不放,一直拖动到上面那个windows文件夹里的reflash.bat上,再次打开小黑屋。
在小黑屋里选择Y,按下回车,等待刷入完成。
之后就跟我之前那篇文章里的制作方法一样了,先测试PCB板上各键位,然后上轴...
四、说说外壳
其实GH60的HHKB配列是有个类似的定制半成品的,在售的成套产品叫Kmac happy,但是那高大上的价格,还不如直接买个HHKB。所以一般都是用Poker来制作HHKB配列键盘,配上增补键帽,但是这样的键盘有个问题,左右Ctrl取消之后,会有两个孔留在那里,一来不安全,二来也丑。一般通用的解决方法是使用两个叫做屏蔽滑块的东西,如图:
但是我找遍了淘宝都没找到在售的成品,如果有值友有卖的话,也可以卖几个给我。还有土豪的做法,就是定制一个HHKB配列的阳极氧化铝外壳,但是这个外壳对我来说实在是太贵了。结果在淘宝进行地毯式搜寻之后,我找到了一个店家正在定制一个外壳,当时连张图都没有,但是跟店主攀谈之下,我觉得店主也是个可信之人,于是交了预订款,等了一周左右收到了外壳。
外壳上下底面为玻璃纤维板,上板上面开了孔,类似于钢板的作用,所以在板子上只要上三脚轴体即可,中间夹了一层磨砂乳壳中框,类似三明治结构。
我依然为键盘采用了混轴,并且换了透明轴盖。
大键青轴,保证回弹有力,字母区茶轴,工作不吵闹,数字区为红轴
最后是毫无营养的晒图时间:
五、后记
其实我并不是一个码农,当初曾经怀揣过做码农的愿景,但是最终没有走上码农的道路,所以HHKB配列对于我来说,更多的是一种情怀,是对曾经梦想的一个交代。最终的成品,从我个人的审美来说,也只是堪堪,比不上HHKB本尊的美,但是这样一把键盘的制作只需要HHKB pro一半的价格,还能体验不同机械轴体的感觉。我想把这把键盘的制作方法介绍给SMZDM的码农们,因为你们正做着我曾经想做却又未能如愿的工作。
对于喜欢类似配列,但是又不想重新适应按键排布的朋友,我也为你们准备不同的配列,这个配列可以直接安装到Poker的外壳之中,成本更加低廉。
这个配列的键盘,可以直接刷成HHKB配列,又可以改为类Poker配列,外壳也更加好找,价格低廉。代码如下:
["EscnnnnPOWER","!n1nnnF1","@n2nnnF2","#n3nnnF3","$n4nnnF4","%n5nnnF5","^n6nnnF6","&n7nnnF7","*n8nnnF8","(n9nnnF9",")n0nnnF10","_n-nnnF11","+n=nnnF12","|nnnnins","~n`nnndel"],
[{w:1.5},"Tab","Q","W","E","R","T","Y","U","Innnnpsc","OnnnnScrLk",{a:0},"Pnnnnpusnbrk",{a:4},"{n[nnn↑","}n]",{w:1.5},"BS"],
[{w:1.75},"CAPS","AnnnnVol_Dn","SnnnnVol_Up","DnnnnMute","FnnnnEject","G","Hnnnn*","Jnnnn/","KnnnnHome","LnnnnPgUp",":n;nnn←",""n'nnn→",{w:2.25},"Return"],
[{w:2.25},"Shift","Z","X","Cnnnnfn1","Vnnnnfn2","Bnnnnfn3","Nnnnn+","Mnnnn-","<n,nnnend",">n.nnnPgDn","?n/nnn↓",{w:1.75},"RShift","fn0"],
[{w:1.5},"Ctrl","opt",{w:1.5},"Meta",{w:7},"spc",{w:1.5},"rMetannnnStop","Ropt",{w:1.5},"rCtrl"]
最后致情怀!
vtwo
校验提示文案
根本不是猎人
校验提示文案
Jerry在忙
校验提示文案
Kiririshi_
校验提示文案
杜兰泽朵
校验提示文案
yangdigi
校验提示文案
neilyo_wang
校验提示文案
只看没钱买
校验提示文案
superhhh
校验提示文案
君子察迩
请问这种配列可以自定义吗?比如我喜欢断成左右两节的空格
校验提示文案
BitBoxKing
校验提示文案
SeAND
校验提示文案
只看没钱买
校验提示文案
原上
校验提示文案
原上
校验提示文案
值友7388489269
校验提示文案
坚果1992
校验提示文案
值友1413457804
校验提示文案
nineapple
校验提示文案
星光小四
校验提示文案
值友1413457804
校验提示文案
值友1413457804
校验提示文案
坚果1992
校验提示文案
值友7388489269
校验提示文案
原上
校验提示文案
原上
校验提示文案
nine-fox
校验提示文案
nine-fox
校验提示文案
只看没钱买
校验提示文案
丶宇浩
校验提示文案
风雷
校验提示文案
vanillash
校验提示文案
SeAND
校验提示文案
王逆行
校验提示文案
野火燎原
校验提示文案
帅哥来也
校验提示文案
chen8334912
校验提示文案
BitBoxKing
校验提示文案
鼻屎少年
校验提示文案
君子察迩
请问这种配列可以自定义吗?比如我喜欢断成左右两节的空格
校验提示文案