atreus项目应该是受到了ergodox的启发产生的,项目地址是:

https://github.com/technomancy/atreus

我觉得这么小的键盘不搞个无线的话没什么意思,正好看到yang DIY的40优联,决定也做一个优联版的,配合usb2usb实现自定义的配列。

既然是自己DIY,那么能自己做的东西一定要自己做起来,外壳和定位板先打印出来:



正好翻出了以前diy牛反的碳纤维贴纸,贴顶层。

选择罗技 k230的主控,便宜也够用。

因为atreus的键只有42个,所以没必要按照原来的k230矩阵飞线了,为了简化飞线,我就选取了其中的4行,加上12列,矩阵如下:

因为原本的k230矩阵是经过优化的,一定程度上减少了按键冲突,但是我这么一简化飞线,按键冲突就会比较明显了,所以要为每一个轴增加一个二极管防冲突:

最后使用两块CR2032,保守估计1年不用换电池了。

在此借用yang的一张矩阵图,下半部分是按照我这个矩阵得到的key映射表,这长表后面配置usb2usb的固件时要用到:

再凑点垃圾键帽,装上壳子,硬件上,键盘就差不多OK了(上面我的ergodone露出了半截):

下面就该去改usb2usb的代码了:

https://github.com/hackqiang/tmk_keyboard/commit/fb83b1830349ff4fda5468b250f61a0b531b1d4f

配列的修改有两种方式:

  1. 首先定义一个key的映射,在源码中里定义好配列,就不多说了。参考keymap_unifyingAtreus.c。直接make KEYMAP=unifyingAtreus
  2. 通过KLE以及TKG,图形化的配置。

    1. tkg的地址为https://tkg.io,KLE为http://www.keyboard-layout-editor.com。
    2. 这是原本的矩阵,把raw中的数据复制到tkg的USB2USB的”设定“中.
    3. 在KLE中配置自己的配列,例如我的,复制raw到TKG的”层”中,选择“简单”模式,设置下fn的效果。
    4. 点击下载.c文件,放到tmk_keyboard/converter/usb_usb中,重命名为keymap_tkg.c,然后make KEYMAP=tkg
      生成的hex通过Arduloader烧到USB2USB中就可以了。