Tetris - 发“烧”级客制化有线 Planck 键盘

Posted

TetrisPhoto

introduction

自2017年4月入机械键盘坑以来,已经有一年多的时间了。刚开始看到那些买 CNC 套件和 GMK/SP 键帽的壕们,总是庆幸自己幸运先找到了对的 QQ 群,进入了技术流的一边,现在仔细想一下,技术向应该是必然选择,毕竟我就是这么牛(qiong)。

本来想说说一路走来的朋友的,想想还是算了,篇幅有限。

Tetris

命名总是很难的,因为是直列键盘,键帽看着和俄罗斯方块挺像,图标也好看,就这个吧,现在看来也非常好。

40%

额,来看的基本都知道,不过还是写一下吧。 日常我们看到的那种有数字的键盘成为 108 键盘,应该是有 108 个键吧,我没数过。然后这个就是 100%,因为体积原因(像笔记本),就是精简上面的按键数量。右边数字去掉后就是 87 键盘,再砍掉右边方向键那点长度,上面 ESC 那一行去掉,剩下字母区和一行数字的就是 60 键盘了。那什么是 40 呢?再砍掉数字那一行,减掉几个键不就是了?一般的 40 键盘是 12 列宽,4行高。 对于87或以上的客制键盘,说难听点就是一个现成的拼装键盘,能把玩的也就拼装的过程,装好后基本就没什么好整的了(额,我没钱,买不起键帽)。而像 40 这样小的键盘就不一样了,首先,它,恩,逼格高!后面几个理由感觉不用写了。。。键这么少的键盘,如何用,如何好用,这就有得折腾了。

本人玩 40 键盘的主要原因:

1.穷,折腾一个 40键盘只需要 40+ 个轴,PCB打样也便宜。 2.炫,这年头都在装逼,不装个最大的怎么对得起自己。

Ortholinear

听说打字机是因为底部的机械杆会打架才没能使用最符合人体工程学的直列布局。当然一切为了逼格,直列多漂亮啊。其实我的理解主要是,40键盘本身尺寸原因,能放的键就少,直列键盘能最大程度地塞更多的键,多好。当然,逼格也是我的主要考虑。用了这么久,直列确实舒服。。。(本文就是使用 Tetris 加拼音输入法码出来的。)

Audio

最早在有电子发生元器件的键盘我不知道哪一个,但是当我知道 OLKB Planck 上面有蜂鸣器的时候,我是感觉挺棒的,特别是键盘上电时的那小段 midi 音乐,催人奋进。 我个人认为,键盘上有发声功能,当一个 midi 键盘是浪费了(虽然 Tetris 有这个功能)。那怎么样用才不浪费呢?我还是那个观点,要从人的听觉和视觉的区别为出发点。听觉和视觉都是人类感知外界的方法,有一个重要的区别是,听觉是被动行为,视觉是主动行为。在 40 键盘中,切换层是十分频繁的,一般的键盘都是没指示,要么就是底下的 RGB ,这都盲打时代了,还低头看键盘,不就直接输了?而有声音就不同了,因为声音会主动侵入你的听觉系统,当键盘切层成功时,“beep"或者"beep beep",就是如此优雅直接。

RGB

实用派的键盘玩家都是嘴里说 RGB 灯亮瞎眼,然后手上的键盘哪一把没有 RGB 底灯?那么客制化键盘能不能像海盗那些量产键盘一样每个轴都是 RGB ?如果做不出来,还如何成神!所以,我做了一把出来。这个键盘有47个轴,我没有像 Planck light 那样使用灯控芯片,而是使用了 ws2812 那样的自带 ic 的 sk6812 led,主要有两个考虑,一是灯控线路确实没有把握一次做好;二是固件比较复杂,这个 Planck light 固件有现成的,我自己能搞定,但是对于我的几个朋友们就比较难了,用 ws2812 方案,能非常简单地完成 RGB 灯的个性编程工作(最难的部分可以说是我搞定了)。

Encoder

旋钮,这个很多人都是梦寐以求的键盘特性,但始终在国内客制化里没人做出一个简单易用的(甚至没有?)。不过,我承认,这个不是我原创,我是从 Planck rev6 看到的旋钮,然后在 QMK 的讨论群里查看历史发言时偶然找到的代码(不是说 jack 不给,只是还没 push 到 github),电路是我自己搜索和飞线试验出来的。在这个旋钮出现之前,我看到类似的是 atreus62 ver.kimera 上的拨轮开关,调一量要拨好几下,哪有旋钮爽?我经过进一步改进代码,这个旋钮能在不同层实现不同功能,例如在默认层是音量,在1层是上下翻页,在2层是左右方向,能让光标快速地在文字中穿梭(这是我一直想要的功能,看到那个巨大的 Slider 我就念念不忘)。 现在,我可以叉着腰说,我搞定了!

One more thing!

Tetris,基本就是集合了以上特性的 40% 键盘,使用 Planck mit 配列。为什么还有 one more? 因为我觉得我顺便做了一个了不起的事情。我把上面的特性代码,除了目前看起来是没可能的喇叭特性意外,全部做成了 http://kbfirmware.com/ 的 json 文件,我这个键盘虽然没有 ydkp.io 那样美观的配置界面,但是,通过我写注释和简单说明,普通人都能完成这个键盘的定制,而且这种方式是开源的,十分符合我这种雷锋的性格。上面那些这么美妙的特性,难道不应该分享给全人类吗? 我这个键盘之所以能做出来,我是受到了不少朋友的帮助,更多的是开源精神,没有开源的代码,上面的特性我觉得我不会写得出来,最起码现在不行。更进一步说,我不是没有闭源的能力,我花过一天的时间做了一个简单的在线配置固件的服务,虽然不是尽善尽美,但是应该是堪用的,而且还是有潜力的,这个服务的代码在 这里 ,毕竟我感觉那时我的作品,已经可以和 QMK 目前在做的 configurator并肩。

-EOF-