manvaのエンジニアリング魂

エンジニアリング・ものづくり・DIYをもっと身近にするためのブログ。インスピレーションを刺激します。

マウス内蔵キーボードの作り方(ver.0.4) 右手用の配線

右手用デバイスを配線し,マウスとキーボードを切替えて使えるようになった。切替え用のキー(「マウスシフトキー」と呼ぶことにする)を押している間はマウスとして使え,離しているときはキーボードとして使える。

右手用デバイスは,24キーあって、基本的に3行8列の並びになっているのだが,3行8列のキーマトリクスにすると3+8=11本のピンが必要であり,マウスと共存させるにはPro Microのピン数があと1本だけ足りなかった。そこで、6行4列の配線にした。こうすればピン数は6+4=10本となり、1本節約できるので、ギリギリ実現できた。RAWピン以外全部使う↓。Arduino(Pro Micro含む)では,アナログ入力のピン(A0~A3)も,pinMode( )で設定すれば普通にデジタル入出力として使える(参照:pinMode() - Arduino Reference )。

f:id:manva:20210117002849p:plain

キーマトリクスについては、別記事に詳しく書いておいた↓。

manva.hatenablog.com

実際の配線は、1キーずつのプリント基板を用意すれば少し綺麗にできるだろうが、今回は空中配線にした。元々3行のキーを折り返して2列セットで電気的には6行1列のように配線するので、繋ぎ方がなおさら複雑になり、↓こんなに汚くなったがとりあえずできた。

f:id:manva:20210117110044j:image

Arduino IDEを使ってキーボード部分のプログラムをした。下記が参考になる。

eucalyn.hatenadiary.jp

ソフトに関してはまた別記事に書こう。

右手用デバイスで確認したいことはこれで完了。

 

続いて、左右分割したデバイス間の通信の開発に移ろうとして調べていると、一つ問題があった。Arduino IDEとQMK firmwareでは,シリアル通信の仕組みが違った。配線から違っていて,Arduino IDEでは,TX(送信)とRX(受信)をクロスして繋ぐ,割と昔ながらの一般的な仕組みなのだが,QMK firmwareではRX同士を繋ぐ1本だけで良いようになっている。

QMK firmwareを使った場合の分割キーボードのつなぎ方↓(他の方法もあるが) Split Keyboard - QMKより

f:id:manva:20210117162016p:plain

前のバージョン(マウス内蔵キーボードの作り方7(キーボードとマウスの融合Keybouse))で使っていたProMicroソケット(Pro Micro ソケット | 遊舎工房)ではこのつなぎ方だったので線は3本でよく,TRRSケーブル(4線)ではなく,TRSケーブル(3線)が使えた。この辺は前バージョンから取り外して流用するつもりだったのだが,Arduino IDEでは3線でのシリアル通信は用意されていないようなので,作り直す必要がある。もうひと頑張りいるな。