続・キーボード作ってみた
Posted on Jan 26, 2019
キーボードを作ってみてから数週間たちました。
最初は配線不良でLEDがチカチカしまくりましたが、何回か補修工事をすることで、今は安定して動いています。今回は、その後施した修正をいくつかまとめておこうと思います。
かな・英数変換
作ったキーボードは、基本的に Mac で使っています。Mac はここ7〜8年前から英字キーボードで使っており、日本語と英語の入力切替は、Karabiner 使いつつ、Command キーのタップで行なっていました。
Zinc キーボードを作った当初は、Ctrl + Space で言語切り替えを行なっていたのですが、やはり、ワンキーで言語切り替えする方が楽。ということで、調べた結果、簡単にできることが判明。
キーマップを一部変更するだけ。挙動の制御は、TAPPING_TERM の長さで挙動を調整するのも手ですし(Zinc の初期値は 100ミリ秒)、RETRO_TAPPING を True にしてしまうのも手かと思います。
快適です。おまけに、入力の判定をキーボード側でやっているため、Karabiner も不要に。良い。
ただし、この機能を使ってしまうと、LOWER / RAISE 押してもアニメーションしなくなったり、同時押しで Adjust レイヤー使うとかは出来なくなりますので。その点は注意。
キーキャップ
仮で Lofree のキーキャップつけてたんですが、やっぱりしっくりこない。という事で、代替品を探しました。
どこで買えるかは、ここにまとめられてます。
いろいろ巡った結果、今回は、AliExpress でいくつか買ってみました。“DSA Keycaps” とかで検索すると、Zinc でも使いやすそうなキーキャップが色々と出てきましたのでその中からいくつか注文。で、頼んでから2週間ほどで到着。Amazon 慣れした体には、なかなか辛い2週間でした。
まず、試したのがこれ。DSA サイズの透明キーキャップ。正直、見た目は好みの分かれるところかな。ただ、「DSA のキーキャップだと、音もいいし、なんか打ち易い」、という点は確認できたので良かったです。というか、最初使っていた、Lofree のタイプライター風キーキャップが打ちにくいだけ、かもしれません。
#zinc キーボード、キーキャップ 透明にしてみたが、ダサい。。。これはあかん。。。 pic.twitter.com/Q9LcjwBbW1
— どどすけ (@dodosuke0920) 2019年1月17日
で、次に試したのが乳白色の半透明のキーキャップ。これは、Ortholinear キーボード用ではなく、普通のキーボード用ですが、刻印がないですし、使えるかな、と。実際に届いてみたのを見ると、なんか、作りがいまいち。上記の透明キーキャップ同様、裏側がすけて見えちゃってるし。半透明になった分、色も少しわかりにくくなってしまいました。部屋の電気消すと、いい感じなんですけどねぇ。
キーキャップ を乳白色のにしてみた #zinc #keyboard pic.twitter.com/Pz8iMkAP9t
— どどすけ (@dodosuke0920) 2019年1月26日
ぬ、沼深い。
バックライト LED
「キーキャップに文字ないけど、代わりに、LEDで色分けすればいいんじゃない?」と思ったこともあり、標準装備の LED Animation に頼らず、バックライト LED で細かく設定してみました。
参考にしたのはこの辺り。
で、理解するまでに時間がかかってしまったことがいくつか。わかってしまえば、大したことではないのですが。
- キーマップの設定はマスターの ProMicro のファームウェア更新するだけで反映されるけれど、LED に関しては両方の ProMicro のファームウェアを更新しないといけない。 Zinc の各種設定ファイルをみるとわかりますが、RGB の数が48個じゃなくて24個になっています。なので、Slave 側のLEDで何かしようと思うと、そっちのファームウェアも更新しないといけない。
- **RGB matrix じゃなくて RGB Lightning のAPIを使うべし。**Zinc はマトリックス上にLEDが配置されているので、RGB Matrix だと勝手に思い込み、遠回りしました。
今回は、「英数字キー」「矢印キー」「MODキー」って感じで大きく三つに分けて着色。全てのキーの Saturation と Value は同じにし、Hue だけグループごとに変えてみました。Hue については、絵で描くとこんな感じ。
で、こんな感じで、気分に合わせて色を変えられるようになりました。
こんな感じでキーの色変えられます。 #zinc #keyboard pic.twitter.com/1BOOIFl6NC
— どどすけ (@dodosuke0920) 2019年1月26日
あわせて、一定時間アイドル状態になったら、バックライトを消す設定も導入。毎回毎回、作業終わったら LED 消すのめんどくさいので。参考にしたのはこちら。
出来上がったコードはこんな感じ。現状、ケーブルを抜いてしまうと、LEDの設定が初期されてしまう問題が残ってますので、そのうち修正します。
以上。
コルネが欲しくなってきた。あと、いいキーキャップが欲しい。
comments powered by Disqus