Second gamepad is not working, incorrect key offset?
I am using two 8BitDo SN30 pro gamepads on linux.  Both gamepads work in other applications and are detected and work with jtest-sdl correctly.

Keys for GAMEPAD1 work as expected in pyxel, but keys for GAMEPAD2 do not work as expected.  When I press the *dpad up* on the DPAD on the second controller controller it registers as `GAMEPAD1_BUTTON_DPAD_DOWN`.  I am not able to test and not well versed in rust, but I did some testing and looked at the rust code and saw the code:

```rs
events.push(Event::KeyValueChanged {
                key: key + key_offset,
                value: unsafe { sdl_event.caxis.value } as i32,
            });
```

```rs
fn gamepad_key_offset(instance_id: i32) -> Option<Key> {
    platform()
        .gamepads
        .iter()
        .enumerate()
        .find_map(|(index, slot)| match slot {
            Gamepad::Controller(id, _) if *id == instance_id => Some(index as Key),
            _ => None,
        })
}
```

Then I looked at the constants and saw that they may be shifted incorrectly.  It turns out this might be the case, because the *R button* registers as  `GAMEPAD1_BUTTON_DPAD_UP`.  So I think it may be the key_offset is 1, perhapse it should be shifted by  something like the `gamepad number * the number of gamepad` keys?

```py
GAMEPAD2_BUTTON_RIGHTSHOULDER: int # shifted up one to GAMEPAD1_BUTTON_DPAD_UP
GAMEPAD2_BUTTON_DPAD_UP: int # shifted up one to GAMEPAD1_BUTTON_DPAD_DOWN
GAMEPAD2_BUTTON_DPAD_DOWN: int
GAMEPAD2_BUTTON_DPAD_LEFT: int
GAMEPAD2_BUTTON_DPAD_RIGHT: int
```

```rs
events.push(Event::KeyValueChanged {
                key: key + key_offset * NUMBER_OF_GAMEPAD_BUTTONS,
                value: unsafe { sdl_event.caxis.value } as i32,
            });
```

Thank you very much for your work on pyxel! I really enjoy using the library.