Во время игры 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
в игровой консоли.