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 件のコメント:

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...