0 はじめに
PMW3610は省電力が売りで、zmk_firmwareで動かす、トラックボール搭載キーボードで比較的、よく使用されています。zmk_firmwareで分割、無線、トラックボール搭載のキーボードの偉大な先駆者である、kuma_key(@km080mk)氏のroBaに搭載されていたことが大きいと思います。私自身、PMW3610を使用するzmk_firmwareのキーボードをいくつか設計しました。しかしながら、私はこれまで使ってきたqmk_firmwareで、トラックボール搭載のキーボードは設計したことがありません。そこで、手元にあるPWM3610をqmk_firmwareで動かすことができないか調べてみました。
1 事前準備
「pwm3610 qmk」で検索すると、「動いた」というXのポストがあります。
これを頼りに、ローカルにある、vial-qmkに手を加えました。
(自分のマックに置いてあるqmk_firmwareはすでに使うことはなく、もっぱら、vial-qmkでファームウェアをビルドしています)
2 試行錯誤
この後、実際に、自分のキーボードのファームウェアにどうすればいいか全くわかっていなかったので(本当に、私は初心者です)、いろいろ試しました。でも、うまくビルドできずにいました。
「あ、そうだ!」せきごん氏の「のぎすけ屋」で販売しているマウスセンサーモジュールは、Auto-kdkは、qmkでも、zmkでも対応している。もしかしたら、参考になるかも...
と考えて、githubの情報を確認しました。
でも、よくわかりませんでした。
3 思いつきで、解決
私はマウスセンサーモジュールが発表されてすぐに、購入しました。分割、有線接続(qmk_firmware)、トラックボール搭載のキーボードをAuto-kdkでデザインしようと思いました。私の仕事場の一つは、ノートPCで、それをずっと使うことは少なく、無線接続ですと、PCのオンオフの度に、接続の確認をするのが億劫で、有線接続が好ましいと思っていました。結局、このデザインしたキーボードは仕事場で使われず、0から設計したcool936tb2_MX(zmkですが、PCと有線接続、左右間は無線接続)になりました。
Auto-kdkでトラックボール搭載の有線接続のキーボードを設計すると、ファームウェアも生成してくれます。その生成されたファームウェアを開いて、マウスセンサーモジュールをいじれば、なんとかなるかなと思いつき、やってみたら、ビルドができて、qmk_firmwareでPWM3610を動かすことができました。
変更箇所は次のとおりです。
paw3220.cはファイル名をpwm3610.cにして、その中身を置換で「paw3220」→「pwm3610」とします。
paw3220.hはファイル名をpwm3610.hにして、その中身を置換で「paw3220」→「pwm3610」とします。

rules.mkは、次のように記述しました。

config.hは、次のように記述しました。

pwm3610.hで、GPIOピンの指定は次のようにしました。


motionについては、今の時点で、どこに記述するかわかっていません。
ファームウェアのデータはここにあります。
(追記:20251222)動作確認の環境です。
(追記:20251223)記事公開後、良吉(@is_watering)氏からアドバイスをいただきましたので、ここで紹介します。
実は、この方法、自分も試したのですが、浅学ゆえ、うまくできずにいたところです(「2 試行錯誤」にあたる部分)。できるようになった今では、ちょっとだけわかる気がします。こちらの方が、ローカルに置いたqmk(私はvial-qmk)をいじらなくて済むので、よいと思います。