キーボード自作よりも簡単な自作マウスのススメ ~トラックポイントの代わりに~

キーボード自作したこと無いけどアレより簡単でしょ。

Why

今ノートパソコン使っていますが速度に限界を感じてきました。 なので新しいのが欲しいのですが別にノートじゃなくてもいいかなと思っていたのでデスクトップを組もうと思います。 そこで問題になるのが今使っているノートパソコンがThinkPadということです。そう、トラックポイントからは離れられないのです。 Think Keyboard使えばいいのでは?と思う方もいるでしょうが、あれはFnとCtrlが入れ替えられないのでダメです。 ついでに肩も疲れるので分割キーボードであるErgoDox EZを使おうかと思っています。 トラックポイントはキーボードのホームポジションから手を離さずにカーソル操作が可能です。 というわけでキーボードから手を離さずにカーソル操作ができるデバイスを作らなけれなならないと決心しました。

Do

部品

ボード

ファームとか面倒なんでArduinoを使います。Arduino Leonardo、又は互換を使用しましょう。普通のArduinoはダメです。それ知らなくて1000円ドブりました。 まぁブートローダーぶっ壊れた時に直せるという用途があるのでいいんですけどね。
Arduino LeonardoはUSB機器としてPCに認識させることができますのでUSBキーボードにもUSBマウスにもできちゃうのです。

Arduinoを刺すブレッドボード、とかピンとかそこらへんの説明は端折ります。Arduinoスターターキットみたいなのに入ってるでしょ。
f:id:matsudamper:20180402082711j:plain

カーソル

スライドパッド又はジョイスティックは好きなものを選んでください。多分これ一択。
f:id:matsudamper:20180402082621j:plain:w300

そこに替えのトラックポイントの中をくり抜いて装着しました。

ボタン

ボタンもお好きなのを選びましょう。今回は適当にこちらを購入。
f:id:matsudamper:20180402082659j:plain:w300

ただこれ押しにくいのでプラバンを固定して軽い力で入力できるようにしました。
f:id:matsudamper:20180402082647j:plain

その他

指に固定するのはベルクロを使いました。
ユニバーサル基板の下にはプラ板を敷いています。近くの模型屋で購入しました。
マスキングテープで巻き付けています。

工夫した所

ボタン入力は押し込むだけだから指からずれないんですがカーソル入力は360度グリグリいくので指の皮がたるんで入力しづらいのでガッチリ固定するためにプラ版を重ねて固定しています。
f:id:matsudamper:20180402082723j:plain

ベルクロの裏が痛いのでマスキングテープを貼っています。
f:id:matsudamper:20180402082735j:plain

指から減らす線を減らすために+と-をそれぞれ手元側で繋ぎました。
f:id:matsudamper:20180402082634j:plain

部品は大体秋月電子で揃います。店行って選んだほうがいいかなって思います。
それからはんだは良いものを使ったほうが良いです。それと変調機能がある半田ごて使ったほうが良いと思います。半田吸収する時に温度上げると楽だったり。良いもの使おう。

ソフトウェア

ここに置いてあります。
https://github.com/matsudamper/Arduino

横スクロールはここを参考にしてください。
https://arduino.stackexchange.com/questions/46055/can-the-mouse-library-scroll-horizontally

CとかC++で書けます。ココらへんは説明端折ります。
Visual Studio Codeで書くと良いですよ。 そのための設定もリポジトリにありますので参考にしてください。
Kotlinっぽく書きたくて一部クソコードになってます。お遊びです。

完成品

f:id:matsudamper:20180402082751j:plain

まだErgoDox EZが届いてないのでこんな感じで使っています。

欠点は外さないとストレッチとかできないことでしょうか。

マウス使わなくていいのでなかなか楽です。早くErgoDoxと一緒に使いたい。

おわり

欲しいものが無かったらどうするの?

無いものは作るしか無い。

www.nicovideo.jp