Remove broken double clicking events

This commit is contained in:
spherallic 2023-01-07 21:18:06 +01:00
parent c69442c9b7
commit 7c6b03f9ab
3 changed files with 4 additions and 89 deletions

View file

@ -147,46 +147,6 @@ INT16 G_GetAnalogPlayerInput(UINT8 which, gamecontrols_e gc, UINT8 settings)
return 0;
}
typedef struct
{
UINT8 time;
UINT8 state;
UINT8 clicks;
} dclick_t;
static dclick_t mousedclicks[MOUSEBUTTONS];
static dclick_t mouse2dclicks[MOUSEBUTTONS];
//
// General double-click detection routine for any kind of input.
//
static UINT8 G_CheckDoubleClick(UINT8 state, dclick_t *dt)
{
if (state != dt->state && dt->time > 1)
{
dt->state = state;
if (state)
dt->clicks++;
if (dt->clicks == 2)
{
dt->clicks = 0;
return true;
}
else
dt->time = 0;
}
else
{
dt->time++;
if (dt->time > 20)
{
dt->clicks = 0;
dt->state = 0;
}
}
return false;
}
//
// Remaps the inputs to game controls.
//
@ -248,19 +208,6 @@ void G_MapEventsToControls(event_t *ev)
default:
break;
}
// ALWAYS check for mouse double-clicks even if there were no such events
for (i = 0; i < MOUSEBUTTONS; i++)
{
flag = G_CheckDoubleClick(gamekeydown[KEY_MOUSE1+i], &mousedclicks[i]);
gamekeydown[KEY_DBLMOUSE1+i] = flag;
}
for (i = 0; i < MOUSEBUTTONS; i++)
{
flag = G_CheckDoubleClick(gamekeydown[KEY_2MOUSE1+i], &mouse2dclicks[i]);
gamekeydown[KEY_DBL2MOUSE1+i] = flag;
}
}
const char *const gamepad_button_names[NUM_GAMEPAD_BUTTONS + 1] = {
@ -958,24 +905,7 @@ static keyname_t keynames[] =
DEF_GAMEPAD_AXIS(RIGHTY, "right stick y"),
DEF_GAMEPAD_AXIS(TRIGGERLEFT, "left trigger"),
DEF_GAMEPAD_AXIS(TRIGGERRIGHT, "right trigger"),
{KEY_DBLMOUSE1+0, "dblmouse1"},
{KEY_DBLMOUSE1+1, "dblmouse2"},
{KEY_DBLMOUSE1+2, "dblmouse3"},
{KEY_DBLMOUSE1+3, "dblmouse4"},
{KEY_DBLMOUSE1+4, "dblmouse5"},
{KEY_DBLMOUSE1+5, "dblmouse6"},
{KEY_DBLMOUSE1+6, "dblmouse7"},
{KEY_DBLMOUSE1+7, "dblmouse8"},
{KEY_DBL2MOUSE1+0, "dblsec_mouse1"},
{KEY_DBL2MOUSE1+1, "dblsec_mouse2"},
{KEY_DBL2MOUSE1+2, "dblsec_mouse3"},
{KEY_DBL2MOUSE1+3, "dblsec_mouse4"},
{KEY_DBL2MOUSE1+4, "dblsec_mouse5"},
{KEY_DBL2MOUSE1+5, "dblsec_mouse6"},
{KEY_DBL2MOUSE1+6, "dblsec_mouse7"},
{KEY_DBL2MOUSE1+7, "dblsec_mouse8"}
DEF_GAMEPAD_AXIS(TRIGGERRIGHT, "right trigger")
};
static keyname_t oldjoynames[] =

View file

@ -174,12 +174,9 @@ typedef enum
KEY_AXES = KEY_GAMEPAD + NUM_GAMEPAD_BUTTONS, // Sure, why not.
KEY_INV_AXES = KEY_AXES + NUM_GAMEPAD_AXES,
KEY_DBLMOUSE1 = KEY_INV_AXES + NUM_GAMEPAD_AXES, // double clicks
KEY_2MOUSE1 = KEY_INV_AXES + NUM_GAMEPAD_AXES,
KEY_2MOUSE1 = KEY_DBLMOUSE1 + MOUSEBUTTONS,
KEY_DBL2MOUSE1 = KEY_2MOUSE1 + MOUSEBUTTONS,
KEY_MOUSEWHEELUP = KEY_DBL2MOUSE1 + MOUSEBUTTONS,
KEY_MOUSEWHEELUP = KEY_2MOUSE1 + MOUSEBUTTONS,
KEY_MOUSEWHEELDOWN,
KEY_2MOUSEWHEELUP,
KEY_2MOUSEWHEELDOWN,

View file

@ -13006,19 +13006,7 @@ static void M_ChangeControlResponse(event_t *ev)
else if (setupcontrols[control][1] == ch)
found = 1;
if (found >= 0)
{
#define CHECK_DBL(key, length) (ch >= key && ch <= key+length)
#define SET_DBL(key, dblkey) ch-key+dblkey
// replace mouse clicks by double clicks
if (CHECK_DBL(KEY_MOUSE1, MOUSEBUTTONS))
setupcontrols[control][found] = SET_DBL(KEY_MOUSE1, KEY_DBLMOUSE1);
else if (CHECK_DBL(KEY_2MOUSE1, MOUSEBUTTONS))
setupcontrols[control][found] = SET_DBL(KEY_2MOUSE1, KEY_DBL2MOUSE1);
#undef CHECK_DBL
#undef SET_DBL
}
else
if (found < 0)
{
// check if change key1 or key2, or replace the two by the new
found = 0;