早速のご指導ありがとうございます。
まだ良く理解していないのですが、ネットで下記の記事を見つけて参考にしようかと思っていました。どう思われますか?
https://www.catv296.ne.jp/~myergo/gameport_joystick_conversion.html#3
YONさん、情報ありがとうございました。このサイトは知らなかったです。まさに私がチャレンジしてたコントローラーの改造ですね。
- MMJoy2については一度試してうまくいかなかったような気がします。ただ、何が問題だったのか覚えていないのでもう一度試してみようと思います。
- 私の紹介した内容と決定的に違っているのがボタンマトリクスのColumnとRowが反対になっているところです。実はダイオードの向きを考えて紹介あったColumnとRowの組み合わせと同じ方法で設定してみたのですが、Joystick Libraryを使った設定では組み合わせを反対にしないとうまく動きませんでした。
- 紹介いただいたサイトではダイオードを追加していましたが、CHジョイスティックのグリップでは追加する必要はなさそうです。このダイオードはボタンを2個以上同時押しする際に誤作動を防ぐための物なのですが、グリップ上でどのボタンや4方向スティックを同時押しすることが出来るかを考えてみると全部のスイッチにダイオードを付ける必要はないのだろうと思います。私はグリップ内部に装着されたダイオードだけで配線しましたがそれで問題なさそうです。CH社もその辺りを考えて必要なところにだけダイオードを付けていたのではないかと思います。ただ、CH Pro Throttleを改造した時にはグリップ内部だけではなく本体の基板上にも5個ダイオードが付いていたのでその先からArduinoに線を伸ばして接続しました。
- MMJoy2ではVID(ベンダーID)、PID(プロダクトID)を自由に設定できるようですが、これらは機器ごとに製造者が取得しているものでArduino Leonardo(互換のPro Micro)はVID=0x2341, PID=0x8036となっています。かってな数値を入力して他のUSB機器とバッティングしても困るので、数値を変える場合は自家用のものに関してPIDを少しずつ変えていくのが良いのではと思います。
取り急ぎ気のついたところを書いてみました。
Naoki_NT3
なるほど、とても難しそうですね。僕は何処かに隠れているArduino Pro Microを捜索中です(笑)
改めてMMJoy2を使って設定してみたらHat Switchの設定も含めて結構簡単に設定できました。設定の仕方や注意事項をまとめたので添付します。皆さんの参考になれば幸いです。以前私が失敗していたところは添付資料の赤字部分だったみたいです。
Naoki_NT3
いつも素敵な情報の共有をありがとうございます。FFB2は以前から使っていましたが、CHのスティックもコンディションの良いものを手に入れたので、同様の改造を試みる予定です。
ほぼ同じタイミングでVKBの安いスティックも入手しまして、そちらの操作感も素晴らしいので、どちらを使って行くか迷ってしまいます。
追加情報です。最初の投稿で以前に作ったのはThrustmasterのグリップと書いたのですが、良く見るとCH Productsの製品でCH Pro Stickのボタン少ない版でした。二つの4方向ボタンが普通のボタンになったもので筐体は全く同じものでした。まぁボタンが少ないことでArduinoのデジタルピンに直結できる単純な様式です。今回ChatGPTを駆使して改めてJoystick Libraryを使ったスケッチ作成に挑戦、ついにHat Switchの搭載に成功したのでスケッチを載せておきます。for構文を使うともっとスマートなスケッチになると思いますが力技で長ったらしいスケッチになってしまいました。
もう一つおまけでMSFFB2をベースにCH Productsのグリップを取り付ける時に使ったスティック延長軸の3Dプリンター用のデータも載せておきます。MSFFB2取り付け側は溝が切られていて回転止めになっていて、グリップ側は圧着ねじ止めなので簡単に取り付け出来ます。後は好みで長さを調整してみて下さい。
近いうちにまた近所のファブラボに行って長さの違うものを作ってみようと思ってます。どなたか延長軸が欲しい方おられましたら連絡下さい。材料代+送料でお作りします。なんと、私が今住んでる田舎の町では市がフィギア製造で有名な海洋堂とコラボしてファブラボを運営しているのです。
Naoki_NT3
P.S. MMJoy2のFirmwareをアップロードしたArduino Pro Microを元のFirmwareに戻そうとして失敗して文鎮化してしまったのですが何とか回復できました。Pro MicroのブートローダーにはArduino IDEについてくるCatarina-Micro.hexをアップロードしないと行けないようです。最初Catarina-Leonardoをアップロードして失敗してしまいました。