Allow binding mouse buttons

Instead of hardcoding mouse button actions, allow the user to
bind mouse buttons to extended commands.  For example the new
defaults are:

BIND=mouse1:therecmdmenu
BIND=mouse2:clicklook

Currently a bit rudimentary; the defaults should be OK, but
documentation is bit lacking, and in-game binding and option
saving are missing.

Allowed commands to bind are "nothing", "therecmdmenu", "clicklook",
and "mouseaction". Clicklook replaces the "clicklook" boolean option,
and mouseaction does what mouse 1 button used to do - a context sensitive
action.
This commit is contained in:
Pasi Kallinen
2022-08-23 23:06:26 +03:00
parent 3a255e86c4
commit c42e73fd9c
11 changed files with 135 additions and 78 deletions

View File

@@ -162,8 +162,6 @@ static int optfn_##a(int, int, boolean, char *, char *);
NHOPTB(checkpoint, Advanced, 0, opt_out, set_in_config,
Off, No, No, No, NoAlias, (boolean *) 0)
#endif
NHOPTB(clicklook, Advanced, 0, opt_in, set_in_game,
Off, Yes, No, No, NoAlias, &iflags.clicklook)
NHOPTB(cmdassist, Behavior, 0, opt_out, set_in_game,
On, Yes, No, No, NoAlias, &iflags.cmdassist)
NHOPTB(color, Map, 0, opt_in, set_in_game,