Gotanda.rbで前述のこれを発表するときに、USB HIDのReportの中身みたいな内容の話をした。話すにあたってLinuxの usbhid-dump コマンド*1と同様のUSB HID Report観察ツールをmacOSで探したところ、意外とどこにもなかったので、こちらもClaude CodeにSwiftで書かせた。当日は時間がなかったのでReportを監視するだけのツールとして作ったけど、あらためてDevice DescriptorやReport Descriptorも出力できるコマンドとして作り直して公開した。SwiftでCLIツールを作ったのは初めてだったが、ArgumentParserがかなり使いやすいし、素朴にSwiftの書き味もいいので結構アリな気がする。
この手の解析ツールは公式に提供されていてもおかしくないツールだと思うものの、入力監視の権限が必要になるし実質的にキーロガーのような振舞いをするため、なるべくセキュアにやっていきたい都合上こういうのは公開できないのだろう。利用する上では注意してね、ということをrepoのREADMEにも書いている。
このツールを使うとMacBookに組込まれているおもしろセンサーの値も取れることが分かった。たとえば、画面のヒンジの角度がどれくらいか、というのもUSB HIDで取ることができる。何に使うのかって感じだけど、これをもとに画面の明るさや車両モーションキュー*2の動かし具合などを調節しているのかもしれない。
今後Raspberry Pi Picoでおもしろツールを生成するにあたって、かなり愛用するであろうツールが作れたので満足している。