Я пытаюсь написать скрипт, который определит, какой тип геймпада подключен к системе Linux (в частности, в Ubuntu).
Я попытался просмотреть файлы в папке /sys/class/input/js*
, но не смог найтичто-нибудь определенное, чтобы определить, какой тип контроллера подключен (Switch против Xbox против PS3 против PS4).Большая часть информации относится к этому контроллеру.
Я бы хотел, чтобы это работало на Python или BASH, и с этой целью я попробовал модули pynput
, pygame
и inputs
Python.Все из которых либо не имеют документации метода для этого, чтобы работать, либо не имеют такого метода.
Для попыток BASH, я попытался:
sudo cat /sys/kernel/debug/usb/devices | grep -E "^([TSPD]:.*|)$" | grep 'Product='
в то время как этот методГоворит ли я, что подключен какой-то геймпад, а для контроллеров Xbox мне даже говорят, что это для Xbox One или 360, я думаю, что не все контроллеры будут делать это.И контроллеры PlayStation и Switch, которые я тестировал, на самом деле этого не делают.
Я также проверил /sys/class/input/js*/device/capabilities/abs
, но я понятия не имею, насколько это окончательно.
По сути, я хочу что-то, что будет либо возвращать число или строку, либо какой-то другойметод определения, какой тип контроллера я подключил. Если есть способ сделать это на файловой системе с помощью скрипта BASH или с помощью какого-либо модуля Python, то в любом случае будет работать.
Спасибо впередвремени!Если есть лучший способ обнаружить это, пожалуйста, дайте мне знать!Я открыт для предложений!