トラックボールのセンサ

トラックボール部は今回の製作の中でも、大きなチャレンジだった。キーボード部は、最初からNyquistを改造して使うことを決めていた。キットだから作例も多く、あまり問題になることはない。しかし、トラックボールの自作となると、ネットを見てもあまり作例は多くない。何より、わたし自身が以前、一度製作に挫折している。
最初は市販のトラックボールのボールカップとセンサをそのまま流用して試作してみたのだが、これでは、トラックボール部とキーボード部を連動して制御できない。一体化する意味が半減してしまう。となると、ボールカップ3Dプリンタで自作し、市販の光学マウスセンサをNyquistにつなげるか?そう思っていはいたものの、何しろ素人。マイコンを使ってセンサICを制御したことなどなく、自分にできるかどうかも分からない。
いろいろ思案していたところ、Bit Trade One でAvago / ADNS-5050という光学マウスセンサを販売しているのを目にした。
今や、マウスが数百円で買えることを考えると、センサだけで880円はあまり安くはないが、何しろデータシートはあるし、いろんな面で信頼できる。
しばらく悩んだが、やる気を出すために(埋没費用効果?)買ってしまうことにした。

ハードウェアのコンセプトについて

私の個人的な話になるのだが、今から20年以上前、Panasonic Let’s note AL-N2 というノートパソコンを愛用していた。
このパソコンは、キーボードの手前に光学式トラックボールを搭載していて、キーボードからあまり手を離すことなく、トラックボールの操作をすることができた。また、ボールの球径こそ、19mmと小さいものの、当時としては珍しい、ボールにドットパターンが見えない光学式トラックボールで、かつ、当時の他のPCのトラックパッドとは比較にならないほどの、リニアでスムーズなマウスカーソル操作が可能であった。
個人的にこの、キーボード手前のトラックボールというのが、とても気に入っていたので、いつか自分でもそんな入力デバイスが欲しいと思っていた。これが、目的の一つ。
 
もう一つ、過去に気に入っていたものがある。Microsoft Trackball Optical という、やはり20年ほど前のトラックボールである。
このトラックボール、親指操作型トラックボールとしては、ボール径や筐体がやや大きく、筐体にやや右下がりでゆったり右手を置くと、手指の負担が少なくトラックボール操作ができた。
 
この両者の特徴を、何とか一つのデバイスとしてまとめることはできないか?というのが、今回の入力デバイスの初期コンセプトだった。
 
 そしてその後、いろいろ試行錯誤を繰り返してできたのが現在の形ということになる。
キーボードの左右に傾斜をつけ、高くなった中央にトラックボールを設け、トラックボールのボタンはキーボードと兼用する。手首の負担を考えて、あえて、ホームポジションから指をずらして、パームレストに手を置いてトラックボールを操作する。トラックボールモードとキーボードモードを意識せずに切り替えるためにパームレスト部にタッチセンサを設ける。これらは、試作や思考実験を繰り返しながら詰めていった仕様だ。

f:id:EdoBall:20201103124525j:plain

ボロボロで汚れたLet's note AL-N2。今も捨てられずにいる。

はじめまして

はじめまして

ちょっとした入力デバイス、キーボード付きトラックボールを自作したので紹介したいと思う。
 
実は、10年以上前、私はトラックボールを作ろうとして挫折したことがある。私は、電子工作もプログラミングも素人で、当時は私のスキルでは実用的なものは作れなかった。しかし、時は流れ、Makerムーブメントの拡大、キーボード自作ブーム、3Dプリンタの普及……。素人がモノを作るにあたり、いろいろな面でハードルは下がってきた。おかけで、時間はかかったものの、今回は挫折せずにキーボード付きトラックボールを完成することができた。
 

EdoBall KB-I

EdoBall KB-I
見ての通り、トラックボールとキーボードが一体化したデバイスである。
これからしばらく、これがどんなデバイスか、これをどうやって作ったかを紹介していきたいと思う。
若い方の作品に比べれば、どうにも拙いモノではあるが、お付き合いいただきたい。
 
まずは、今回作成したデバイスの概要を説明しよう。
 

EdoBall KB-I の特徴

  • 親指操作型34mmトラックボールと5x14直交型(orthogonal)左右分離型キーボードを統合したもの。
  • 基本キー配列はUS。日本語キーボードとして認識された場合も、US配列となるモード有り。
  • トラックボールのキーは、キーボードのキーと共用。パームレスト部のタッチスイッチで、トラックボールモードとキーボードモードを切り替え。
  • トラックボールによるスクロール機能。
  • Emacsライクなカーソル移動キー配列をサポート。
 

その他の仕様

 

ハードウェアの概要

  • ベースとなるキーボードはKeebioのNyquistのキット。これに、左右一列ずつ加え、通常のUS配列があまり無理なく収まるようにした。(他の(特にノートPCの)キーボードと併用しても、違和感を少なくするため。)右側のキーボードには球径34mmのトラックボールを統合した。筐体は3Dプリンタで作成した。
  • キーボード部のファームウェアはQMK FirmwareNyquistのものを多少修正して使用。別に、トラックボールセンサとタッチスイッチのために、Arduino Pro Micro互換機を使用(こちらは、QMKではなく、通常のArduinoライブラリを使用)。キーボード部のPro MicroとはI2Cで接続した。
ファームウェアの詳細等については、今後書いていきたいと思う。