К сожалению, m64py не был для меня рабочим решением, а метод проб и ошибок слишком громоздок. Вот решение, которое должен использовать любой, кто в настоящее время работает с mupen64plus, с графическим интерфейсом или без него.
Вам потребуется инструмент калибровки джойстика, jscal
чтобы определить, какая кнопка является какой. Для получения справки по этому вопросу см. Форумы Ubuntu - Игры и развлечения - HOWTO: Джойстик / Геймпады под Ubuntu
Если у вас есть эта настройка, и ваш джойстик уже откалиброван должным образом, все, что вам нужно сделать, это запустить jstest-gtk /dev/input/js0 &
, где js0
находится файл калибровки для устройства, которое вы сейчас тестируете.
Вы увидите графический интерфейс для пронумерованных осей и кнопок. Это выглядит примерно так:
Теперь вы можете нажать кнопку на вашем контроллере, чтобы увидеть, какой оси или кнопке она соответствует.
Применение пользовательской конфигурации контроллера для mupen
НайдитеInputAutoCfg.ini
Run locate InputAutoCfg.ini
. Для меня это в каталоге /usr/share/games/mupen64plus/InputAutoCfg.ini
.
Откройте InputAutoCfg.ini
в предпочитаемом вами текстовом редакторе.
vim /usr/share/games/mupen64plus/InputAutoCfg.ini
,
Найдите свое устройство и отредактируйте настройки.
Вы можете узнать, какое устройство используется mupen, запустив mupen64plus
и просмотрев информацию ввода, напечатанную на вашем терминале.
Моя говорит Input: N64 Controller #1: Using auto-config with SDL joystick 0 ('Generic X-Box pad')
. Так что для меня настройки находятся под [Generic X-Box pad]
.
Сохраните / запишите изменения в файл, и изменения должны быть реализованы при следующем запуске mupen64plus
.
После некоторых изменений мой выглядит так:
[Generic X-Box pad]
plugged = True
plugin = 2
mouse = False
AnalogDeadzone = "4096,4096"
AnalogPeak = "32768,32768"
DPad R = "hat(0 Right)"
DPad L = "hat(0 Left)"
DPad D = "hat(0 Down)"
DPad U = "hat(0 Up)"
Start = "button(7)"
Z Trig = "button(4)"
B Button = "button(2)"
A Button = "button(0)"
C Button R = "axis(3+)"
C Button L = "axis(3-)"
C Button D = "axis(4+)"
C Button U = "axis(4-)"
R Trig = "button(5)"
L Trig = "axis(2+)"
Mempak switch = "axis(5+)"
Rumblepak switch = "button(2)"
X Axis = "axis(0-,0+)"
Y Axis = "axis(1-,1+)"
Используя jstest
, вы должны быть в состоянии выяснить, как вы хотите настроить, InputAutoCfg.ini
чтобы настроить параметры ввода, используя слова события ввода .
Иногда полезно взглянуть на макет контроллера N64, чтобы выяснить параметры, которые вы хотите отобразить.