diff --git a/input/connect/connect_nesusb.c b/input/connect/connect_nesusb.c index 3677f00af7..61749797e2 100644 --- a/input/connect/connect_nesusb.c +++ b/input/connect/connect_nesusb.c @@ -79,7 +79,7 @@ static int16_t hidpad_nesusb_get_axis(void *data, unsigned axis) if (!device || axis >= 2) return 0; - val = device->data[4 + axis]; + val = device->data[3 + axis]; val = (val << 8) - 0x8000; if (abs(val) > 0x1000) diff --git a/input/connect/connect_retrode.c b/input/connect/connect_retrode.c index cd3bb1a62b..b4322e66d4 100644 --- a/input/connect/connect_retrode.c +++ b/input/connect/connect_retrode.c @@ -118,9 +118,9 @@ static int16_t hidpad_retrode_get_axis(void *pad_data, unsigned axis) return 0; if (pad->datatype == RETRODE_TYPE_PAD) - val = pad->data[2 + axis]; + val = pad->data[1 + axis]; else - val = device->pad_data[0].data[2 + axis]; + val = device->pad_data[0].data[1 + axis]; /* map Retrode values to a known gamepad (VID=0x0079, PID=0x0011) */ if (val == 0x9C) diff --git a/input/connect/connect_snesusb.c b/input/connect/connect_snesusb.c index 919adfa70e..5f4231ab54 100644 --- a/input/connect/connect_snesusb.c +++ b/input/connect/connect_snesusb.c @@ -80,7 +80,7 @@ static int16_t hidpad_snesusb_get_axis(void *data, unsigned axis) if (!device || axis >= 2) return 0; - val = device->data[1 + axis]; + val = device->data[axis]; val = (val << 8) - 0x8000; if (abs(val) > 0x1000)