Как настроить snes9x-gtk joypad 2? [Lubuntu 13.04]

Я пытаюсь сыграть в snes9x-gtk с двумя игроками, использующими PS3 Dualshock. Моя проблема заключается в конфигурации ввода для игрока 2. Он не регистрирует мои нажатия кнопок для js1. js0 отлично работает. Jtest для калибровки джойстика показывает, что оба контроллера работают.

1
задан 15 May 2015 в 01:22

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, lo и вот под джойстиком 2 он показал для левой кнопки «Джойстик 2, кнопка 7», что на 7 на 2 больше, чем на кнопку 5! Я смог отредактировать остальные нужные мне кнопки под js1. Надеюсь, я объяснил это достаточно хорошо, не уверен, что привязки универсальны для всех двойных шоков.

3) Игры наконец заработали? Да, я протестировал Super Mario World для 2 игроков, и Луиджи ответил на второй Dualshock, который я подключил.

0
ответ дан 15 May 2015 в 01:22

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

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