docs: Clarified documentation of input options.

Made explanation of interaction between device class enable options
(-[no]mouse, -[no]joystick, -[no]lightgun) and automatic device class
enable options (-*_device) more explicit.  Also documented that
-mouse_device mouse is set by default in both relevant places.

Provided a better explanation of the purpose of -dual_lightgun.
This commit is contained in:
Vas Crabb 2023-02-03 04:27:40 +11:00
parent 282eedc7f5
commit 43e30203bd
2 changed files with 59 additions and 19 deletions

View File

@ -3105,7 +3105,16 @@ Core Input Options
Controls whether or not MAME makes use of mouse controllers. When this is
enabled, you will likely be unable to use your mouse for other purposes
until you exit or pause the system.
until you exit or pause the system. Supported mouse controllers depend on
your :ref:`mouseprovider setting <mame-commandline-mouseprovider>`.
Note that if this setting is off (**-nomouse**), mouse input may still be
enabled depending on the inputs present on the emulated system and your
:ref:`automatic input enable settings <mame-commandline-inputenable>`. In
particular, the default is to enable mouse input when the emulated system
has mouse inputs (**-mouse_device mouse**), so MAME will capture your mouse
pointer when you run a system with mouse inputs unless you also change
the **mouse_device** setting.
The default is OFF (**-nomouse**).
@ -3118,11 +3127,17 @@ Core Input Options
**-[no]joystick** / **-[no]joy**
Controls whether or not MAME makes use of joystick/gamepad controllers.
Controls whether or not MAME makes use of game controllers (e.g. joysticks,
gamepads and simulation controls). Supported game controllers depend on
your :ref:`joystickprovider setting <mame-commandline-joystickprovider>`.
When this is enabled, MAME will ask the system about which controllers are
connected.
Note that if this setting is off (**-nojoystick**), joystick input may still
be enabled depending on the inputs present on the emulated system and your
:ref:`automatic input enable settings <mame-commandline-inputenable>`.
The default is OFF (**-nojoystick**).
Example:
@ -3135,8 +3150,14 @@ Core Input Options
**-[no]lightgun** / **-[no]gun**
Controls whether or not MAME makes use of lightgun controllers. Note that
most lightguns map to the mouse, so using **-lightgun** and **-mouse**
together may produce strange results.
most lightguns also produce mouse input, so enabling mouse and lightgun
controllers simultaneously (using **-lightgun** and **-mouse** together) may
produce strange behaviour. Supported lightgun controllers depend on your
:ref:`lightgunprovider setting <mame-commandline-lightgunprovider>`.
Note that if this setting is off (**-nolightgun**), lightgun input may still
be enabled depending on the inputs present on the emulated system and your
:ref:`automatic input enable settings <mame-commandline-inputenable>`.
The default is OFF (**-nolightgun**).
@ -3525,20 +3546,29 @@ Core Input Automatic Enable Options
**-mouse_device** ( ``none`` | ``keyboard`` | ``mouse`` | ``lightgun`` | ``joystick`` )
Each of these options controls autoenabling the mouse, joystick, or lightgun
depending on the presence of a particular class of analog control for a
particular system. For example, if you specify the option
**-paddle mouse**, then any game that has a paddle control will
automatically enable mouse controls just as if you had explicitly specified
**-mouse**.
Each of these options sets whether mouse, joystick or lightgun controllers
should be enabled when running an emulated system that uses a particular
class of analog inputs. These options can effectively set
:ref:`-mouse <mame-commandline-nomouse>`, :ref:`-joystick
<mame-commandline-nojoystick>` and/or :ref:`-lightgun
<mame-commandline-nolightgun>` depending on the type of inputs present on
the emulated system.
For example, if you specify the option **-paddle_device mouse**, then mouse
controls will automatically be enabled when you run a game that has paddle
controls (e.g. Super Breakout), even if you specified **-nomouse**.
The default is to automatically enable mouse controls when running emulated
systems with mouse inputs (**-mouse_device mouse**).
Example:
.. code-block:: bash
mame sbrkout -paddle_device mouse
.. Tip:: Note that these controls override the values of **-[no]mouse**,
**-[no]joystick**, etc.
.. Tip:: Note that these settings can override **-nomouse**, **-nojoystick**
and/or **-nolightgun** depending on the inputs present on the emulated
system.
.. _mame-commandline-debugging:

View File

@ -82,10 +82,20 @@ Input device options
**-[no]dual_lightgun** / **-[no]dual**
Controls whether or not MAME attempts to track two lightguns connected
simultaneously. This option requires the :ref:`lightgun option
<mame-commandline-lightgun>` to be on. This option is a hack for supporting
certain older dual lightgun setups. If you have multiple lightguns
connected, you will probably just need to enable the :ref:`mouse option
<mame-commandline-mouse>` and configure each lightgun independently. The
default is OFF (**-nodual_lightgun**).
Controls whether or not MAME attempts to track two lightguns that appear as
a single mouse. This option requires the :ref:`lightgun option
<mame-commandline-nolightgun>` to be on and the :ref:`lightgunprovider
option <mame-commandline-lightgunprovider>` to be set to *win32*.
This option supports certain older dual lightgun setups that work by setting
the mouse pointer location at the moment a lightgun trigger is activated.
The primary and secondary triggers on the first lightgun correspond to the
first and second mouse buttons, and the primary and secondary triggers on
the second lightgun correspond to the third and fourth mouse buttons.
If you have multiple lightguns connected, you will probably just need to
enable the :ref:`lightgun option <mame-commandline-nolightgun>`, use the
default :ref:`lightgunprovider option <mame-commandline-lightgunprovider>`
of *rawinput*, and configure each lightgun individually.
The default is OFF (**-nodual_lightgun**).