デバイス名で、デバイスの/dev/input/event*パスを見つけます。

デバイス名で、デバイスの/dev/input/event*パスを見つけます。

私の/dev/input/event*デバイスリストでゲームパッドを見つけなければevtestなりませんG13。問題は、再起動するたびに異なる番号が表示されることです。変数がこのコマンドに渡すことができるように、パスを自動的に見つけたいと思います$G13。試してみましたが、evtest | grep G13問題はevtestコマンドがそれ自体で終了せず、対話型なので、スクリプトがプロンプトで停止することです。

xboxdrv --evdev $G13 --config ~/.config/xboxdrv/G13.conf &

ベストアンサー1

あなたはウデブルールは、デバイスへの継続的なシンボリックリンクを提供します。udevadm info -a /dev/input/eventXX現在のゲームパッドを表すデバイスに対して起動して起動します。

次のような出力が表示されます。

    ATTR{power/runtime_suspended_time}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/input/input29':
    KERNELS=="input29"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ...
    ATTRS{id/product}=="c21d"
    ATTRS{id/vendor}=="046d"
    ...

次の内容でファイルを作成します/etc/udev/rules.d/90-gamepad.rules

SUBSYSTEMS=="input", ATTRS{id/product}=="c21d", ATTRS{id/vendor}=="046d", SYMLINK += "gamepad"

...製品とベンダーの値を出力に表示される値に置き換えます。

ファイルを保存し、次を実行します。

udevadm control -R

/dev/gamepadゲームパッドを取り外して再接続すると、そのデバイスへのシンボリックリンクが表示されます/dev/input/...

/dev/gamepadこれで、パスを変更する代わりにデバイスパスを使用できます/dev/input

おすすめ記事