Настройка геймпада игнорируется играми

Недавно я получил проводной (USB) геймпад XBox 360. Это было почти подключи и играй на моем ноутбуке под управлением Ubuntu 12.04. Однако некоторые оси управления были перепутаны. Я использовал jstest-gtk для перенастройки отображения и jscal-store для (предположительно) сохранения новой конфигурации. Тем не менее, когда я запускаю Xonotic или Nexuiz (шутеры от первого лица), они все еще используют оригинальное смешанное сопоставление. Как заставить эти игры распознавать новую конфигурацию? Кстати, меня больше волнует работа с Xonotic, мне действительно наплевать на Nexuiz. Пожалуйста, не беспокойтесь о том, почему я должен придерживаться мыши и клавиатуры для игр. [:-) Заранее спасибо.

4
задан 26 June 2012 в 04:40

2 ответа

В расширенных настройках Xonotic существует две переменные: joy_axispitch и joy_axisyaw который должен быть изменен. К сожалению, Xonotic сбрасывает их для установки по умолчанию при закрытии игры. Что я сделал для фиксации, это было в каталоге /home/username/.xonotic/data Я добавил файл, который я назвал "конфигурацией-mods.cfg". В этом файле две строки:
"joy_axispitch" "4"
"joy_axisyaw" "3"

Наконец я сделал простой сценарий оболочки с этими двумя строками кода:
cat /home/username/.xonotic/data/config-mods.cfg >> /home/username/.xonotic/data/config.cfg

/home/username/Applications/Xonotic/xonotic-linux64-sdl -basedir  /home/username/Applications/Xonotic/`

Я запускаю этот скрипт вместо того, чтобы выполнить игру непосредственно, и это добавляет эти две строки, в которых я нуждаюсь для поддержки джойстика.

1
ответ дан 26 June 2012 в 04:40

Проблема в том, что jstest-gtk изменяет только отображение устройства джойстика, т.е. /dev/input/js0. Однако большинство современных игр, в которых используется SDL, больше не используют устройство джойстика, а вместо этого используют необработанный evdev, то есть / dev / input / eventX, и это не позволяет переназначение.

Самый быстрый обходной путь - установка переменной среды:

export SDL_JOYSTICK_DEVICE=/dev/input/js0

Это заставит приложения, основанные на SDL, использовать старое устройство джойстика и, таким образом, соблюдать отображение. Это не поможет с приложениями не-SDL.

Другой альтернативой является xboxdrv , это драйвер Xbox360 пользовательского пространства, который допускает широкий спектр параметров конфигурации на уровне драйвера (включая эмуляцию клавиатуры и мыши). Это будет работать для всех игр.

0
ответ дан 26 June 2012 в 04:40

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

Похожие вопросы: