Включить джойстик вместо сенсорной панели в Xonotic

При игре Xonotic джойстик Logitech F310 уже работал, но после перезагрузки компьютера он перестал полностью работать.

Когда я нажимаю shift+esc во время игры я пытаюсь включить джойстик с

joy_enable 1

но, кажется, включить мой тачпад вместо джойстика.

Это пишет:

Joystick 0 opened (SDL_Joystick 0 is "ETPS/2 Elantech Touchpad" ...

Игра начинает вращаться и кнопки джойстика не работают.

Как это исправить, чтобыjoy_enable 1 это включит мой джойстик?

Джойстик виден в jstest-gtk как /dev/input/js0

Я также установил переменную

export SDL_JOYSTICK_DEVICE=/dev/input/js0

sudo chmod 777 /dev/input/js0

1 ответ

Решение

Похоже, SDL по ошибке идентифицирует ваш тачпад как джойстик. Это кажется странным, но имеет небольшой смысл, если вы понимаете, что входы джойстика и сенсорной панели выглядят одинаково. Они оба посылают входные данные в виде пары абсолютных координат X и Y, и у них обоих есть кнопки.

Вероятно, SDL также видит ваш геймпад F310, но перечисляет устройства в другом порядке, в зависимости от того, был ли геймпад подключен во время запуска игры. Вы можете сказать xonotic использовать второй геймпад, запустив joy_index 1 в игровой консоли.

Другие вопросы по тегам