因为40键盘,如果不支持按键编程,是根本没办法正常用的,那还怎么让人输数字,怎么让人输符号了。然而,罗技的优联主控,并不能进行全键盘按键编程,虽然用按键增强软件能实现部分功能(比如ahk),但那并不是我想到的。因此介绍一个重要物品——USB to USB Keyboard Converter(github地址,geekhack地址)。
简单来说,这个转换器的原理就是获取usb键盘输入它的按键值,再输出新的值到PC上,因此用它可以实现tmk固件的各种高级功能。geekhac上有作者销售的成品,也有自己制作的方法。我这个是先前做的,制作最简单,就是Arduino Leonardo R3和ARDUINO USB Host Shield 叠起来就行了。
现在可以开始编译了,因为我先前重命名了为keymap_yang.c,所以编译的时候使用命令为
make KEYMAP=yang
编译成功后得到usb_usb.hex,刷入USB to USB keyboard converter,一切工作正常。
上面通过kle及tkg来完成,当然也可以直接编辑keymap*.c这个文件,多对照看看就知道它是怎么样的格式以及各个按键的写法了,只是我觉得kle看起来更直观一些。
小结:可以说USB to USB keyboard converter是本文的关键,只要自己会搭建环境编译固件了,那么就不存在难度了。
[ Part 4.总结 ]
本来只是想分享一下这次制作的无线优联40键盘的,结果写得较多就干脆写成教程了。
USB to USB keyboard converter是个好东西,事实上除了用来飞线40外,像60键盘也可以通过此方法来飞线成无线键盘,并且支持编程。甚至是想给普通的无线键盘或者usb键盘使用tmk固件功能,也可以通过它来实现。
虽然说自己没有能力去开发一个无线键盘主控,但是,利用本文的方法还是制作出了自己想要的键盘,我还是很满意的。而且,这个键盘非常非常好用,毕竟优联本身已经是一个相当优秀的无线方案了。
最终成果是,一把日用主力40%无线机械键盘,重量270g,轻于Surface Pro 3的超薄原装键盘套(约300g)。
下一把的打算是:外壳也自己订做,上下两层改用碳纤维,中间夹心夹还是亚克力,但是键盘四周的边框会收窄到几近无边程度。同时,厚度会再稍微缩减一点,布局会修改一下,采用双空格。