Infelizmente, o m64py não foi uma solução funcional para mim e "tentativa e erro" é muito complicado. Aqui está uma solução que qualquer um que esteja executando o mupen64plus, com ou sem um gui, deve ser capaz de usar.
Você precisará da ferramenta de calibração do joystick jscal
para determinar qual botão é qual. Para obter ajuda com isso, consulte Fóruns do Ubuntu - Gaming & amp; Lazer - HOWTO: Joystick / Gamepads no Ubuntu
Supondo que você tenha configurado e seu joystick já esteja calibrado corretamente, tudo o que você precisa fazer é executar jstest-gtk /dev/input/js0 &
, em que js0
é o arquivo de calibragem do dispositivo que você está testando no momento.
Você verá um gui para eixos e botões numerados. Parece algo assim:
Agora você pode pressionar um botão no seu controlador para ver com qual eixo ou botão corresponde.
Aplicando a configuração do controlador personalizado ao mupen
Localizar InputAutoCfg.ini
Execute locate InputAutoCfg.ini
. Para mim, isso está no diretório /usr/share/games/mupen64plus/InputAutoCfg.ini
.
Abra InputAutoCfg.ini
no seu editor de texto preferido.
vim /usr/share/games/mupen64plus/InputAutoCfg.ini
.
Encontre o seu dispositivo e edite as configurações.
Você pode descobrir qual dispositivo está sendo usado pelo mupen executando mupen64plus
e procurando as informações de entrada impressas no seu terminal.
O meu diz Input: N64 Controller #1: Using auto-config with SDL joystick 0 ('Generic X-Box pad')
. Então, para mim, as configurações são encontradas em [Generic X-Box pad]
.
Salve / grave as alterações no arquivo e as alterações devem ser implementadas quando você executar novamente mupen64plus
.
Depois de algumas mudanças, a minha é assim:
[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+)"
Usando jstest
, você deve ser capaz de descobrir como deseja configurar InputAutoCfg.ini
para personalizar suas configurações de entrada usando o insira palavras de evento .
Às vezes, é útil examinar o layout do controlador N64 para ajudar a descobrir os parâmetros que você pretende mapear.