evdev APIがジョイスティックレガシーAPIを強制的に置き換える方法は?

evdev APIがジョイスティックレガシーAPIを強制的に置き換える方法は?

Steamはジョイスティックを使用するときにのみevdevドライバをサポートしているので、「wii-u-gc-adapter」ツールを使用してSteam Workでうまく動作する素晴らしいwii u「usbアダプタ」と2つのゲームキューブコントローラを持っています。

私は(エミュレータと一緒に)うまく動作する2つのWiimotes(クラシックコントローラと一緒に)を持っていますが、以前のジョイスティックAPIでは、/dev/input/js0inとoutに2つのファイル(ジョイスティックあたり)を生成することがありました/dev/input/event11

「hid-wiimote」モジュール(理論的にはevdev wiimoteドライバ)をインストールしましたが、sdl2-jstestユーティリティ(sdl2-jstest --list)を使用しなくてもSteamでは認識されませんが、「evtest」があります/dev/input/event11/dev/input/by-id/またはにシンボリックリンクがありません/dev/input/by-path

ポイントは、これらのAPI間で変更を強制する方法があるかどうかを知りたいことです。どんなアイデアでも大いに感謝します。

ベストアンサー1

Joystick APIのカーネルモジュールをブラックリストに載せて削除することができました。カーネルモジュールを削除するには
実行してください。ロードされていないことを確認してください。何も印刷してはいけません。モジュールがロードされないようにブラックリストに追加してください。 Nowに行を追加します。ゲームパッドを接続したら、/dev/input/by-idにevdevのAPIデバイスのみを表示する必要があります。sudo rmmod joydev
lsmod | grep joydev
blacklist joydev/etc/modprobe.d/blacklist.conf

しかし、これは正しいアプローチではないようです。その理由は、SteamとChromeでゲームパッドを検出するのに問題があったからです。

おすすめ記事