#include #include "nes_game.h" #include "js_info.h" /* Microntek USB Joystick */ js_map_t js_button_map_Microntek[] = { {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_START}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START}, }; const UINT8 js_btn_Microntek_size = sizeof(js_button_map_Microntek)/sizeof(js_map_t); js_map_t js_axis_map_Microntek[] = { {{-32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_UP}, {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP}, {{32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN}, {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN}, {{-32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT}, {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT}, {{32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT}, {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT}, }; const UINT8 js_axis_Microntek_size = sizeof(js_axis_map_Microntek)/sizeof(js_map_t); /* Twin USB Gamepad */ js_map_t js_button_map_Twin[] = { {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_START}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 10}, JOYPAD_B, ADD_EVENT_JOYPAD_1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 10}, JOYPAD_B, REMOVE_EVENT_JOYPAD_1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 11}, JOYPAD_B, ADD_EVENT_JOYPAD_2}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 11}, JOYPAD_B, REMOVE_EVENT_JOYPAD_2}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 12}, JOYPAD_B, ADD_EVENT_JOYPAD_3}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 12}, JOYPAD_B, REMOVE_EVENT_JOYPAD_3}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 13}, JOYPAD_B, ADD_EVENT_JOYPAD_4}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 13}, JOYPAD_B, REMOVE_EVENT_JOYPAD_4}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 18}, JOYPAD_B, ADD_EVENT_JOYPAD_SELECT}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 18}, JOYPAD_B, REMOVE_EVENT_JOYPAD_SELECT}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 19}, JOYPAD_B, ADD_EVENT_JOYPAD_START}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 19}, JOYPAD_B, REMOVE_EVENT_JOYPAD_START}, }; const UINT8 js_btn_Twin_size = sizeof(js_button_map_Twin)/sizeof(js_map_t); js_map_t js_axis_map_Twin[] = { {{-32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_UP}, {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP}, {{32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN}, {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN}, {{-32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT}, {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT}, {{32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT}, {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT}, {{-32767, JS_EVENT_AXIS, 3}, 1, ADD_EVENT_JOYPAD_UP}, {{0, JS_EVENT_AXIS, 3}, 1, REMOVE_EVENT_JOYPAD_UP}, {{32767, JS_EVENT_AXIS, 3}, 1, ADD_EVENT_JOYPAD_DOWN}, {{0, JS_EVENT_AXIS, 3}, 1, REMOVE_EVENT_JOYPAD_DOWN}, {{-32767, JS_EVENT_AXIS, 2}, 1, ADD_EVENT_JOYPAD_LEFT}, {{0, JS_EVENT_AXIS, 2}, 1, REMOVE_EVENT_JOYPAD_LEFT}, {{32767, JS_EVENT_AXIS, 2}, 1, ADD_EVENT_JOYPAD_RIGHT}, {{0, JS_EVENT_AXIS, 2}, 1, REMOVE_EVENT_JOYPAD_RIGHT}, }; const UINT8 js_axis_Twin_size = sizeof(js_axis_map_Twin)/sizeof(js_map_t); /* Microsoft X-Box 360 pad */ js_map_t js_button_map_MicXBox[] = { {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_3}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_4}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 10}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 10}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 6}, JOYPAD_A, ADD_EVENT_JOYPAD_START}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 6}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1}, }; const UINT8 js_btn_MicXBox_size = sizeof(js_button_map_MicXBox)/sizeof(js_map_t); js_map_t js_axis_map_MicXBox[] = { {{-32767, JS_EVENT_AXIS, 7}, JOYPAD_A, ADD_EVENT_JOYPAD_UP}, {{0, JS_EVENT_AXIS, 7}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP}, {{32767, JS_EVENT_AXIS, 7}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN}, {{0, JS_EVENT_AXIS, 7}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN}, {{-32767, JS_EVENT_AXIS, 6}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT}, {{0, JS_EVENT_AXIS, 6}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT}, {{32767, JS_EVENT_AXIS, 6}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT}, {{0, JS_EVENT_AXIS, 6}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT}, }; const UINT8 js_axis_MicXBox_size = sizeof(js_axis_map_MicXBox)/sizeof(js_map_t); /* Microsoft SideWinder game pad */ js_map_t js_button_map_MS[] = { {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_START}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT}, }; const UINT8 js_btn_MS_size = sizeof(js_button_map_MS)/sizeof(js_map_t); js_map_t js_axis_map_MS[] = { {{-32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_UP}, {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP}, {{32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN}, {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN}, {{-32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT}, {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT}, {{32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT}, {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT}, }; const UINT8 js_axis_MS_size = sizeof(js_axis_map_MS)/sizeof(js_map_t); /* Logitech Logitech Dual Action pad */ js_map_t js_button_map_Logitech[] = { {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_START}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START}, }; const UINT8 js_btn_Logitech_size = sizeof(js_button_map_Logitech)/sizeof(js_map_t); js_map_t js_axis_map_Logitech[] = { {{-32767, JS_EVENT_AXIS, 5}, JOYPAD_A, ADD_EVENT_JOYPAD_UP}, {{0, JS_EVENT_AXIS, 5}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP}, {{32767, JS_EVENT_AXIS, 5}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN}, {{0, JS_EVENT_AXIS, 5}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN}, {{-32767, JS_EVENT_AXIS, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT}, {{0, JS_EVENT_AXIS, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT}, {{32767, JS_EVENT_AXIS, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT}, {{0, JS_EVENT_AXIS, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT}, }; const UINT8 js_axis_Logitech_size = sizeof(js_axis_map_Logitech)/sizeof(js_map_t); /* CYPRESS USB Gamepad - SEGA */ js_map_t js_button_map_CYPRESS[] = { {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 6}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 6}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_START}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START}, }; const UINT8 js_btn_CYPRESS_size = sizeof(js_button_map_CYPRESS)/sizeof(js_map_t); js_map_t js_axis_map_CYPRESS[] = { {{-32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_UP}, {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP}, {{32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN}, {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN}, {{-32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT}, {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT}, {{32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT}, {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT}, }; const UINT8 js_axis_CYPRESS_size = sizeof(js_axis_map_CYPRESS)/sizeof(js_map_t); /* USB Gamepad */ js_map_t js_axis_map_USBGamepad[] = { {{-32767, JS_EVENT_AXIS, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_UP}, {{0, JS_EVENT_AXIS, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP}, {{32767, JS_EVENT_AXIS, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN}, {{0, JS_EVENT_AXIS, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN}, {{-32767, JS_EVENT_AXIS, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT}, {{0, JS_EVENT_AXIS, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT}, {{32767, JS_EVENT_AXIS, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT}, {{0, JS_EVENT_AXIS, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT}, }; const UINT8 js_axis_USBGamepad_size = sizeof(js_axis_map_USBGamepad)/sizeof(js_map_t); /* Feizhi Motionelf X9 */ js_map_t js_button_map_FeiZhiX9[] = { {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_3}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_4}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT}, {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_START}, {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START}, }; const UINT8 js_btn_FeiZhiX9_size = sizeof(js_button_map_FeiZhiX9)/sizeof(js_map_t);