HTC Magicの極小トラックボールを再び!

 今のように単なるガラス板のようなクソつまらないスマホばかりになる前の時代。
 かつてHTC Magic(Docomo HT-03A)やBlackBerry Bold 9000など、極小トラックボールを搭載したモバイルデバイスがいくつか存在していました。
(参考画像)

 私自身が2009年当時HT-03Aを使っていて、トラックボールでの微細なカーソル移動やコピー&ペーストの使い勝手の良さに「素晴らしい!!」と感動していたのですが、その後トラックボールは見事に廃れてしまいました。

 それから月日は流れ、ふとAliexpressを見ていると…

ICSH044A スプリットボード BlackBerry トラックボール ホール効果センサー 360 ° トラックボールモジュールセンサー (2025年8月現在398円)

マイクロ/ミニ/TYPE-C USB ATMEGA32U4 モジュール 5V 16MHz ボード Arduino ATMEGA32U4-AU/MU コントローラプロマイクロ交換プロミニ TYPE-C USB 3-6V (2025年8月現在601円)

 同じトラックボールモジュールを積んだ基板が売られてる!
 しかも動作電圧:2.5-5.25Vだから、ProMicroにジャンパ直結で制御できるのでは!?

俺「できる?」
AI君「できます」

 というわけでClaude Proにピンアサインとコード生成を色々とお願いした結果、修正20回目でようやく使い物になるレベルのものが出てきました。
>> Aruduino IDE用コードmini-trackball.ino(右クリック→名前を付けて保存)

(上記コード用の配線図)
トラックボール→ProMicroへのピンアサイン。
VCC → VCC (5V)
GND → GND
UP → デジタルピン 2
DOWN → デジタルピン 3
LFT → デジタルピン 4
RHT → デジタルピン 5
BTN → デジタルピン 6
RED → デジタルピン 7
GRN → デジタルピン 8
BLU → デジタルピン 9
WHT → デジタルピン 10

(ブレッドボードジャンパで配線した様子)

 Aruduino IDEやProMicroの使い方はNCIV氏の記事「Arduino IDE に Pro Micro を認識させたい」を参考に環境をセットアップしたら、先ほどのmini-trackball.inoのプログラムをSketch→Verify/Compile。
 ProMicroのRST-GNDを2回ショートさせてから適切なCOMポートを選択し、Sketch→Uploadで書き込んで正常終了すれば成功です。

 ちなみに今回のコードでは以下のキー設定になっています。

操作 内容
トラックボール転がし キーボードの上下左右キーを送信
トラックボールボタン短押し
(トグル操作)
SHIFTオンを送信
SHIFTオフの後にCTRL+C送信
トラックボールボタン長押し CTRL+V送信

 つまり、テキスト選択状態(ウェブブラウザの文字をタップ長押しやテキスト位置にカーソル移動)でトラックボールボタンを短押し→左右にトラックボールを転がすことで1文字ずつ文字選択。選択範囲の終端で再びトラックボールボタンを単押しするとSHIFTロックが解除され、選択範囲の文字列がCTRL+Cでコピーされます。
(コピーしたい場所でトラックボールボタンを長押しするとCTRL+V=貼り付け)


 これこそがHTC Magicの操作性の良さの真骨頂であり、この仕組みの失われた今のスマートフォンUIは本当に勿体ないと思うのです。

・・

 ちなみに余談ですが、今回Claude Proにコーディングしてもらううえで複数回要求した内容には、以下のような内容も含まれています。
「同一方向に何度も転がし続けた場合、カーソル移動を加速する」
「ボタンを押し込む時にボールが転がってカーソルがずれるので20ミリ秒以下の移動操作は無視する」

 別の操作系にカスタムしたい人は、Claude Proにソースコードとピンアサインを丸ごと渡してお願いすればマウスカーソル移動&マウスクリック版や、ボタン押下でENTERを送信できる「クルクルピッピ(死語)」版を作ることもできるでしょう。

 個人的には実現可能ということがわかっただけでも満足なので、あとはサンワサプライたんとかエレコムたんの中の人に是非とも市販レベルのものを作っていただきたい所存であります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です