js_map_table.c 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. #include <linux/joystick.h>
  2. #include "nes_game.h"
  3. #include "js_info.h"
  4. /* Microntek USB Joystick */
  5. js_map_t js_button_map_Microntek[] =
  6. {
  7. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1},
  8. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1},
  9. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2},
  10. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2},
  11. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3},
  12. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3},
  13. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4},
  14. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4},
  15. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1},
  16. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1},
  17. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT},
  18. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT},
  19. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_START},
  20. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START},
  21. };
  22. const UINT8 js_btn_Microntek_size = sizeof(js_button_map_Microntek)/sizeof(js_map_t);
  23. js_map_t js_axis_map_Microntek[] =
  24. {
  25. {{-32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_UP},
  26. {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP},
  27. {{32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN},
  28. {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN},
  29. {{-32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT},
  30. {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT},
  31. {{32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT},
  32. {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT},
  33. };
  34. const UINT8 js_axis_Microntek_size = sizeof(js_axis_map_Microntek)/sizeof(js_map_t);
  35. /* Twin USB Gamepad */
  36. js_map_t js_button_map_Twin[] =
  37. {
  38. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1},
  39. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1},
  40. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2},
  41. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2},
  42. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3},
  43. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3},
  44. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4},
  45. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4},
  46. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1},
  47. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1},
  48. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT},
  49. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT},
  50. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_START},
  51. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START},
  52. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 10}, JOYPAD_B, ADD_EVENT_JOYPAD_1},
  53. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 10}, JOYPAD_B, REMOVE_EVENT_JOYPAD_1},
  54. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 11}, JOYPAD_B, ADD_EVENT_JOYPAD_2},
  55. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 11}, JOYPAD_B, REMOVE_EVENT_JOYPAD_2},
  56. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 12}, JOYPAD_B, ADD_EVENT_JOYPAD_3},
  57. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 12}, JOYPAD_B, REMOVE_EVENT_JOYPAD_3},
  58. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 13}, JOYPAD_B, ADD_EVENT_JOYPAD_4},
  59. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 13}, JOYPAD_B, REMOVE_EVENT_JOYPAD_4},
  60. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 18}, JOYPAD_B, ADD_EVENT_JOYPAD_SELECT},
  61. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 18}, JOYPAD_B, REMOVE_EVENT_JOYPAD_SELECT},
  62. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 19}, JOYPAD_B, ADD_EVENT_JOYPAD_START},
  63. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 19}, JOYPAD_B, REMOVE_EVENT_JOYPAD_START},
  64. };
  65. const UINT8 js_btn_Twin_size = sizeof(js_button_map_Twin)/sizeof(js_map_t);
  66. js_map_t js_axis_map_Twin[] =
  67. {
  68. {{-32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_UP},
  69. {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP},
  70. {{32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN},
  71. {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN},
  72. {{-32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT},
  73. {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT},
  74. {{32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT},
  75. {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT},
  76. {{-32767, JS_EVENT_AXIS, 3}, 1, ADD_EVENT_JOYPAD_UP},
  77. {{0, JS_EVENT_AXIS, 3}, 1, REMOVE_EVENT_JOYPAD_UP},
  78. {{32767, JS_EVENT_AXIS, 3}, 1, ADD_EVENT_JOYPAD_DOWN},
  79. {{0, JS_EVENT_AXIS, 3}, 1, REMOVE_EVENT_JOYPAD_DOWN},
  80. {{-32767, JS_EVENT_AXIS, 2}, 1, ADD_EVENT_JOYPAD_LEFT},
  81. {{0, JS_EVENT_AXIS, 2}, 1, REMOVE_EVENT_JOYPAD_LEFT},
  82. {{32767, JS_EVENT_AXIS, 2}, 1, ADD_EVENT_JOYPAD_RIGHT},
  83. {{0, JS_EVENT_AXIS, 2}, 1, REMOVE_EVENT_JOYPAD_RIGHT},
  84. };
  85. const UINT8 js_axis_Twin_size = sizeof(js_axis_map_Twin)/sizeof(js_map_t);
  86. /* Microsoft X-Box 360 pad */
  87. js_map_t js_button_map_MicXBox[] =
  88. {
  89. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_1},
  90. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1},
  91. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2},
  92. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2},
  93. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_3},
  94. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3},
  95. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_4},
  96. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4},
  97. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 10}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT},
  98. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 10}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT},
  99. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 6}, JOYPAD_A, ADD_EVENT_JOYPAD_START},
  100. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 6}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START},
  101. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1},
  102. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1},
  103. };
  104. const UINT8 js_btn_MicXBox_size = sizeof(js_button_map_MicXBox)/sizeof(js_map_t);
  105. js_map_t js_axis_map_MicXBox[] =
  106. {
  107. {{-32767, JS_EVENT_AXIS, 7}, JOYPAD_A, ADD_EVENT_JOYPAD_UP},
  108. {{0, JS_EVENT_AXIS, 7}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP},
  109. {{32767, JS_EVENT_AXIS, 7}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN},
  110. {{0, JS_EVENT_AXIS, 7}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN},
  111. {{-32767, JS_EVENT_AXIS, 6}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT},
  112. {{0, JS_EVENT_AXIS, 6}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT},
  113. {{32767, JS_EVENT_AXIS, 6}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT},
  114. {{0, JS_EVENT_AXIS, 6}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT},
  115. };
  116. const UINT8 js_axis_MicXBox_size = sizeof(js_axis_map_MicXBox)/sizeof(js_map_t);
  117. /* Microsoft SideWinder game pad */
  118. js_map_t js_button_map_MS[] =
  119. {
  120. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1},
  121. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1},
  122. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2},
  123. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2},
  124. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3},
  125. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3},
  126. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4},
  127. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4},
  128. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1},
  129. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1},
  130. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_START},
  131. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START},
  132. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT},
  133. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT},
  134. };
  135. const UINT8 js_btn_MS_size = sizeof(js_button_map_MS)/sizeof(js_map_t);
  136. js_map_t js_axis_map_MS[] =
  137. {
  138. {{-32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_UP},
  139. {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP},
  140. {{32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN},
  141. {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN},
  142. {{-32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT},
  143. {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT},
  144. {{32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT},
  145. {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT},
  146. };
  147. const UINT8 js_axis_MS_size = sizeof(js_axis_map_MS)/sizeof(js_map_t);
  148. /* Logitech Logitech Dual Action pad */
  149. js_map_t js_button_map_Logitech[] =
  150. {
  151. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1},
  152. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1},
  153. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2},
  154. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2},
  155. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3},
  156. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3},
  157. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4},
  158. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4},
  159. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1},
  160. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1},
  161. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT},
  162. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT},
  163. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_START},
  164. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START},
  165. };
  166. const UINT8 js_btn_Logitech_size = sizeof(js_button_map_Logitech)/sizeof(js_map_t);
  167. js_map_t js_axis_map_Logitech[] =
  168. {
  169. {{-32767, JS_EVENT_AXIS, 5}, JOYPAD_A, ADD_EVENT_JOYPAD_UP},
  170. {{0, JS_EVENT_AXIS, 5}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP},
  171. {{32767, JS_EVENT_AXIS, 5}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN},
  172. {{0, JS_EVENT_AXIS, 5}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN},
  173. {{-32767, JS_EVENT_AXIS, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT},
  174. {{0, JS_EVENT_AXIS, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT},
  175. {{32767, JS_EVENT_AXIS, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT},
  176. {{0, JS_EVENT_AXIS, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT},
  177. };
  178. const UINT8 js_axis_Logitech_size = sizeof(js_axis_map_Logitech)/sizeof(js_map_t);
  179. /* CYPRESS USB Gamepad - SEGA */
  180. js_map_t js_button_map_CYPRESS[] =
  181. {
  182. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_1},
  183. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1},
  184. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2},
  185. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2},
  186. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_3},
  187. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3},
  188. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_4},
  189. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4},
  190. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1},
  191. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1},
  192. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 6}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT},
  193. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 6}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT},
  194. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_START},
  195. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START},
  196. };
  197. const UINT8 js_btn_CYPRESS_size = sizeof(js_button_map_CYPRESS)/sizeof(js_map_t);
  198. js_map_t js_axis_map_CYPRESS[] =
  199. {
  200. {{-32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_UP},
  201. {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP},
  202. {{32767, JS_EVENT_AXIS, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN},
  203. {{0, JS_EVENT_AXIS, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN},
  204. {{-32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT},
  205. {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT},
  206. {{32767, JS_EVENT_AXIS, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT},
  207. {{0, JS_EVENT_AXIS, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT},
  208. };
  209. const UINT8 js_axis_CYPRESS_size = sizeof(js_axis_map_CYPRESS)/sizeof(js_map_t);
  210. /* USB Gamepad */
  211. js_map_t js_axis_map_USBGamepad[] =
  212. {
  213. {{-32767, JS_EVENT_AXIS, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_UP},
  214. {{0, JS_EVENT_AXIS, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_UP},
  215. {{32767, JS_EVENT_AXIS, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_DOWN},
  216. {{0, JS_EVENT_AXIS, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_DOWN},
  217. {{-32767, JS_EVENT_AXIS, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_LEFT},
  218. {{0, JS_EVENT_AXIS, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_LEFT},
  219. {{32767, JS_EVENT_AXIS, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_RIGHT},
  220. {{0, JS_EVENT_AXIS, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_RIGHT},
  221. };
  222. const UINT8 js_axis_USBGamepad_size = sizeof(js_axis_map_USBGamepad)/sizeof(js_map_t);
  223. /* Feizhi Motionelf X9 */
  224. js_map_t js_button_map_FeiZhiX9[] =
  225. {
  226. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 3}, JOYPAD_A, ADD_EVENT_JOYPAD_1},
  227. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 3}, JOYPAD_A, REMOVE_EVENT_JOYPAD_1},
  228. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 1}, JOYPAD_A, ADD_EVENT_JOYPAD_2},
  229. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 1}, JOYPAD_A, REMOVE_EVENT_JOYPAD_2},
  230. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 0}, JOYPAD_A, ADD_EVENT_JOYPAD_3},
  231. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 0}, JOYPAD_A, REMOVE_EVENT_JOYPAD_3},
  232. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 2}, JOYPAD_A, ADD_EVENT_JOYPAD_4},
  233. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 2}, JOYPAD_A, REMOVE_EVENT_JOYPAD_4},
  234. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 4}, JOYPAD_A, ADD_EVENT_JOYPAD_L1},
  235. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 4}, JOYPAD_A, REMOVE_EVENT_JOYPAD_L1},
  236. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 8}, JOYPAD_A, ADD_EVENT_JOYPAD_SELECT},
  237. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 8}, JOYPAD_A, REMOVE_EVENT_JOYPAD_SELECT},
  238. {{JS_BTN_PRESSED, JS_EVENT_BUTTON, 9}, JOYPAD_A, ADD_EVENT_JOYPAD_START},
  239. {{JS_BTN_RELEASED, JS_EVENT_BUTTON, 9}, JOYPAD_A, REMOVE_EVENT_JOYPAD_START},
  240. };
  241. const UINT8 js_btn_FeiZhiX9_size = sizeof(js_button_map_FeiZhiX9)/sizeof(js_map_t);