Translate

2018年11月30日金曜日

Logicool F710 コントローラを使ってDonkey Carを操作するコントローラを作成した

Donkey CarのGitHubリポジトリが2.5.1から2.5.8にかわり
リポジトリ構成がどんどんかわってきている。

その過渡期にDonkey Carに取り組んでしまったのは
不幸かもしれない。

ジョイスティックコントローラもそんなひとつ。

だって、
autorope/donkeypart_ps3_controller

autorope/donkeypart_bluetooth_game_controller
のふたつがあり、
前者は
/dev/input/js0を標準ライブラリで読む
仕様であり、後者は
/dev/input/event0 をevdevパッケージで読み、かつ設定ファイルをyamlで書く
仕様になっている。

どうもBluetooth側が後発であり新しそうなので、
おそらくこっちで統一しようとしているのだと思う。


というわけで上の図で紹介している
Logicool製F710コントローラをDonkey Carコントローラにする
コントローラクラスの親クラスは
autorope/donkeypart_bluetooth_game_controller
を使うことにした。

で、調べてみるとこのF710、上面にD/Xを選択するスイッチがあって、
これを操作することで DirectInput/Xinput仕様どっちもうごかせるようになっている。

さらにevdevパッケージで製品名を調べると、
スイッチ変えるごとに名前が違う事が判明..

しょうがないのでどっちでも動かせるように
作り変えた。
こんなトンデモ仕様のジョイスティックを想定していない
親クラスは、結局YAMLファイルへ個別仕様の封じ込めに失敗することとなる...

で、作ったのがコレ
coolerking/donkeypart_game_controller
 一応oldディレクトリにPS3系パッケージを継承したクラスも用意しています。

詳細は上記リンクを参照のこと。

p.s.
なお、ELECOM製JC-U3912Tというコントローラも
一緒に作ってみました..



0 件のコメント:

Animaworks 0.5.2 を docker compose up しても起動できない

多分現時点のバグだと思うが、忘備録として 2026/3/10 10:30 時点では git clone https://github.com/xuiltul/animaworks.git cd animaworks cp .env.example .env vi .env # a...