LINUX.ORG.RU

История изменений

Исправление wakuwaku, (текущая версия) :

если кому интересно, список необходимых для работы xbox360 wireless controller #1403 (aka JR9-00010) модификаций:

конфиг xboxdrv:

sunrise ~ # cat /etc/conf.d/xboxdrv 
XBOXDRV_OPTS="--device-by-id 0x045e:0x0719 --type xbox360-wireless  --wid 0 --led 0 --mimic-xpad-wireless --silent"

удаляем файлы блочных устройств несуществующих в системе джойстиков a4tech:

sunrise ~ # cat /etc/udev/rules.d/83-remove-a4tech-joystick.rules 
SUBSYSTEMS=="usb", ENV{ID_VENDOR_ENC}=="A4Tech", ENV{ID_INPUT_JOYSTICK}=="1", RUN:="/bin/sh -c '/bin/rm -f $env{DEVNAME}; for i in $env{DEVLINKS}; do /bin/rm -f $i; done'"

ну и также права на устройства, чтобы стим работал с геймпадом. не уверен, причина в том, что он делает это некорректно (через event-интерфейс), либо в чём-то другом.

sunrise ~ # cat /etc/udev/rules.d/90-event.rules 
KERNEL=="js*", SUBSYSTEMS=="input", MODE="660", GROUP="games" 
KERNEL=="event*", SUBSYSTEMS=="input", MODE="660", GROUP="games"
KERNEL=="js*", SUBSYSTEMS=="input", ATTRS{name}=="Xbox 360 Wireless Receiver", ATTRS{properties}=="0", SYMLINK:="input/jsx1"
в зависимости от того, что означает атрибут properties, может оказаться достаточно просто добавить симлинки для дополнительных контроллеров, но если это не то, что должно быть, тогда сложнее и я не знаю, как это сделать средствами udev.

да, пользователь должен быть в группе games.

при этом самому xboxdrv нужны модули joydev и uinput в ядре, ядерный драйвер xpad можно спокойно выкинуть, так как он не работает корректно с беспроводными гейпадами.

стим запускаю так:

export SDL_AUDIODRIVER=alsa;export SDL_JOYSTICK_DEVICE=/dev/input/jsx1;export __GL_THREADED_OPTIMIZATIONS=1; cd ~/steam/; STEAM_RUNTIME=1 LC_ALL=en_US.UTF-8 ./steam.sh

учитывая то, как общается с контроллером стим, ему нужен драйвер evdev в INPUT_DEVICES="keyboard mouse".

Исправление wakuwaku, :

если кому интересно, список необходимых для работы xbox360 wireless controller #1403 (aka JR9-00010) модификаций:

конфиг xboxdrv:

sunrise ~ # cat /etc/conf.d/xboxdrv 
XBOXDRV_OPTS="--device-by-id 0x045e:0x0719 --type xbox360-wireless  --wid 0 --led 0 --mimic-xpad-wireless --silent"

удаляем файлы блочных устройств несуществующих в системе джойстиков a4tech:

sunrise ~ # cat /etc/udev/rules.d/83-remove-a4tech-joystick.rules 
SUBSYSTEMS=="usb", ENV{ID_VENDOR_ENC}=="A4Tech", ENV{ID_INPUT_JOYSTICK}=="1", RUN:="/bin/sh -c '/bin/rm -f $env{DEVNAME}; for i in $env{DEVLINKS}; do /bin/rm -f $i; done'"

ну и также права на устройства, чтобы стим работал с геймпадом. не уверен, причина в том, что он делает это некорректно (через event-интерфейс), либо в чём-то другом.

sunrise ~ # cat /etc/udev/rules.d/90-event.rules 
KERNEL=="js*", SUBSYSTEMS=="input", MODE="660", GROUP="games" 
KERNEL=="event*", SUBSYSTEMS=="input", MODE="660", GROUP="games"
KERNEL=="js*", SUBSYSTEMS=="input", ATTRS{name}=="Xbox 360 Wireless Receiver", ATTRS{properties}=="0", SYMLINK:="input/jsx1"
в зависимости от того, что означает атрибут properties, может оказаться достаточно просто добавить симлинки для дополнительных контроллеров, но если это не то, что должно быть, тогда сложнее и я не знаю, как это сделать средствами udev.

да, пользователь должен быть в группе games.

при этом самому xboxdrv нужны модули joydev и uinput в ядре, ядерный драйвер можно спокойно выкинуть, так как он не работает корректно с беспроводными гейпадами.

стим запускаю так:

export SDL_AUDIODRIVER=alsa;export SDL_JOYSTICK_DEVICE=/dev/input/jsx1;export __GL_THREADED_OPTIMIZATIONS=1; cd ~/steam/; STEAM_RUNTIME=1 LC_ALL=en_US.UTF-8 ./steam.sh

учитывая то, как общается с контроллером стим, ему нужен драйвер evdev в INPUT_DEVICES="keyboard mouse".

Исходная версия wakuwaku, :

если кому интересно, список необходимых для работы xbox360 wireless controller #1403 (aka JR9-00010) модификаций:

конфиг xboxdrv:

sunrise ~ # cat /etc/conf.d/xboxdrv 
XBOXDRV_OPTS="-D --device-by-id 0x045e:0x0719 --type xbox360-wireless  --wid 0 --led 0 --mimic-xpad-wireless --silent"

удаляем файлы блочных устройств несуществующих в системе джойстиков a4tech:

sunrise ~ # cat /etc/udev/rules.d/83-remove-a4tech-joystick.rules 
SUBSYSTEMS=="usb", ENV{ID_VENDOR_ENC}=="A4Tech", ENV{ID_INPUT_JOYSTICK}=="1", RUN:="/bin/sh -c '/bin/rm -f $env{DEVNAME}; for i in $env{DEVLINKS}; do /bin/rm -f $i; done'"

ну и также права на устройства, чтобы стим работал с геймпадом. не уверен, причина в том, что он делает это некорректно (через event-интерфейс), либо в чём-то другом.

sunrise ~ # cat /etc/udev/rules.d/90-event.rules 
KERNEL=="js*", SUBSYSTEMS=="input", MODE="660", GROUP="games" 
KERNEL=="event*", SUBSYSTEMS=="input", MODE="660", GROUP="games"
KERNEL=="js*", SUBSYSTEMS=="input", ATTRS{name}=="Xbox 360 Wireless Receiver", ATTRS{properties}=="0", SYMLINK:="input/jsx1"
в зависимости от того, что означает атрибут properties, может оказаться достаточно просто добавить симлинки для дополнительных контроллеров, но если это не то, что должно быть, тогда сложнее и я не знаю, как это сделать средствами udev.

да, пользователь должен быть в группе games.

при этом самому xboxdrv нужны модули joydev и uinput в ядре, ядерный драйвер можно спокойно выкинуть, так как он не работает корректно с беспроводными гейпадами.

стим запускаю так:

export SDL_AUDIODRIVER=alsa;export SDL_JOYSTICK_DEVICE=/dev/input/jsx1;export __GL_THREADED_OPTIMIZATIONS=1; cd ~/steam/; STEAM_RUNTIME=1 LC_ALL=en_US.UTF-8 ./steam.sh

учитывая то, как общается с контроллером стим, ему нужен драйвер evdev в INPUT_DEVICES="keyboard mouse".