お世話になっておりますキーボードを作る
TLに流れてきたこのツイート
よく使うキーボードが発売! pic.twitter.com/BcXMyCX0Le
— サドルとペダル (@Pedalandsaddle) 2017年11月27日
できるぜコレ。てか、ショートカットキーをまとめた、カスタマイズ可能なキーボードを、前々から作りたいと思ってた。
部品を選定
一番大事な部品は、細長いキートップなんだけど、カスタマイズキーボードを作っているメーカーに有った。
MX青軸水平用2倍キーBC黒(5ケセット) MX-ENN-WHBCG を購入。キートップにラベルが入れられるタイプです。キー本体は、コダワリの青軸(カチカチ音がするタイプ)です。直販で5個で700円+送料500円+税です。
次に大事なのはケースですが、タカチのSW-95Bを切削加工してもらい作りました。マルツを通して3個で8,488円。
基板を設計
Arduino互換機にしました。プログラマブルにする事でキーのカスタマイズに自由度を持たせます。マイコンにATmega32U4を使い、Arduino leonardo互換にする事で、HIDキーボードのシミュレートできる機能を使います。
Arduino互換機としては、最小構成だと思います。使っていないピンも含めて出してありますが、何に使用するか不明です。一応です。また、D2~D4のLEDとSW1~SW3のLEDの部分は一応配線している感じで部品は付ける気はありません。
回路としては、実にシンプルです。ケースに合わせたので、余白が多いですね。もっとシルクで遊べばよかった。
中国のFusion PCBに基板を頼み、その他の部品をRSコンポーネンツで発注します。
組み立て
難しいところは無く、チップ部品を1608(0603)にしたので、裸眼じゃちょっと辛いぐらいです。
組み立て終わったところ
ケースにねじ止めできそうなところが無かったので、スペーサーをかまして裏蓋と挟むことによって、基板がケース内で動かないようにしています。
ケースに入れたところ。がたつきも無く、ピッタリ収まっています。
USB Micro-B部
ソフトウェア
このハードウェアから、パソコン側のIMEがオンになっているかどうかは把握できないので、IMEがオンの状態で使用してもらう前提です。スイッチを押すと、ローマ字の文字列のキー信号をバーっと出すプログラムです。
Arduino leonardo互換にしたので、Arduino IDEからプログラミングが可能です。
#include <Keyboard.h> #define key1 10 #define key2 11 #define key3 12 char message3[] = "osewaninatteorimasu. \n"; char message2[] = "otukaresamadesu. \n"; char message1[] = "yorosikuonegaisimasu. \n"; void setup() { pinMode(key1, INPUT_PULLUP ); pinMode(key2, INPUT_PULLUP ); pinMode(key3, INPUT_PULLUP ); Keyboard.begin(); } void loop() { if(digitalRead(key3) == LOW){ for (int i = 0; i < sizeof(message3) - 1; i++) { Keyboard.print(message3[i]); delay(10); } } if(digitalRead(key2) == LOW){ for (int i = 0; i < sizeof(message2) - 1; i++) { Keyboard.print(message2[i]); delay(10); } } if(digitalRead(key1) == LOW){ for (int i = 0; i < sizeof(message1) - 1; i++) { Keyboard.print(message1[i]); delay(10); } } }
完成品はこちら
.@Pedalandsaddle 出来ました! pic.twitter.com/9zZ54QjSsb
— イチロヲ (@ichirowo) 2017年12月17日
コメントはありません