Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions engine/h2shared/in_sdl.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ static cvar_t joy_sensitivityyaw = {"joy_sensitivityyaw", "-1", CVAR_NONE}; /*
/* hack to generate uparrow/leftarrow etc. key events
* for axes if the stick driver isn't generating them. */
/* might be useful for menu navigation etc. */
#define JOY_KEYEVENT_FOR_AXES 0 /* not for now */
#define JOY_KEYEVENT_FOR_AXES 1
#if (JOY_KEYEVENT_FOR_AXES)
static cvar_t joy_axiskeyevents = {"joy_axiskeyevents", "0", CVAR_ARCHIVE};
static cvar_t joy_axiskeyevents = {"joy_axiskeyevents", "1", CVAR_ARCHIVE};
static cvar_t joy_axiskeyevents_deadzone = {"joy_axiskeyevents_deadzone", "0.5", CVAR_ARCHIVE};

/* joystick axes state */
Expand Down Expand Up @@ -811,7 +811,7 @@ void IN_Commands (void)
void IN_SendKeyEvents (void)
{
SDL_Event event;
int sym, state, modstate;
int sym, state, modstate, joy2key;
qboolean gamekey;

if ((gamekey = Key_IsGameKey()) != prev_gamekey)
Expand Down Expand Up @@ -1102,13 +1102,23 @@ void IN_SendKeyEvents (void)
case SDL_JOYBUTTONUP:
if (in_mode_set)
break;
joy2key = 0;
switch (K_JOY1 + event.jbutton.button) {
/* Hard code SELECT & START buttons for menu control */
case K_AUX5:
joy2key = K_ESCAPE;
break;
case K_AUX6:
joy2key = K_ENTER;
}
Con_DPrintf ("Pressed joystick button %s\n", Key_KeynumToString(K_JOY1 + event.jbutton.button));
if (event.jbutton.button > K_AUX28 - K_JOY1)
{
Con_Printf ("Ignored event for joystick button %d\n",
event.jbutton.button);
break;
}
Key_Event(K_JOY1 + event.jbutton.button, event.jbutton.state == SDL_PRESSED);
Key_Event(joy2key ? joy2key : (K_JOY1 + event.jbutton.button), event.jbutton.state == SDL_PRESSED);
break;

/* mouse/trackball motion handled by IN_MouseMove() */
Expand Down
11 changes: 8 additions & 3 deletions engine/hexen2/cl_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -907,9 +907,6 @@ void CL_SendCmd (void)
{
usercmd_t cmd;

if (cls.state != ca_connected)
return;

if (cls.signon == SIGNONS)
{
// get basic movement from keyboard
Expand All @@ -921,6 +918,14 @@ void CL_SendCmd (void)
// send the unreliable message
CL_SendMove (&cmd);
}
else
{
// enable directional joypad input in menus
IN_Move (&cmd);
}

if (cls.state != ca_connected)
return;

if (cls.demoplayback)
{
Expand Down
1 change: 1 addition & 0 deletions engine/hexen2/menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -3494,6 +3494,7 @@ static void M_Quit_Key (int key)
}
break;

case K_ENTER:
case 'Y':
case 'y':
Key_SetDest (key_console);
Expand Down