Fix Joystick support (with SDL and SDL2)

This commit is contained in:
Thomas Bernard 2018-06-25 00:30:07 +02:00
parent b4f4fcf51d
commit af25970c09
3 changed files with 11 additions and 11 deletions

View File

@ -777,11 +777,6 @@ GFX2_GLOBAL iconv_t cd_utf16; // FROMCODE => UTF16
GFX2_GLOBAL iconv_t cd_utf16_inv; // UTF16 => FROMCODE GFX2_GLOBAL iconv_t cd_utf16_inv; // UTF16 => FROMCODE
#endif /* ENABLE_FILENAMES_ICONV */ #endif /* ENABLE_FILENAMES_ICONV */
// -- Specific to SDL
/// Pointer to the current joystick controller.
//GFX2_GLOBAL SDL_Joystick* Joystick;
/// Indicates "no keyboard shortcut". /// Indicates "no keyboard shortcut".
#define KEY_NONE 0 #define KEY_NONE 0

View File

@ -618,8 +618,8 @@ int Handle_key_release(SDL_KeyboardEvent event)
// Joystick management // Joystick management
#if defined(USE_SDL) || defined(USE_SDL2) #if defined(USE_JOYSTICK) && (defined(USE_SDL) || defined(USE_SDL2))
int Handle_joystick_press(SDL_JoyButtonEvent event) static int Handle_joystick_press(SDL_JoyButtonEvent event)
{ {
if (event.button == Joybutton_shift) if (event.button == Joybutton_shift)
{ {
@ -721,7 +721,7 @@ int Handle_joystick_press(SDL_JoyButtonEvent event)
return Move_cursor_with_constraints(); return Move_cursor_with_constraints();
} }
int Handle_joystick_release(SDL_JoyButtonEvent event) static int Handle_joystick_release(SDL_JoyButtonEvent event)
{ {
if (event.button == Joybutton_shift) if (event.button == Joybutton_shift)
{ {
@ -802,7 +802,7 @@ int Handle_joystick_release(SDL_JoyButtonEvent event)
return Move_cursor_with_constraints(); return Move_cursor_with_constraints();
} }
void Handle_joystick_movement(SDL_JoyAxisEvent event) static void Handle_joystick_movement(SDL_JoyAxisEvent event)
{ {
if (event.axis==JOYSTICK_AXIS_X) if (event.axis==JOYSTICK_AXIS_X)
{ {

View File

@ -105,6 +105,11 @@ extern char Program_version[]; // generated in pversion.c
static int setsize_width; static int setsize_width;
static int setsize_height; static int setsize_height;
#if defined(USE_SDL) || defined(USE_SDL2)
/// Pointer to the current joystick controller.
static SDL_Joystick* Joystick;
#endif
//--- Affichage de la syntaxe, et de la liste des modes vidéos disponibles --- //--- Affichage de la syntaxe, et de la liste des modes vidéos disponibles ---
void Display_syntax(void) void Display_syntax(void)
{ {
@ -651,9 +656,9 @@ int Init_program(int argc,char * argv[])
printf("Couldn't initialize SDL.\n"); printf("Couldn't initialize SDL.\n");
return(0); return(0);
} }
#endif
//Joystick = SDL_JoystickOpen(0); Joystick = SDL_JoystickOpen(0);
#endif
#if defined(USE_SDL) #if defined(USE_SDL)
SDL_EnableKeyRepeat(250, 32); SDL_EnableKeyRepeat(250, 32);
SDL_EnableUNICODE(SDL_ENABLE); SDL_EnableUNICODE(SDL_ENABLE);