     Gamepad.write();
 }
 
-void stgKeyUp(KeyboardKeycode key) {
+void gamepadKeyUp(KeyboardKeycode key) {
     switch (key) {
         case STICK_DOWN_KEY:
             gamepadState.downPressed = false;

    bool noMouseMoveBetweenRightEvents = false;
} mouseState;

struct {
    bool downPressed = false;
    bool upPressed = false;
    bool leftPressed = false;
    bool rightPressed = false;
} gamepadState;

void releaseLeftShift() {
    if (!keyboardState.muhenkanPressed


#define MODE_NEUTRAL 0
#define MODE_DUDRACK 1
#define MODE_GAMEPAD 2
#define MODE_COUNT 3

#define MAPPING_NEUTRAL 0
#define MAPPING_HENKAN 1
#define MAPPING_COUNT 2

#if ENABLE_GAMEPAD
#   define STICK_NEUTRAL 0
#   define STICK_DOWN 0x7FFF
#   define STICK_UP -0x7FFF
#   define STICK_LEFT -0x7FFF
#   define STICK_RIGHT 0x7FFF

#   define STICK_DOWN_KEY  KEY_HENKAN
#   define STICK_UP_KEY    KEY_I
#   define STICK_LEFT_KEY  KEY_J
#   define STICK_RIGHT_KEY KEY_O
#   define BUTTON_1_KEY    KEY_D
#   define BUTTON_2_KEY    KEY_F
#   define BUTTON_3_KEY    KEY_G
#   define BUTTON_4_KEY    KEY_S
#   define BUTTON_5_KEY    KEY_LEFT_ALT
#   define BUTTON_6_KEY    KEY_MUHENKAN
#   define BUTTON_7_KEY    KEY_SPACE
#endif

USB    Usb;
USBHub Hub(&Usb);
