ARU
ARU copied to clipboard
Решение редкой проблемы с геймпадами
Итак, иногда встречается проблема - геймпад просто не работает и начинает работать, только если загрузить Винду и перезагрузиться в Линукс. При отключении и включении геймпада обратно, проблема возвращается.
Для решения этой проблемы существует скрипт https://gist.github.com/dnmodder/de2df973323b7c6acf45f40dc66e8db3 Для работы скрипта необходим пакет pyusb
Что бы не запускать скрипт руками, мною было написано правило udev:
SUBSYSTEM=="input", ACTION=="add|change", ENV{ID_SERIAL}=="SHANWAN_Controller", ENV{ID_BUS}=="usb", RUN+="/opt/scripts/fixcontroler.py"
Смотрим ID_SERIAL своего геймпада командой udevadm monitor --environment --udev
и вписываем в правило после ENV{ID_SERIAL}==
Качаем скрипт по ссылке выше, сохраняем с расширением .py, делаем исполняемым и кладем в удобную для себя директорию. Пишем путь до скрипта в RUN+=
Теперь кладем правило в /etc/udev/rules.d/ и перезагружаем систему.
Все. Теперь каждый раз при обнаружении конкретного геймпада, будет запускаться скрипт и геймпад будет работать нормально.
Тестировалось на геймпаде SVEN GC-250
Похоже это крайне специфичная проблема, которая касается геймпадов не от Microsoft и Sony
@Vochatrak-az-ezm
This script should no longer be necessary thanks to the latest changes made to the master branch of the xpad [https://github.com/paroj/xpad] driver, please give it a try and report any regressions you find.
Уверен, что этот скрипт до сих пор актуален? Все пишут, что лучше использовать новейшую версию xpad драйвера.
dewdpol Sony точно не касается, насчет MS не уверен.
ventureoo Когда последний раз проверял (вначале года), помогал только скрипт. Через пару дней попробую проверить починили ли xpad.
@Vochatrak-az-ezm у меня есть геймпады Dualsence и Xbox one gamepad. На них проблем нет, но если подключить по Bluetooth сначала dualsence, то геймпад Xbox не подлючается. Использовал последние драйвера xpadneo-dkms-git
ventureoo Ну, xpad конечно "сбрасывает" геймпад, но только при подключении. Если пад уже был воткнут до загрузки системы, он не срабатывает, пока не вытащишь-воткнешь. Идеально было бы написать правило udev, которое работало бы так же, как "мое" с тем скриптом. Но я не понял как сделать...
dewdpol Описанная мной проблема касается в основном Китайских падов, косящих под пад от Xbox 360.
В принципе можно обойтись только правилом udev, без дополнительного скрипта: https://gist.github.com/pavel-kirienko/86b9d039151405451130a0fb3896887c