@@ -52,7 +52,7 @@ static int buttonremap[] =
5252static SDL_Joystick * joy_id = NULL ;
5353static int joy_available ;
5454
55- static cvar_t in_joystick = {"joystick" , "0 " , CVAR_ARCHIVE }; /* enable/disable joystick */
55+ static cvar_t in_joystick = {"joystick" , "1 " , CVAR_ARCHIVE }; /* enable/disable joystick */
5656
5757static cvar_t joy_index = {"joy_index" , "0" , CVAR_NONE }; /* joystick to use when have multiple */
5858static cvar_t joy_axisforward = {"joy_axisforward" , "1" , CVAR_NONE }; /* axis for forward/backward movement */
@@ -75,9 +75,9 @@ static cvar_t joy_sensitivityyaw = {"joy_sensitivityyaw", "-1", CVAR_NONE}; /*
7575/* hack to generate uparrow/leftarrow etc. key events
7676 * for axes if the stick driver isn't generating them. */
7777/* might be useful for menu navigation etc. */
78- #define JOY_KEYEVENT_FOR_AXES 0 /* not for now */
78+ #define JOY_KEYEVENT_FOR_AXES 1 /* not for now */
7979#if (JOY_KEYEVENT_FOR_AXES )
80- static cvar_t joy_axiskeyevents = {"joy_axiskeyevents" , "0 " , CVAR_ARCHIVE };
80+ static cvar_t joy_axiskeyevents = {"joy_axiskeyevents" , "1 " , CVAR_ARCHIVE };
8181static cvar_t joy_axiskeyevents_deadzone = {"joy_axiskeyevents_deadzone" , "0.5" , CVAR_ARCHIVE };
8282
8383/* joystick axes state */
@@ -1102,13 +1102,23 @@ void IN_SendKeyEvents (void)
11021102 case SDL_JOYBUTTONUP :
11031103 if (in_mode_set )
11041104 break ;
1105+ uint8_t key = 0 ;
1106+ switch (K_JOY1 + event .jbutton .button ) {
1107+ /* Hard code SELECT & START buttons for menu control */
1108+ case K_AUX5 :
1109+ key = K_ESCAPE ;
1110+ break ;
1111+ case K_AUX6 :
1112+ key = K_ENTER ;
1113+ }
1114+ Con_DPrintf ("Pressed joystick button %s\n" , Key_KeynumToString (K_JOY1 + event .jbutton .button ));
11051115 if (event .jbutton .button > K_AUX28 - K_JOY1 )
11061116 {
11071117 Con_Printf ("Ignored event for joystick button %d\n" ,
11081118 event .jbutton .button );
11091119 break ;
11101120 }
1111- Key_Event (K_JOY1 + event .jbutton .button , event .jbutton .state == SDL_PRESSED );
1121+ Key_Event (key ? key : ( K_JOY1 + event .jbutton .button ) , event .jbutton .state == SDL_PRESSED );
11121122 break ;
11131123
11141124 /* mouse/trackball motion handled by IN_MouseMove() */
0 commit comments