simulated mouse click for #therecmdmenu

The #therecmdmenu command calls getdir() which issues an "in what
direction?" prompt.  This allows you to answer with "_" instead of a
regular direction, then it will call getpos() to allow you to move
the cursor and type "," (or ";") to behave as if a left-click had
been done or type "." (or ":") to behave as right-click.

Ordinarily I would think of the 'normal' getpos() response of "."
as suitable for left-click, then one of the other getpos finishers
for right-click, but comma is left of period on a standard keyboard
and that seems useful for remembering which is used for which click.

Left clicking on a spot farther than one step away offers travel,
throw iff lined up, and also click-look as choices.  If you right
click farther than one step away, it will only offer click-look.
The look choice for either left or right click isn't inhibited by
having the clicklook option set to False.  After all, player is
explicitly choosing the menu entry to look at something.

New getdir.mouse can be bound to some other key than "_" and the
getpos.pick* responses could already be re-bound, but there's no
separate getdir.left/right that could be used to bind different keys
from those used for the four getpos responses.
This commit is contained in:
PatR
2022-06-13 16:06:06 -07:00
parent 145232a16f
commit 00fd2b79de
6 changed files with 127 additions and 23 deletions

View File

@@ -5388,11 +5388,22 @@ With {\it number\verb+_+pad\/} only. Default is~`{\tt n}'.
\item[{\bb{getdir.help}}]
When asked for a direction, the key to show the help. Default is~`{\tt ?}'.
%.lp
\item[{\bb{getdir.mouse}}]
When asked for a direction, the key to initiate a simulated mouse click.
You will be asked to pick a location.
Use movement keystrokes to move the cursor around the map, then type
the getpos.pick.once key (default `{\tt ,}')
or the getpos.pick key (default `{\tt .}')
to finish as if performing a left or right click.
Only useful when using the {\tt \#therecmdmenu} command.
Default is~`{\tt \verb+_+}'.
%.lp
\item[{\bb{getdir.self}}]
When asked for a direction, the key to target yourself. Default is~`{\tt .}'.
%.lp
\item[{\bb{getdir.self2}}]
When asked for a direction, the key to target yourself. Default is~`{\tt s}'.
When asked for a direction, an alternate key to target yourself.
Default is~`{\tt s}'.
%.lp
\item[{\bb{getpos.autodescribe}}]
When asked for a location, the key to toggle {\it autodescribe\/}.
@@ -5450,11 +5461,17 @@ filtering, in view only, and in the same area only. Default is~`{\tt "}'.
%.lp
\item[{\bb{getpos.pick}}]
When asked for a location, the key to choose the location, and possibly
ask for more info. Default is~`{\tt .}'.
ask for more info.
When simulating a mouse click after being asked for a direction (see
getdir.mouse above), the key to use to respond as right click.
Default is~`{\tt .}'.
%.lp
\item[{\bb{getpos.pick.once}}]
When asked for a location, the key to choose the location, and skip
asking for more info. Default is~`{\tt ,}'.
asking for more info.
When simulating a mouse click after being asked for a direction,
the key to respond as left click.
Default is~`{\tt ,}'.
%.lp
\item[{\bb{getpos.pick.quick}}]
When asked for a location, the key to choose the location, skip asking