Salve,
Grazie per questa distribuzione.
Ho avuto lo stesso problema con i pulsanti.
Sono riuscito a far funzionare tutto correttamente sul mio terminale arcade.
Vorrei condividerlo. Sto restaurando il mio primo arco in un mese. Non sono un esperto, ma può ancora aiutare.
Questo non è obbligatorio, ma ho modificato il driver JoyPi usato da JammaPi. L'obiettivo, di avere pulsanti di riferimento come gamepad (a,b,x,y,L,R,start,select). Ma anche per avere meno numeri chiave sparsi (0,1,2,3....).
Ecco le linee interessanti del file: \home\pi\JammaPi\joypi\src\joypi.c
Codice: Seleziona tutto
// MCP23017 joypi pin mapping for JAMMAPI
// Linux order is given by the linux name of the button (linux/input.h)
// JAMMA LINUX_INPUT MASK PORT PORT MASK LINUX_INPUT JAMMA
// +--+
// BUTTON5 (26) BTN_X (3) 0x0100 GPB0 |00| GPA7 0x0080 BTN_A (1) BUTTON2 (23)
// BUTTON4 (25) BTN_Y (4) 0x0200 GPB1 |00| GPA6 0x0040 BTN_B (2) BUTTON1 (22)
// BUTTON3 (24) BTN_TR (5) 0x0400 GPB2 |00| GPA5 0x0020 BTN_MODE COIN (16)
// BUTTON6 (27) BTN_TL (6) 0x0800 GPB3 |00| GPA4 0x0010 BTN_SELECT SELECT (15)
// START (17) BTN_START (7) 0x1000 GPB4 |00| GPA3 0x0008 RIGHT RIGHT (21)
// NONE BTN_Z (8) 0x2000 GPB5 |00| GPA2 0x0004 LEFT LEFT (20)
// NONE BTN_TL2 (9) 0x4000 GPB6 |00| GPA1 0x0002 DOWN DOWN (19)
// NONE BTN_TR2 (10) 0x8000 GPB7 |00| GPA0 0x0001 UP UP (18)
// VDD |00| INTA
// VSS |00| INTB
// |00| RST
// SCL |00| A2
// SDA |00| A1
// |00| A0
// +--+
//
enum JoystickPins
{
JOY_AXIS = 0,
JOY_UP = 0,
JOY_DOWN = 1,
JOY_LEFT = 2,
JOY_RIGHT = 3,
JOY_BUTTONS = 4,
MAX_JOYBUTTONS = 16
};
// available buttons
static const uint16_t g_button_map[MAX_JOYBUTTONS] = {
0, 0, 0, 0, BTN_A, BTN_B, BTN_X, BTN_Y,
BTN_Z, BTN_TL, BTN_TR, BTN_TL2, BTN_TR2, BTN_SELECT, BTN_START, BTN_MODE
};
static const uint16_t g_button_mask[MAX_JOYBUTTONS] = {
0x0001, 0x0002, 0x0004, 0x0008, 0x0080, 0x0040, 0x0100, 0x0200,
0x2000, 0x0800, 0x0400, 0x4000, 0x8000, 0x0010, 0x1000, 0x0020
};
Allora ecco la parte importante.
E' nel file:
\opt\retropie\configs\arcade\retroarch.cfg
La configurazione deve essere automatica su tutti i pulsanti scrivendo "null".
Troverete 2 problemi da modificare in questo modo.
Codice: Seleziona tutto
input_player1_a_btn = "nul"
input_player1_b_btn = "nul"
Vi lascio commentare perché ci possono essere altri metodi e cose più semplici da correggere.
Grazie.