diff options
author | 2021-11-06 13:52:48 +1100 | |
---|---|---|
committer | 2021-11-06 13:52:48 +1100 | |
commit | 270276c4d30721dc397de6d8c92334469ce37243 (patch) | |
tree | 99e802773ecec08ade94f574fdca3d665d726901 /docs/source/usingmame/ui.rst | |
parent | 07e55935cf49c94a94dcc75d8240d0733d1ed5d7 (diff) |
-Enabled complex combinations for analog axes:
* Made it possible to add digital controls to axis settings as enables.
* Mix multiple analog controls assigned to an axis setting.
* Added a "reverse" modifier for analog controls (useful with mixing).
* Fixed an issue assigning mouse axes using multiple mouse-like devices
with -nomultimouse.
-frontend: More cleanup:
* Got rid of some abuse of "special main menus".
* Added a helper class for auto-pause menus that don't spawn submenus.
* Got rid of the fake menu that schedules an exit on the first frame.
* Turned the confirm quit prompt into a menu, eliminated one more
special-cased event loop.
* Fixed the confirm quit prompt resuming if you return to emulation if
you weren't paused to begin with.
-bus/centronics: Fixed conflicting DIP locations, reversed order and
inverted polarity for Epson printers.
* Also added the LX-810 (without L suffix) DIP switches for reference -
we don't have a device for this printer yet.
Diffstat (limited to 'docs/source/usingmame/ui.rst')
-rw-r--r-- | docs/source/usingmame/ui.rst | 87 |
1 files changed, 59 insertions, 28 deletions
diff --git a/docs/source/usingmame/ui.rst b/docs/source/usingmame/ui.rst index 82f3aa579bd..f435c250c76 100644 --- a/docs/source/usingmame/ui.rst +++ b/docs/source/usingmame/ui.rst @@ -269,39 +269,70 @@ the **Steering Wheel Analog Inc** or **Steering Wheel Analog Dec** setting to the X axis of the same analog stick. You can assign one or more analog axes to the axis setting for an emulated -analog input. When multiple axes are assigned to an axis setting using **or** -operations, only the first axis that is not in the neutral position will take -effect. For example suppose for Atari Star Wars you assign the **AD Stick X -Analog** axis setting to **Joy 1 LSX or Joy 1 RSX** on an Xbox-style controller. -You will be able to control the emulated X axis using the X axis of the left -stick. If the left stick is in the neutral position (centred) on the X axis, -you will be able to control the emulated X axis using the X axis of the right -stick; however, if the left stick is *not* centred on the X axis, the X axis of -the right stick will be ignored. - -MAME allows you to assign either the full range of an axis or the range on one -side of the neutral position (a *half axis*) to an axis setting. Assigning a -half axis is usually used for pedals or other absolute inputs where the neutral -position is at one end of the input range. For example suppose for **Ridge -Racer** you assign the **Brake Pedal Analog** setting to the portion of a -vertical joystick axis below the neutral position. If the joystick is at or -above the neutral position vertically, the brake pedal will be released; if the -joystick is below the neutral position vertically, the brake pedal will be -applied proportionally. Half axes are displayed as the name of the axis -followed by a plus or minus sign (**+** or **-**). Plus refers to the portion -of the axis below or to the right of the neutral position; minus refers to the -portion of the axis above or to the left of the neutral position. For pedal -or analog trigger controls, the active range is treated as being above the -neutral position (the half axis indicated by a minus sign). +analog input. When multiple axes are assigned to an axis setting, they will be +added together, but absolute position controls will override relative position +controls. For example suppose for Arkanoid you assign the **Dial Analog** axis +setting to **Mouse X or Joy 1 LSX or Joy 1 RSX** on a mouse Xbox-style +controller. You will be able to control the paddle with the mouse or either +analog stick, but the mouse will only take effect if both analog sticks are in +the neutral position (centred) on the X axis. If either analog stick is *not* +centred on the X axis, the mouse will have no effect, because a mouse is a +relative position control while a joystick is an absolute position control. + +For absolute position controls like joysticks and pedals, MAME allows you to +assign either the full range of an axis or the range on one side of the neutral +position (a *half axis*) to an axis setting. Assigning a half axis is usually +used for pedals or other absolute inputs where the neutral position is at one +end of the input range. For example suppose for **Ridge Racer** you assign the +**Brake Pedal Analog** setting to the portion of a vertical joystick axis below +the neutral position. If the joystick is at or above the neutral position +vertically, the brake pedal will be released; if the joystick is below the +neutral position vertically, the brake pedal will be applied proportionally. +Half axes are displayed as the name of the axis followed by a plus or minus sign +(**+** or **-**). Plus refers to the portion of the axis below or to the right +of the neutral position; minus refers to the portion of the axis above or to the +left of the neutral position. For pedal or analog trigger controls, the active +range is treated as being above the neutral position (the half axis indicated by +a minus sign). + +When keys or buttons are assigned to an axis setting, they conditionally enable +analog controls assigned to the setting. This can be used in conjunction with +an absolute position control to create a “sticky” control. + +Here are some examples of some possible axis setting assignments, assuming an +Xbox-style controller and a mouse are used: + +Joy 1 RSY + Use vertical movement of the right analog stick to control the emulated + input. +Mouse X or Joy 1 LT or Joy 1 RT Reverse + Use horizontal mouse movement, or the left and right triggers to control the + emulated input. The right trigger is reversed so it acts in the opposite + direction to the left trigger. +Joy 1 LB Joy 1 LSX + Use horizontal movement of the left analog stick to control the emulated + input, but *only* while holding the left shoulder button. If the right + shoulder button is released while the left analog stick is not centred + horizontally, the emulated input will hold its value until the right + shoulder button is pressed again (a “sticky” control). +not Joy 1 RB Joy 1 RSX or Joy 1 RB Joy 1 RSX Reverse + Use horizontal movement of the right analog stick to control the emulated + input, but invert the control if the right shoulder button is held. When you select an axis setting, MAME will wait for you to enter an input: * Move an analog control to assign it to the axis setting. -* When appending to a setting, move the last assigned analog control to cycle - between the full range of the axis and the portion of the axis on either side - of the neutral position. +* Press a key or button (or a combination of keys or buttons) *before* moving an + analog control to conditionally enable the analog control. +* When appending to a setting, if the last assigned control is an absolute + position control, move the same control again to cycle between the full range + of the axis, the portion of the axis on either side of the neutral position, + and the full range of the axis reversed. +* When appending to a setting, if the last assigned control is a relative + position control, move the same control again to toggle reversing the + direction of the control on or off. * When appending to a setting, move an analog control other than the last - assigned control to add an **or** operation. + assigned control or press a key or button to add an **or** operation. * Pressing **UI Cancel** (**Escape** by default) *before* activating an analog axis input clears the setting or restores the default assignment. * Pressing **UI Cancel** *after* activating analog axis input leaves the setting |