1
0
mirror of https://github.com/mist-devel/mist-firmware.git synced 2026-02-05 15:44:47 +00:00

[FIRMWARE] refined joystick mappings for a few devices

This commit is contained in:
newsdee
2015-06-09 14:33:30 +00:00
parent 27bd710c26
commit d44de866fc

View File

@@ -331,6 +331,10 @@ static uint8_t usb_hid_init(usb_device_t *dev) {
if((vid == 0x0583) && (pid == 0x2060) && (i==0)) {
iprintf("hacking iBuffalo SNES pad - BSGP801\n");
info->iface[0].conf.joystick_mouse.button[0].byte_offset = 2;
info->iface[0].conf.joystick_mouse.button[0].bitmask = 0x01; // "A"
info->iface[0].conf.joystick_mouse.button[1].byte_offset = 2;
info->iface[0].conf.joystick_mouse.button[1].bitmask = 0x02 | 0x04; // "B"
info->iface[0].conf.joystick_mouse.button[2].byte_offset = 2;
info->iface[0].conf.joystick_mouse.button[2].bitmask = 0x40; // "Select"
info->iface[0].conf.joystick_mouse.button[3].byte_offset = 2;
@@ -339,9 +343,9 @@ static uint8_t usb_hid_init(usb_device_t *dev) {
if((vid == 0x0411) && (pid == 0x00C6) && (i==0)) {
iprintf("hacking Buffalo NES pad - BGCFC801\n");
info->iface[0].conf.joystick_mouse.button[2].byte_offset = 2;
info->iface[0].conf.joystick_mouse.button[2].byte_offset = 3;
info->iface[0].conf.joystick_mouse.button[2].bitmask = 0x40; // "Select"
info->iface[0].conf.joystick_mouse.button[3].byte_offset = 2;
info->iface[0].conf.joystick_mouse.button[3].byte_offset = 3;
info->iface[0].conf.joystick_mouse.button[3].bitmask = 0x80; // "Start"
}
@@ -350,7 +354,7 @@ static uint8_t usb_hid_init(usb_device_t *dev) {
info->iface[0].conf.joystick_mouse.button[0].byte_offset = 5;
info->iface[0].conf.joystick_mouse.button[0].bitmask = 0x20; // "A"
info->iface[0].conf.joystick_mouse.button[1].byte_offset = 5;
info->iface[0].conf.joystick_mouse.button[1].bitmask = 0x80; // "B"
info->iface[0].conf.joystick_mouse.button[1].bitmask = 0x40 | 0x10; // "B"
info->iface[0].conf.joystick_mouse.button[2].byte_offset = 6;
info->iface[0].conf.joystick_mouse.button[2].bitmask = 0x10; // "Select"
info->iface[0].conf.joystick_mouse.button[3].byte_offset = 6;
@@ -360,11 +364,11 @@ static uint8_t usb_hid_init(usb_device_t *dev) {
if((vid == 0x0079) && (pid == 0x0006) && (i==0)) {
iprintf("hacking RetroLink N64 pad\n");
info->iface[0].conf.joystick_mouse.button[0].byte_offset = 6;
info->iface[0].conf.joystick_mouse.button[0].bitmask = 0x20; // "A"
info->iface[0].conf.joystick_mouse.button[0].bitmask = 0x04; // "A"
info->iface[0].conf.joystick_mouse.button[1].byte_offset = 6;
info->iface[0].conf.joystick_mouse.button[1].bitmask = 0x10 | 0x08; // "B"
info->iface[0].conf.joystick_mouse.button[1].bitmask = 0x10; // "B"
info->iface[0].conf.joystick_mouse.button[2].byte_offset = 6;
info->iface[0].conf.joystick_mouse.button[2].bitmask = 0x02 | 0x01 | 0x04; // "Select" - the shoulder buttons or Z in GC pad
info->iface[0].conf.joystick_mouse.button[2].bitmask = 0x02 | 0x01 | 0x08; // "Select" - the shoulder buttons or Z
info->iface[0].conf.joystick_mouse.button[3].byte_offset = 6;
info->iface[0].conf.joystick_mouse.button[3].bitmask = 0x20; // "Start"
}
@@ -386,13 +390,13 @@ static uint8_t usb_hid_init(usb_device_t *dev) {
if((vid == 0x0F30) && (pid == 0x1012) && (i==0)) {
iprintf("hacking Qanba Q4RAF arcade stick\n");
info->iface[0].conf.joystick_mouse.button[0].byte_offset = 5;
info->iface[0].conf.joystick_mouse.button[0].byte_offset = 1;
info->iface[0].conf.joystick_mouse.button[0].bitmask = 0x04; // "A"
info->iface[0].conf.joystick_mouse.button[1].byte_offset = 5;
info->iface[0].conf.joystick_mouse.button[1].byte_offset = 1;
info->iface[0].conf.joystick_mouse.button[1].bitmask = 0x08; // "B"
info->iface[0].conf.joystick_mouse.button[2].byte_offset = 5;
info->iface[0].conf.joystick_mouse.button[2].byte_offset = 1;
info->iface[0].conf.joystick_mouse.button[2].bitmask = 0x20; // "Select"
info->iface[0].conf.joystick_mouse.button[3].byte_offset = 6;
info->iface[0].conf.joystick_mouse.button[3].byte_offset = 2;
info->iface[0].conf.joystick_mouse.button[3].bitmask = 0x02; // "Start"
}