Как вы настраиваете snes9x-gtk joypad 2? [Lubuntu 13.04]
Я пытаюсь играть в snes9x-gtk с двумя игроками, используя PS3 Dualshock. Моя проблема заключается в конфигурации входа для плеера 2. Он не регистрирует нажатия моей кнопки для js1. js0 работает отлично. Jtest для калибровки джойстика показывает, что оба контроллера работают.
1 ответ
1) Операционная система действительно слышала мой джойстик?
В терминале:
cat /dev/input/js0
показывает какой-то напуганный вывод и отвечает на нажатие моей кнопки. Первый подключенный двойной шок был слышен. Сейчас:
cat /dev/input/js1
показывает то же самое, а также реагирует на нажатия кнопок. (Удерживая нажатой кнопку, вы увидите на экране образец ответа терминала)
2) Теперь запустите программу snes9x-gtk, зайдите в настройки и затем в настройки, работает ли нажатие на текстовое поле для кнопок snes?
Для джойстика 1 программа отвечает на вход контроллера для js0 и связывает правильный ввод с правильной кнопкой snes.
Для джойстика 2 (выпадающий и выберите 2), по большей части нет ответа. Вот где мне повезло, я случайно нажал на текстовое поле для кнопки snes 'right', и нажал правый ввод d-pad на js1, зарегистрированном "Joystick 2 Button 5", я переключился на джойстик 1 и нашел "Joystick 1" Кнопка 5". Так это сработало, и была правильная кнопка! Проблема, однако, никаких других кнопок контроллера не было слышно. Так что я
gedit ~/.snes9x/snes9x.xml
и нашел под джойстом 0 все номера привязок для js0.
Под джойстиком 1 (который в программе js1, но джойстик 2). (Языки программирования запускают списки с 0, а не с 1), я нашел:
<binding name="Right" binding="570425349"/>
каждая другая кнопка имеет привязки 0, поэтому они не были установлены. Я оглянулся на джойстик 0 и нашел эквивалентную привязку для js0
<binding name="Right" binding="553648133"/>
так что это сразу не поможет, если у вас есть все привязки для js0, которые, поскольку вход для джойстика 1 в настройках действительно слышал все нажатия кнопок, у меня были все привязки. Используя немного логики и математики, я посмотрел на привязку left под joypad 0 и получил:
<binding name="Left" binding="553648135"/>
поэтому левая привязка была на 2 больше, чем правая привязка. Так что под джойстик 1 (js1)
этот: <binding name="Left" binding="0"/>
стало так: <binding name="Left" binding="570425351"/>
и я сохранил XML-файл, и снова открыл snes9x-gtk, вот и под джойстиком 2 он показал для левой кнопки "Джойстик 2, кнопка 7", что на 7 на 2 больше, чем на кнопке 5! Я смог отредактировать остальные нужные мне кнопки под js1. Надеюсь, я объяснил это достаточно хорошо, не уверен, что привязки универсальны для всех двойных шоков.
3) Игры наконец заработали? Да, я протестировал Super Mario World для 2 игроков, и Луиджи ответил на второй Dualshock, который я подключил.