inputmap_kbd.c 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. #include <stdlib.h>
  2. #include <SDL_keysym.h>
  3. #include "../libpicofe/input.h"
  4. #include "../libpicofe/in_sdl.h"
  5. #include "../common/input_pico.h"
  6. #include "../common/plat_sdl.h"
  7. /*const struct in_default_bind in_sdl_defbinds[] = {
  8. { SDLK_UP, IN_BINDTYPE_PLAYER12, GBTN_UP },
  9. { SDLK_DOWN, IN_BINDTYPE_PLAYER12, GBTN_DOWN },
  10. { SDLK_LEFT, IN_BINDTYPE_PLAYER12, GBTN_LEFT },
  11. { SDLK_RIGHT, IN_BINDTYPE_PLAYER12, GBTN_RIGHT },
  12. { SDLK_z, IN_BINDTYPE_PLAYER12, GBTN_A },
  13. { SDLK_x, IN_BINDTYPE_PLAYER12, GBTN_B },
  14. { SDLK_c, IN_BINDTYPE_PLAYER12, GBTN_C },
  15. { SDLK_a, IN_BINDTYPE_PLAYER12, GBTN_X },
  16. { SDLK_s, IN_BINDTYPE_PLAYER12, GBTN_Y },
  17. { SDLK_d, IN_BINDTYPE_PLAYER12, GBTN_Z },
  18. { SDLK_RETURN, IN_BINDTYPE_PLAYER12, GBTN_START },
  19. { SDLK_f, IN_BINDTYPE_PLAYER12, GBTN_MODE },
  20. { SDLK_ESCAPE, IN_BINDTYPE_EMU, PEVB_MENU },
  21. { SDLK_TAB, IN_BINDTYPE_EMU, PEVB_RESET },
  22. { SDLK_F1, IN_BINDTYPE_EMU, PEVB_STATE_SAVE },
  23. { SDLK_F2, IN_BINDTYPE_EMU, PEVB_STATE_LOAD },
  24. { SDLK_F3, IN_BINDTYPE_EMU, PEVB_SSLOT_PREV },
  25. { SDLK_F4, IN_BINDTYPE_EMU, PEVB_SSLOT_NEXT },
  26. { SDLK_F5, IN_BINDTYPE_EMU, PEVB_SWITCH_RND },
  27. { SDLK_F6, IN_BINDTYPE_EMU, PEVB_PICO_PPREV },
  28. { SDLK_F7, IN_BINDTYPE_EMU, PEVB_PICO_PNEXT },
  29. { SDLK_F8, IN_BINDTYPE_EMU, PEVB_PICO_SWINP },
  30. { SDLK_BACKSPACE, IN_BINDTYPE_EMU, PEVB_FF },
  31. { 0, 0, 0 }
  32. };*/
  33. const struct in_default_bind in_sdl_defbinds[] = {
  34. { SDLK_u, IN_BINDTYPE_PLAYER12, GBTN_UP },
  35. { SDLK_d, IN_BINDTYPE_PLAYER12, GBTN_DOWN },
  36. { SDLK_l, IN_BINDTYPE_PLAYER12, GBTN_LEFT },
  37. { SDLK_r, IN_BINDTYPE_PLAYER12, GBTN_RIGHT },
  38. { SDLK_y, IN_BINDTYPE_PLAYER12, GBTN_A },
  39. { SDLK_b, IN_BINDTYPE_PLAYER12, GBTN_B },
  40. { SDLK_a, IN_BINDTYPE_PLAYER12, GBTN_C },
  41. { SDLK_m, IN_BINDTYPE_PLAYER12, GBTN_X },
  42. { SDLK_x, IN_BINDTYPE_PLAYER12, GBTN_Y },
  43. { SDLK_n, IN_BINDTYPE_PLAYER12, GBTN_Z },
  44. { SDLK_s, IN_BINDTYPE_PLAYER12, GBTN_START },
  45. { SDLK_k, IN_BINDTYPE_PLAYER12, GBTN_MODE },
  46. { SDLK_q, IN_BINDTYPE_EMU, PEVB_MENU },
  47. { SDLK_TAB, IN_BINDTYPE_EMU, PEVB_RESET },
  48. //{ SDLK_p, IN_BINDTYPE_EMU, PEVB_STATE_SAVE },
  49. { SDLK_F1, IN_BINDTYPE_EMU, PEVB_STATE_SAVE },
  50. { SDLK_F2, IN_BINDTYPE_EMU, PEVB_STATE_LOAD },
  51. { SDLK_e, IN_BINDTYPE_EMU, PEVB_VOL_DOWN },
  52. { SDLK_c, IN_BINDTYPE_EMU, PEVB_VOL_UP },
  53. { SDLK_w, IN_BINDTYPE_EMU, PEVB_BRIGHT_DOWN },
  54. { SDLK_g, IN_BINDTYPE_EMU, PEVB_BRIGHT_UP },
  55. { SDLK_j, IN_BINDTYPE_EMU, PEVB_AR_FACT_DOWN },
  56. { SDLK_i, IN_BINDTYPE_EMU, PEVB_AR_FACT_UP },
  57. { SDLK_h, IN_BINDTYPE_EMU, PEVB_DISPMODE },
  58. { SDLK_F3, IN_BINDTYPE_EMU, PEVB_SSLOT_PREV },
  59. { SDLK_F4, IN_BINDTYPE_EMU, PEVB_SSLOT_NEXT },
  60. { SDLK_F5, IN_BINDTYPE_EMU, PEVB_SWITCH_RND },
  61. { SDLK_F6, IN_BINDTYPE_EMU, PEVB_PICO_PPREV },
  62. { SDLK_F7, IN_BINDTYPE_EMU, PEVB_PICO_PNEXT },
  63. { SDLK_F8, IN_BINDTYPE_EMU, PEVB_PICO_SWINP },
  64. { SDLK_BACKSPACE, IN_BINDTYPE_EMU, PEVB_FF },
  65. { 0, 0, 0 }
  66. };
  67. const struct in_default_bind in_sdl_defbinds_SMS[] = {
  68. { SDLK_u, IN_BINDTYPE_PLAYER12, GBTN_UP },
  69. { SDLK_d, IN_BINDTYPE_PLAYER12, GBTN_DOWN },
  70. { SDLK_l, IN_BINDTYPE_PLAYER12, GBTN_LEFT },
  71. { SDLK_r, IN_BINDTYPE_PLAYER12, GBTN_RIGHT },
  72. { SDLK_y, IN_BINDTYPE_PLAYER12, GBTN_C },
  73. { SDLK_a, IN_BINDTYPE_PLAYER12, GBTN_C },
  74. { SDLK_b, IN_BINDTYPE_PLAYER12, GBTN_B },
  75. { SDLK_x, IN_BINDTYPE_PLAYER12, GBTN_B },
  76. { SDLK_m, IN_BINDTYPE_PLAYER12, GBTN_X },
  77. { SDLK_n, IN_BINDTYPE_PLAYER12, GBTN_Z },
  78. { SDLK_s, IN_BINDTYPE_PLAYER12, GBTN_START },
  79. { SDLK_k, IN_BINDTYPE_PLAYER12, GBTN_MODE },
  80. { SDLK_q, IN_BINDTYPE_EMU, PEVB_MENU },
  81. { SDLK_TAB, IN_BINDTYPE_EMU, PEVB_RESET },
  82. //{ SDLK_p, IN_BINDTYPE_EMU, PEVB_STATE_SAVE },
  83. { SDLK_F1, IN_BINDTYPE_EMU, PEVB_STATE_SAVE },
  84. { SDLK_F2, IN_BINDTYPE_EMU, PEVB_STATE_LOAD },
  85. { SDLK_e, IN_BINDTYPE_EMU, PEVB_VOL_DOWN },
  86. { SDLK_c, IN_BINDTYPE_EMU, PEVB_VOL_UP },
  87. { SDLK_w, IN_BINDTYPE_EMU, PEVB_BRIGHT_DOWN },
  88. { SDLK_g, IN_BINDTYPE_EMU, PEVB_BRIGHT_UP },
  89. { SDLK_j, IN_BINDTYPE_EMU, PEVB_AR_FACT_DOWN },
  90. { SDLK_i, IN_BINDTYPE_EMU, PEVB_AR_FACT_UP },
  91. { SDLK_h, IN_BINDTYPE_EMU, PEVB_DISPMODE },
  92. { SDLK_F3, IN_BINDTYPE_EMU, PEVB_SSLOT_PREV },
  93. { SDLK_F4, IN_BINDTYPE_EMU, PEVB_SSLOT_NEXT },
  94. { SDLK_F5, IN_BINDTYPE_EMU, PEVB_SWITCH_RND },
  95. { SDLK_F6, IN_BINDTYPE_EMU, PEVB_PICO_PPREV },
  96. { SDLK_F7, IN_BINDTYPE_EMU, PEVB_PICO_PNEXT },
  97. { SDLK_F8, IN_BINDTYPE_EMU, PEVB_PICO_SWINP },
  98. { SDLK_BACKSPACE, IN_BINDTYPE_EMU, PEVB_FF },
  99. { 0, 0, 0 }
  100. };
  101. const struct menu_keymap in_sdl_key_map[] = {
  102. { SDLK_u, PBTN_UP },
  103. { SDLK_d, PBTN_DOWN },
  104. { SDLK_l, PBTN_LEFT },
  105. { SDLK_r, PBTN_RIGHT },
  106. { SDLK_RETURN, PBTN_MOK },
  107. { SDLK_b, PBTN_MBACK },
  108. { SDLK_SEMICOLON, PBTN_MA2 },
  109. { SDLK_QUOTE, PBTN_MA3 },
  110. { SDLK_m, PBTN_L },
  111. { SDLK_n, PBTN_R },
  112. };
  113. const int in_sdl_key_map_sz = sizeof(in_sdl_key_map) / sizeof(in_sdl_key_map[0]);
  114. const struct menu_keymap in_sdl_joy_map[] = {
  115. { SDLK_UP, PBTN_UP },
  116. { SDLK_DOWN, PBTN_DOWN },
  117. { SDLK_LEFT, PBTN_LEFT },
  118. { SDLK_RIGHT, PBTN_RIGHT },
  119. /* joystick */
  120. { SDLK_WORLD_0, PBTN_MOK },
  121. { SDLK_WORLD_1, PBTN_MBACK },
  122. { SDLK_WORLD_2, PBTN_MA2 },
  123. { SDLK_WORLD_3, PBTN_MA3 },
  124. };
  125. const int in_sdl_joy_map_sz = sizeof(in_sdl_joy_map) / sizeof(in_sdl_joy_map[0]);
  126. const char * const (*in_sdl_key_names)[SDLK_LAST] = NULL;