Miscellaneous fixes and refactoring:

ui/analogipt.cpp: Fixed bar graph display for fields with ranges
that wrap through zero.

emu/inputdev.cpp: Separateed analog axis deadzone and switch threshold
settings, reduced default deadzone, and fixed a potential division by
zero if the deadzone and saturation settings are equal.

emu/ioport.cpp: Fixed behaviour of absolute analog fields where range
passes through zero - it previously only worked for specific
combinations of mask, minimum and default.  Removed a workaround from
universal/getaway.cpp that is no longer necessary.

emu/input.cpp: Fixed unintuitive behaviour when an absolute field is
assigned an OR combination of a relative control folled by an absolute
control (e.g. Mouse X or Joy 1 LSX).  Also fixed reading axis input
sequences where an axis code is followed by a switch code (these can
only be produced by manually editing configuration files, not through
MAME's UI), and fixed the returned type when multiple relative axes sum
to zero.

osd/modules/input_dinput.cpp: Fixed hat switches being stuck in up
position when input is suspended in the background

taito/taitoio_yoke.cpp: Give throttle control a distinct type, and don't
auto-centre.

osd: Added option to select MIDI provider module (currently only
PortMidi and the dummy module are available).  Also put various things
in namespaces, and fixed builds including SDL sound module with native
Windows OSD.

emu/validity.cpp: Added check to catch I/O port fields using UI input
types.

emu/inpttype.ipp: Renamed inputs that were causing confusion.  "Bill"
and "Track" were causing confusion for translators and hence likely
causing confusion for many users, especially those who are not native
English speakers.  "Track" as an abbreviation for "Trackball" was
frequently being mistranslated, e.g. in the sense of a CD track
selection button or even in the sense of a railway track.  There's no
reason to abbreviate it.  "Bill" in the US English sense as a banknote
is too ambiguous and was causing confusion for translators.  It's better
to use the less ambiguous "Banknote".  Corrected Greek translations of
"Trackball".

Don't run GitHub Actions on issue template changes.
konami_53cf96
Vas Crabb 10 months ago
parent 536c6eeb55
commit 2498f2b7cf
  1. 4
      .github/workflows/bgfxshaders.yml
  2. 4
      .github/workflows/ci-linux.yml
  3. 4
      .github/workflows/ci-macos.yml
  4. 4
      .github/workflows/ci-windows.yml
  5. 4
      .github/workflows/docs.yml
  6. 4
      .github/workflows/hash.yml
  7. 4
      .github/workflows/language.yml
  8. 2
      android-project/LICENSE
  9. 114
      docs/source/commandline/commandline-all.rst
  10. 2
      docs/source/commandline/commandline-index.rst
  11. 42
      language/Afrikaans/strings.po
  12. 42
      language/Albanian/strings.po
  13. 42
      language/Arabic/strings.po
  14. 42
      language/Basque/strings.po
  15. 42
      language/Belarusian/strings.po
  16. 42
      language/Bosnian/strings.po
  17. 42
      language/Bulgarian/strings.po
  18. 42
      language/Burmese/strings.po
  19. 42
      language/Catalan/strings.po
  20. 42
      language/Chinese_Simplified/strings.po
  21. 42
      language/Chinese_Traditional/strings.po
  22. 42
      language/Croatian/strings.po
  23. 42
      language/Czech/strings.po
  24. 42
      language/Danish/strings.po
  25. 42
      language/Dutch/strings.po
  26. 42
      language/English/strings.po
  27. 42
      language/Estonian/strings.po
  28. 42
      language/Finnish/strings.po
  29. 42
      language/French/strings.po
  30. 42
      language/French_Belgium/strings.po
  31. 42
      language/French_Canada/strings.po
  32. 42
      language/Georgian/strings.po
  33. 42
      language/German/strings.po
  34. 82
      language/Greek/strings.po
  35. 42
      language/Hebrew/strings.po
  36. 42
      language/Hindi/strings.po
  37. 42
      language/Hungarian/strings.po
  38. 42
      language/Indonesian/strings.po
  39. 42
      language/Italian/strings.po
  40. 42
      language/Japanese/strings.po
  41. 42
      language/Korean/strings.po
  42. 42
      language/Latvian/strings.po
  43. 42
      language/Lithuanian/strings.po
  44. 42
      language/Macedonian/strings.po
  45. 42
      language/Norwegian/strings.po
  46. 42
      language/Persian/strings.po
  47. 42
      language/Polish/strings.po
  48. 42
      language/Portuguese/strings.po
  49. 82
      language/Portuguese_Brazil/strings.po
  50. 42
      language/Romanian/strings.po
  51. 122
      language/Russian/strings.po
  52. 42
      language/Serbian/strings.po
  53. 42
      language/Serbian_Cyrillic/strings.po
  54. 42
      language/Slovak/strings.po
  55. 42
      language/Slovenian/strings.po
  56. 42
      language/Spanish/strings.po
  57. 42
      language/Spanish_Mexico/strings.po
  58. 42
      language/Swedish/strings.po
  59. 42
      language/Thai/strings.po
  60. 42
      language/Turkish/strings.po
  61. 42
      language/Ukrainian/strings.po
  62. 82
      language/Vietnamese/strings.po
  63. 2
      scripts/src/osd/windows.lua
  64. 5
      src/emu/emuopts.cpp
  65. 2
      src/emu/emuopts.h
  66. 42
      src/emu/inpttype.ipp
  67. 142
      src/emu/input.cpp
  68. 153
      src/emu/inputdev.cpp
  69. 31
      src/emu/inputdev.h
  70. 129
      src/emu/ioport.cpp
  71. 4
      src/emu/save.cpp
  72. 2
      src/emu/uiinput.cpp
  73. 27
      src/emu/validity.cpp
  74. 13
      src/frontend/mame/infoxml.cpp
  75. 14
      src/frontend/mame/ui/analogipt.cpp
  76. 1
      src/frontend/mame/ui/submenu.cpp
  77. 1
      src/frontend/mame/ui/viewgfx.cpp
  78. 6
      src/mame/taito/taitoio_yoke.cpp
  79. 10
      src/mame/universal/getaway.cpp
  80. 2
      src/mame/venture/looping.cpp
  81. 22
      src/osd/modules/font/font_dwrite.cpp
  82. 6
      src/osd/modules/input/input_dinput.cpp
  83. 88
      src/osd/modules/lib/osdobj_common.cpp
  84. 13
      src/osd/modules/lib/osdobj_common.h
  85. 81
      src/osd/modules/midi/none.cpp
  86. 26
      src/osd/modules/midi/portmidi.cpp
  87. 14
      src/osd/modules/osdmodule.cpp
  88. 31
      src/osd/modules/osdmodule.h
  89. 14
      src/osd/modules/output/none.cpp
  90. 21
      src/osd/modules/sound/coreaudio_sound.cpp
  91. 2
      src/osd/modules/sound/js_sound.cpp
  92. 18
      src/osd/modules/sound/none.cpp
  93. 35
      src/osd/modules/sound/pa_sound.cpp
  94. 21
      src/osd/modules/sound/sdl_sound.cpp
  95. 10
      src/osd/modules/sound/sound_module.h

@ -3,11 +3,11 @@ name: Rebuild BGFX shaders
on:
push:
paths:
- '.github/**'
- '.github/workflows/**'
- 'src/osd/modules/render/bgfx/shaders/**'
pull_request:
paths:
- '.github/**'
- '.github/workflows/**'
- 'src/osd/modules/render/bgfx/shaders/**'
permissions:

@ -3,7 +3,7 @@ name: CI (Linux)
on:
push:
paths:
- '.github/**'
- '.github/workflows/**'
- '3rdparty/**'
- 'hash/**'
- 'scripts/**'
@ -12,7 +12,7 @@ on:
- 'makefile'
pull_request:
paths:
- '.github/**'
- '.github/workflows/**'
- '3rdparty/**'
- 'hash/**'
- 'scripts/**'

@ -3,7 +3,7 @@ name: CI (macOS)
on:
push:
paths:
- '.github/**'
- '.github/workflows/**'
- '3rdparty/**'
- 'scripts/**'
- 'src/**'
@ -11,7 +11,7 @@ on:
- 'makefile'
pull_request:
paths:
- '.github/**'
- '.github/workflows/**'
- '3rdparty/**'
- 'scripts/**'
- 'src/**'

@ -3,7 +3,7 @@ name: CI (Windows)
on:
push:
paths:
- '.github/**'
- '.github/workflows/**'
- '3rdparty/**'
- 'scripts/**'
- 'src/**'
@ -11,7 +11,7 @@ on:
- 'makefile'
pull_request:
paths:
- '.github/**'
- '.github/workflows/**'
- '3rdparty/**'
- 'scripts/**'
- 'src/**'

@ -3,11 +3,11 @@ name: Build documentation
on:
push:
paths:
- '.github/**'
- '.github/workflows/**'
- 'docs/**'
pull_request:
paths:
- '.github/**'
- '.github/workflows/**'
- 'docs/**'
permissions:

@ -3,13 +3,13 @@ name: XML/JSON validation
on:
push:
paths:
- '.github/**'
- '.github/workflows/**'
- 'ctrlr/*'
- 'hash/*'
- 'plugins/**'
pull_request:
paths:
- '.github/**'
- '.github/workflows/**'
- 'ctrlr/*'
- 'hash/*'
- 'plugins/**'

@ -3,11 +3,11 @@ name: Compile UI translations
on:
push:
paths:
- '.github/**'
- '.github/workflows/**'
- 'language/**'
pull_request:
paths:
- '.github/**'
- '.github/workflows/**'
- 'language/**'
permissions:

@ -1,4 +1,4 @@
Copyright (c) 2022, MAMEdev and contributors
Copyright (c) 1997-2023, MAMEdev and contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without

@ -972,7 +972,7 @@ Example:
.. rubric:: Footnotes
.. [#JIPAutoWindows] On Windows, auto will default to ``winhybrid``.
.. [#JIPAutoWindows] On Windows native, auto will default to ``winhybrid``.
.. [#JIPAutoSDL] On SDL, auto will default to ``sdlgame``.
@ -1002,6 +1002,21 @@ Example:
mame mk2 -joystickprovider winhybrid
.. _mame-commandline-midiprovider:
**-midiprovider** *<module>*
Chooses how MAME will communicate with MIDI devices and applications (e.g.
music keyboards and synthesisers). Supported options are ``pm`` to use the
PortMidi library, or ``none`` to disable MIDI input and output (MIDI files
can still be played). The default is ``auto``, which will use PortMidi if
available.
Example:
.. code-block:: bash
mame -midiprovider none dx100 -midiin canyon.mid
.. _mame-commandline-cliverbs:
@ -2092,35 +2107,35 @@ Core Video Options
Generally Available:
| Using ``bgfx`` specifies the new hardware accelerated renderer.
|
| Using ``opengl`` tells MAME to render video using OpenGL acceleration.
|
| Using ``none`` displays no windows and does no drawing. This is primarily present for doing CPU benchmarks without the overhead of the video system.
|
* Using ``bgfx`` specifies the new hardware accelerated renderer.
* Using ``opengl`` tells MAME to render video using OpenGL acceleration.
* Using ``none`` displays no windows and does no drawing. This is primarily
intended for benchmarking emulation without the overhead of the video
system.
On Windows:
| Using ``gdi`` tells MAME to render video using older standard Windows graphics drawing calls. This is the slowest but most compatible option on older versions of Windows.
|
| Using ``d3d`` tells MAME to use Direct3D for rendering. This produces the better quality output than ``gdi`` and enables additional rendering options. It is recommended if you have a semi-recent (2002+) video card or onboard Intel video of the HD3000 line or better.
|
* Using ``gdi`` tells MAME to render video using older standard Windows
graphics drawing calls. This is the slowest but most compatible option on
older versions of Windows or buggy graphics hardware drivers.
* Using ``d3d`` tells MAME to use Direct3Dย 9 for rendering. This produces
better quality output than ``gdi`` and enables additional rendering
options. It is recommended if you have a 3D-capable video card or onboard
Intel video of the HD3000 line or better.
On other platforms (including SDL on Windows):
| Using ``accel`` tells MAME to render video using SDL's 2D acceleration if possible.
|
| Using ``soft`` uses software rendering for video output. This isn't as fast or as nice as OpenGL but will work on any platform.
|
* Using ``accel`` tells MAME to render video using SDLโ€™s 2D acceleration if
possible.
* Using ``soft`` uses software rendering for video output. This isnโ€™t as
fast or as nice as OpenGL, but it will work on any platform.
Defaults:
| The default on Windows is ``d3d``.
|
| The default for Mac OS X is ``opengl`` because OS X is guaranteed to have a compliant OpenGL stack.
|
| The default on all other systems is ``soft``.
|
* The default on Windows is ``d3d``.
* The default for macOS is ``opengl`` because OS X is guaranteed to have a
compliant OpenGL stack.
* The default on all other systems is ``soft``.
Example:
.. code-block:: bash
@ -3331,17 +3346,17 @@ Core Input Options
**-joystick_deadzone** *<value>* / **-joy_deadzone** *<value>* / **-jdz** *<value>*
If you play with an analog joystick, the center can drift a little.
joystick_deadzone tells how far along an axis you must move before the axis
starts to change. This option expects a float in the range of 0.0 to 1.0.
Where 0 is the center of the joystick and 1 is the outer limit.
If you play with an analog joystick, the center can drift a little.
joystick_deadzone tells how far along an axis you must move before the axis
starts to change. This option expects a float in the range of 0.0 to 1.0.
Where 0 is the center of the joystick and 1 is the outer limit.
The default is ``0.3``.
The default is ``0.15``.
Example:
.. code-block:: bash
mame sinistar -joystick_deadzone 0.45
mame sinistar -joystick_deadzone 0.3
.. _mame-commandline-joysticksaturation:
@ -3360,6 +3375,29 @@ Core Input Options
mame sinistar -joystick_saturation 1.0
.. _mame-commandline-joystickthreshold:
**-joystick_threshold** *<value>* / **joy_threshold** *<value>* / **-jthresh** *<value>*
When a joystick axis (or other absolute analog axis) is assigned to a
digital input, this controls how far it must be moved from the neutral
position (or centre) to be considered active or switched on. This option
expects a float in the range of 0.0 to 1.0, where 0 means any movement from
the neutral position is considered active, and 1 means only the outer limits
are considered active. This threshold is **not** adjusted to the range
between the dead zone and saturation point.
Note that if a :ref:`joystick map <mame-commandline-joystickmap>` is
configured, that will take precedence over this setting when a joystickโ€™s
main X/Y axes are assigned to digital inputs.
The default is ``0.3``.
Example:
.. code-block:: bash
mame raiden -joystick_threshold 0.2
.. _mame-commandline-natural:
**\-[no]natural**
@ -3376,18 +3414,22 @@ Core Input Options
presses/releases the emulated key.
In "natural keyboard" mode, MAME attempts to translate characters to
keystrokes. The OS translates keystrokes to characters
(similarly when you type into a text editor), and MAME attempts to translate
these characters to emulated keystrokes.
keystrokes. The OS translates keystrokes to characters (similarly to when
you type into a text editor), and MAME attempts to translate these
characters to emulated keystrokes.
**There are a number of unavoidable limitations in "natural keyboard" mode:**
* The emulated system driver and/or keyboard device or has to support it.
* The selected keyboard *must* match the keyboard layout selected in the emulated OS!
* Keystrokes that don't produce characters can't be translated. (e.g. pressing a modifier on its own such as **shift**, **ctrl**, or **alt**)
* Holding a key until the character repeats will cause the emulated key to be pressed repeatedly as opposed to being held down.
* Dead key sequences are cumbersome to use at best.
* It won't work at all if IME edit is involved. (e.g. for Chinese/Japanese/Korean)
* The emulated system driver and/or keyboard device has to support it.
* The selected keyboard layout *must* match the keyboard layout selected in
the emulated OS!
* Keystrokes that donโ€™t produce characters canโ€™t be translated (e.g.
pressing a modifier on its own such as **shift**, **ctrl**, or **alt**).
* Holding a key until the character repeats will cause the emulated key to
be pressed repeatedly as opposed to being held down.
* Dead key sequences are cumbersome to use at best.
* It wonโ€™t work at all if IME edit is involved (e.g. for Chinese, Japanese
or Korean language input).
Example:
.. code-block:: bash

@ -64,6 +64,7 @@ OSD-related Options
| :ref:`mouseprovider <mame-commandline-mouseprovider>`
| :ref:`lightgunprovider <mame-commandline-lightgunprovider>`
| :ref:`joystickprovider <mame-commandline-joystickprovider>`
| :ref:`midiprovider <mame-commandline-midiprovider>`
OSD CLI Verbs
@ -266,6 +267,7 @@ Core Input Options
| :ref:`joystick_map <mame-commandline-joystickmap>`
| :ref:`joystick_deadzone <mame-commandline-joystickdeadzone>`
| :ref:`joystick_saturation <mame-commandline-joysticksaturation>`
| :ref:`joystick_threshold <mame-commandline-joystickthreshold>`
| :ref:`[no]natural <mame-commandline-natural>`
| :ref:`[no]joystick_contradictory <mame-commandline-joystickcontradictory>`
| :ref:`coin_impulse <mame-commandline-coinimpulse>`

@ -4408,7 +4408,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4815,102 +4815,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"
msgstr ""
#: src/emu/inpttype.ipp:744
msgctxt "input-name"
msgid "Track X 3"
msgid "Trackball X 3"
msgstr ""
#: src/emu/inpttype.ipp:745
msgctxt "input-name"
msgid "Track X 4"
msgid "Trackball X 4"
msgstr ""
#: src/emu/inpttype.ipp:746
msgctxt "input-name"
msgid "Track X 5"
msgid "Trackball X 5"
msgstr ""
#: src/emu/inpttype.ipp:747
msgctxt "input-name"
msgid "Track X 6"
msgid "Trackball X 6"
msgstr ""
#: src/emu/inpttype.ipp:748
msgctxt "input-name"
msgid "Track X 7"
msgid "Trackball X 7"
msgstr ""
#: src/emu/inpttype.ipp:749
msgctxt "input-name"
msgid "Track X 8"
msgid "Trackball X 8"
msgstr ""
#: src/emu/inpttype.ipp:750
msgctxt "input-name"
msgid "Track X 9"
msgid "Trackball X 9"
msgstr ""
#: src/emu/inpttype.ipp:751
msgctxt "input-name"
msgid "Track X 10"
msgid "Trackball X 10"
msgstr ""
#: src/emu/inpttype.ipp:756
msgctxt "input-name"
msgid "Track Y"
msgid "Trackball Y"
msgstr ""
#: src/emu/inpttype.ipp:757
msgctxt "input-name"
msgid "Track Y 2"
msgid "Trackball Y 2"
msgstr ""
#: src/emu/inpttype.ipp:758
msgctxt "input-name"
msgid "Track Y 3"
msgid "Trackball Y 3"
msgstr ""
#: src/emu/inpttype.ipp:759
msgctxt "input-name"
msgid "Track Y 4"
msgid "Trackball Y 4"
msgstr ""
#: src/emu/inpttype.ipp:760
msgctxt "input-name"
msgid "Track Y 5"
msgid "Trackball Y 5"
msgstr ""
#: src/emu/inpttype.ipp:761
msgctxt "input-name"
msgid "Track Y 6"
msgid "Trackball Y 6"
msgstr ""
#: src/emu/inpttype.ipp:762
msgctxt "input-name"
msgid "Track Y 7"
msgid "Trackball Y 7"
msgstr ""
#: src/emu/inpttype.ipp:763
msgctxt "input-name"
msgid "Track Y 8"
msgid "Trackball Y 8"
msgstr ""
#: src/emu/inpttype.ipp:764
msgctxt "input-name"
msgid "Track Y 9"
msgid "Trackball Y 9"
msgstr ""
#: src/emu/inpttype.ipp:765
msgctxt "input-name"
msgid "Track Y 10"
msgid "Trackball Y 10"
msgstr ""
#: src/emu/inpttype.ipp:770

@ -4408,7 +4408,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4815,102 +4815,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"
msgstr ""
#: src/emu/inpttype.ipp:744
msgctxt "input-name"
msgid "Track X 3"
msgid "Trackball X 3"
msgstr ""
#: src/emu/inpttype.ipp:745
msgctxt "input-name"
msgid "Track X 4"
msgid "Trackball X 4"
msgstr ""
#: src/emu/inpttype.ipp:746
msgctxt "input-name"
msgid "Track X 5"
msgid "Trackball X 5"
msgstr ""
#: src/emu/inpttype.ipp:747
msgctxt "input-name"
msgid "Track X 6"
msgid "Trackball X 6"
msgstr ""
#: src/emu/inpttype.ipp:748
msgctxt "input-name"
msgid "Track X 7"
msgid "Trackball X 7"
msgstr ""
#: src/emu/inpttype.ipp:749
msgctxt "input-name"
msgid "Track X 8"
msgid "Trackball X 8"
msgstr ""
#: src/emu/inpttype.ipp:750
msgctxt "input-name"
msgid "Track X 9"
msgid "Trackball X 9"
msgstr ""
#: src/emu/inpttype.ipp:751
msgctxt "input-name"
msgid "Track X 10"
msgid "Trackball X 10"
msgstr ""
#: src/emu/inpttype.ipp:756
msgctxt "input-name"
msgid "Track Y"
msgid "Trackball Y"
msgstr ""
#: src/emu/inpttype.ipp:757
msgctxt "input-name"
msgid "Track Y 2"
msgid "Trackball Y 2"
msgstr ""
#: src/emu/inpttype.ipp:758
msgctxt "input-name"
msgid "Track Y 3"
msgid "Trackball Y 3"
msgstr ""
#: src/emu/inpttype.ipp:759
msgctxt "input-name"
msgid "Track Y 4"
msgid "Trackball Y 4"
msgstr ""
#: src/emu/inpttype.ipp:760
msgctxt "input-name"
msgid "Track Y 5"
msgid "Trackball Y 5"
msgstr ""
#: src/emu/inpttype.ipp:761
msgctxt "input-name"
msgid "Track Y 6"
msgid "Trackball Y 6"
msgstr ""
#: src/emu/inpttype.ipp:762
msgctxt "input-name"
msgid "Track Y 7"
msgid "Trackball Y 7"
msgstr ""
#: src/emu/inpttype.ipp:763
msgctxt "input-name"
msgid "Track Y 8"
msgid "Trackball Y 8"
msgstr ""
#: src/emu/inpttype.ipp:764
msgctxt "input-name"
msgid "Track Y 9"
msgid "Trackball Y 9"
msgstr ""
#: src/emu/inpttype.ipp:765
msgctxt "input-name"
msgid "Track Y 10"
msgid "Trackball Y 10"
msgstr ""
#: src/emu/inpttype.ipp:770

@ -4408,7 +4408,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4815,102 +4815,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"
msgstr ""
#: src/emu/inpttype.ipp:744
msgctxt "input-name"
msgid "Track X 3"
msgid "Trackball X 3"
msgstr ""
#: src/emu/inpttype.ipp:745
msgctxt "input-name"
msgid "Track X 4"
msgid "Trackball X 4"
msgstr ""
#: src/emu/inpttype.ipp:746
msgctxt "input-name"
msgid "Track X 5"
msgid "Trackball X 5"
msgstr ""
#: src/emu/inpttype.ipp:747
msgctxt "input-name"
msgid "Track X 6"
msgid "Trackball X 6"
msgstr ""
#: src/emu/inpttype.ipp:748
msgctxt "input-name"
msgid "Track X 7"
msgid "Trackball X 7"
msgstr ""
#: src/emu/inpttype.ipp:749
msgctxt "input-name"
msgid "Track X 8"
msgid "Trackball X 8"
msgstr ""
#: src/emu/inpttype.ipp:750
msgctxt "input-name"
msgid "Track X 9"
msgid "Trackball X 9"
msgstr ""
#: src/emu/inpttype.ipp:751
msgctxt "input-name"
msgid "Track X 10"
msgid "Trackball X 10"
msgstr ""
#: src/emu/inpttype.ipp:756
msgctxt "input-name"
msgid "Track Y"
msgid "Trackball Y"
msgstr ""
#: src/emu/inpttype.ipp:757
msgctxt "input-name"
msgid "Track Y 2"
msgid "Trackball Y 2"
msgstr ""
#: src/emu/inpttype.ipp:758
msgctxt "input-name"
msgid "Track Y 3"
msgid "Trackball Y 3"
msgstr ""
#: src/emu/inpttype.ipp:759
msgctxt "input-name"
msgid "Track Y 4"
msgid "Trackball Y 4"
msgstr ""
#: src/emu/inpttype.ipp:760
msgctxt "input-name"
msgid "Track Y 5"
msgid "Trackball Y 5"
msgstr ""
#: src/emu/inpttype.ipp:761
msgctxt "input-name"
msgid "Track Y 6"
msgid "Trackball Y 6"
msgstr ""
#: src/emu/inpttype.ipp:762
msgctxt "input-name"
msgid "Track Y 7"
msgid "Trackball Y 7"
msgstr ""
#: src/emu/inpttype.ipp:763
msgctxt "input-name"
msgid "Track Y 8"
msgid "Trackball Y 8"
msgstr ""
#: src/emu/inpttype.ipp:764
msgctxt "input-name"
msgid "Track Y 9"
msgid "Trackball Y 9"
msgstr ""
#: src/emu/inpttype.ipp:765
msgctxt "input-name"
msgid "Track Y 10"
msgid "Trackball Y 10"
msgstr ""
#: src/emu/inpttype.ipp:770

@ -4409,7 +4409,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4816,102 +4816,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"
msgstr ""
#: src/emu/inpttype.ipp:744
msgctxt "input-name"
msgid "Track X 3"
msgid "Trackball X 3"
msgstr ""
#: src/emu/inpttype.ipp:745
msgctxt "input-name"
msgid "Track X 4"
msgid "Trackball X 4"
msgstr ""
#: src/emu/inpttype.ipp:746
msgctxt "input-name"
msgid "Track X 5"
msgid "Trackball X 5"
msgstr ""
#: src/emu/inpttype.ipp:747
msgctxt "input-name"
msgid "Track X 6"
msgid "Trackball X 6"
msgstr ""
#: src/emu/inpttype.ipp:748
msgctxt "input-name"
msgid "Track X 7"
msgid "Trackball X 7"
msgstr ""
#: src/emu/inpttype.ipp:749
msgctxt "input-name"
msgid "Track X 8"
msgid "Trackball X 8"
msgstr ""
#: src/emu/inpttype.ipp:750
msgctxt "input-name"
msgid "Track X 9"
msgid "Trackball X 9"
msgstr ""
#: src/emu/inpttype.ipp:751
msgctxt "input-name"
msgid "Track X 10"
msgid "Trackball X 10"
msgstr ""
#: src/emu/inpttype.ipp:756
msgctxt "input-name"
msgid "Track Y"
msgid "Trackball Y"
msgstr ""
#: src/emu/inpttype.ipp:757
msgctxt "input-name"
msgid "Track Y 2"
msgid "Trackball Y 2"
msgstr ""
#: src/emu/inpttype.ipp:758
msgctxt "input-name"
msgid "Track Y 3"
msgid "Trackball Y 3"
msgstr ""
#: src/emu/inpttype.ipp:759
msgctxt "input-name"
msgid "Track Y 4"
msgid "Trackball Y 4"
msgstr ""
#: src/emu/inpttype.ipp:760
msgctxt "input-name"
msgid "Track Y 5"
msgid "Trackball Y 5"
msgstr ""
#: src/emu/inpttype.ipp:761
msgctxt "input-name"
msgid "Track Y 6"
msgid "Trackball Y 6"
msgstr ""
#: src/emu/inpttype.ipp:762
msgctxt "input-name"
msgid "Track Y 7"
msgid "Trackball Y 7"
msgstr ""
#: src/emu/inpttype.ipp:763
msgctxt "input-name"
msgid "Track Y 8"
msgid "Trackball Y 8"
msgstr ""
#: src/emu/inpttype.ipp:764
msgctxt "input-name"
msgid "Track Y 9"
msgid "Trackball Y 9"
msgstr ""
#: src/emu/inpttype.ipp:765
msgctxt "input-name"
msgid "Track Y 10"
msgid "Trackball Y 10"
msgstr ""
#: src/emu/inpttype.ipp:770

@ -4411,7 +4411,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4818,102 +4818,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"
msgstr ""
#: src/emu/inpttype.ipp:744
msgctxt "input-name"
msgid "Track X 3"
msgid "Trackball X 3"
msgstr ""
#: src/emu/inpttype.ipp:745
msgctxt "input-name"
msgid "Track X 4"
msgid "Trackball X 4"
msgstr ""
#: src/emu/inpttype.ipp:746
msgctxt "input-name"
msgid "Track X 5"
msgid "Trackball X 5"
msgstr ""
#: src/emu/inpttype.ipp:747
msgctxt "input-name"
msgid "Track X 6"
msgid "Trackball X 6"
msgstr ""
#: src/emu/inpttype.ipp:748
msgctxt "input-name"
msgid "Track X 7"
msgid "Trackball X 7"
msgstr ""
#: src/emu/inpttype.ipp:749
msgctxt "input-name"
msgid "Track X 8"
msgid "Trackball X 8"
msgstr ""
#: src/emu/inpttype.ipp:750
msgctxt "input-name"
msgid "Track X 9"
msgid "Trackball X 9"
msgstr ""
#: src/emu/inpttype.ipp:751
msgctxt "input-name"
msgid "Track X 10"
msgid "Trackball X 10"
msgstr ""
#: src/emu/inpttype.ipp:756
msgctxt "input-name"
msgid "Track Y"
msgid "Trackball Y"
msgstr ""
#: src/emu/inpttype.ipp:757
msgctxt "input-name"
msgid "Track Y 2"
msgid "Trackball Y 2"
msgstr ""
#: src/emu/inpttype.ipp:758
msgctxt "input-name"
msgid "Track Y 3"
msgid "Trackball Y 3"
msgstr ""
#: src/emu/inpttype.ipp:759
msgctxt "input-name"
msgid "Track Y 4"
msgid "Trackball Y 4"
msgstr ""
#: src/emu/inpttype.ipp:760
msgctxt "input-name"
msgid "Track Y 5"
msgid "Trackball Y 5"
msgstr ""
#: src/emu/inpttype.ipp:761
msgctxt "input-name"
msgid "Track Y 6"
msgid "Trackball Y 6"
msgstr ""
#: src/emu/inpttype.ipp:762
msgctxt "input-name"
msgid "Track Y 7"
msgid "Trackball Y 7"
msgstr ""
#: src/emu/inpttype.ipp:763
msgctxt "input-name"
msgid "Track Y 8"
msgid "Trackball Y 8"
msgstr ""
#: src/emu/inpttype.ipp:764
msgctxt "input-name"
msgid "Track Y 9"
msgid "Trackball Y 9"
msgstr ""
#: src/emu/inpttype.ipp:765
msgctxt "input-name"
msgid "Track Y 10"
msgid "Trackball Y 10"
msgstr ""
#: src/emu/inpttype.ipp:770

@ -4408,7 +4408,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4815,102 +4815,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"
msgstr ""
#: src/emu/inpttype.ipp:744
msgctxt "input-name"
msgid "Track X 3"
msgid "Trackball X 3"
msgstr ""
#: src/emu/inpttype.ipp:745
msgctxt "input-name"
msgid "Track X 4"
msgid "Trackball X 4"
msgstr ""
#: src/emu/inpttype.ipp:746
msgctxt "input-name"
msgid "Track X 5"
msgid "Trackball X 5"
msgstr ""
#: src/emu/inpttype.ipp:747
msgctxt "input-name"
msgid "Track X 6"
msgid "Trackball X 6"
msgstr ""
#: src/emu/inpttype.ipp:748
msgctxt "input-name"
msgid "Track X 7"
msgid "Trackball X 7"
msgstr ""
#: src/emu/inpttype.ipp:749
msgctxt "input-name"
msgid "Track X 8"
msgid "Trackball X 8"
msgstr ""
#: src/emu/inpttype.ipp:750
msgctxt "input-name"
msgid "Track X 9"
msgid "Trackball X 9"
msgstr ""
#: src/emu/inpttype.ipp:751
msgctxt "input-name"
msgid "Track X 10"
msgid "Trackball X 10"
msgstr ""
#: src/emu/inpttype.ipp:756
msgctxt "input-name"
msgid "Track Y"
msgid "Trackball Y"
msgstr ""
#: src/emu/inpttype.ipp:757
msgctxt "input-name"
msgid "Track Y 2"
msgid "Trackball Y 2"
msgstr ""
#: src/emu/inpttype.ipp:758
msgctxt "input-name"
msgid "Track Y 3"
msgid "Trackball Y 3"
msgstr ""
#: src/emu/inpttype.ipp:759
msgctxt "input-name"
msgid "Track Y 4"
msgid "Trackball Y 4"
msgstr ""
#: src/emu/inpttype.ipp:760
msgctxt "input-name"
msgid "Track Y 5"
msgid "Trackball Y 5"
msgstr ""
#: src/emu/inpttype.ipp:761
msgctxt "input-name"
msgid "Track Y 6"
msgid "Trackball Y 6"
msgstr ""
#: src/emu/inpttype.ipp:762
msgctxt "input-name"
msgid "Track Y 7"
msgid "Trackball Y 7"
msgstr ""
#: src/emu/inpttype.ipp:763
msgctxt "input-name"
msgid "Track Y 8"
msgid "Trackball Y 8"
msgstr ""
#: src/emu/inpttype.ipp:764
msgctxt "input-name"
msgid "Track Y 9"
msgid "Trackball Y 9"
msgstr ""
#: src/emu/inpttype.ipp:765
msgctxt "input-name"
msgid "Track Y 10"
msgid "Trackball Y 10"
msgstr ""
#: src/emu/inpttype.ipp:770

@ -4410,7 +4410,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4817,102 +4817,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"
msgstr ""
#: src/emu/inpttype.ipp:744
msgctxt "input-name"
msgid "Track X 3"
msgid "Trackball X 3"
msgstr ""
#: src/emu/inpttype.ipp:745
msgctxt "input-name"
msgid "Track X 4"
msgid "Trackball X 4"
msgstr ""
#: src/emu/inpttype.ipp:746
msgctxt "input-name"
msgid "Track X 5"
msgid "Trackball X 5"
msgstr ""
#: src/emu/inpttype.ipp:747
msgctxt "input-name"
msgid "Track X 6"
msgid "Trackball X 6"
msgstr ""
#: src/emu/inpttype.ipp:748
msgctxt "input-name"
msgid "Track X 7"
msgid "Trackball X 7"
msgstr ""
#: src/emu/inpttype.ipp:749
msgctxt "input-name"
msgid "Track X 8"
msgid "Trackball X 8"
msgstr ""
#: src/emu/inpttype.ipp:750
msgctxt "input-name"
msgid "Track X 9"
msgid "Trackball X 9"
msgstr ""
#: src/emu/inpttype.ipp:751
msgctxt "input-name"
msgid "Track X 10"
msgid "Trackball X 10"
msgstr ""
#: src/emu/inpttype.ipp:756
msgctxt "input-name"
msgid "Track Y"
msgid "Trackball Y"
msgstr ""
#: src/emu/inpttype.ipp:757
msgctxt "input-name"
msgid "Track Y 2"
msgid "Trackball Y 2"
msgstr ""
#: src/emu/inpttype.ipp:758
msgctxt "input-name"
msgid "Track Y 3"
msgid "Trackball Y 3"
msgstr ""
#: src/emu/inpttype.ipp:759
msgctxt "input-name"
msgid "Track Y 4"
msgid "Trackball Y 4"
msgstr ""
#: src/emu/inpttype.ipp:760
msgctxt "input-name"
msgid "Track Y 5"
msgid "Trackball Y 5"
msgstr ""
#: src/emu/inpttype.ipp:761
msgctxt "input-name"
msgid "Track Y 6"
msgid "Trackball Y 6"
msgstr ""
#: src/emu/inpttype.ipp:762
msgctxt "input-name"
msgid "Track Y 7"
msgid "Trackball Y 7"
msgstr ""
#: src/emu/inpttype.ipp:763
msgctxt "input-name"
msgid "Track Y 8"
msgid "Trackball Y 8"
msgstr ""
#: src/emu/inpttype.ipp:764
msgctxt "input-name"
msgid "Track Y 9"
msgid "Trackball Y 9"
msgstr ""
#: src/emu/inpttype.ipp:765
msgctxt "input-name"
msgid "Track Y 10"
msgid "Trackball Y 10"
msgstr ""
#: src/emu/inpttype.ipp:770

@ -4408,7 +4408,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4815,102 +4815,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"
msgstr ""
#: src/emu/inpttype.ipp:744
msgctxt "input-name"
msgid "Track X 3"
msgid "Trackball X 3"
msgstr ""
#: src/emu/inpttype.ipp:745
msgctxt "input-name"
msgid "Track X 4"
msgid "Trackball X 4"
msgstr ""
#: src/emu/inpttype.ipp:746
msgctxt "input-name"
msgid "Track X 5"
msgid "Trackball X 5"
msgstr ""
#: src/emu/inpttype.ipp:747
msgctxt "input-name"
msgid "Track X 6"
msgid "Trackball X 6"
msgstr ""
#: src/emu/inpttype.ipp:748
msgctxt "input-name"
msgid "Track X 7"
msgid "Trackball X 7"
msgstr ""
#: src/emu/inpttype.ipp:749
msgctxt "input-name"
msgid "Track X 8"
msgid "Trackball X 8"
msgstr ""
#: src/emu/inpttype.ipp:750
msgctxt "input-name"
msgid "Track X 9"
msgid "Trackball X 9"
msgstr ""
#: src/emu/inpttype.ipp:751
msgctxt "input-name"
msgid "Track X 10"
msgid "Trackball X 10"
msgstr ""
#: src/emu/inpttype.ipp:756
msgctxt "input-name"
msgid "Track Y"
msgid "Trackball Y"
msgstr ""
#: src/emu/inpttype.ipp:757
msgctxt "input-name"
msgid "Track Y 2"
msgid "Trackball Y 2"
msgstr ""
#: src/emu/inpttype.ipp:758
msgctxt "input-name"
msgid "Track Y 3"
msgid "Trackball Y 3"
msgstr ""
#: src/emu/inpttype.ipp:759
msgctxt "input-name"
msgid "Track Y 4"
msgid "Trackball Y 4"
msgstr ""
#: src/emu/inpttype.ipp:760
msgctxt "input-name"
msgid "Track Y 5"
msgid "Trackball Y 5"
msgstr ""
#: src/emu/inpttype.ipp:761
msgctxt "input-name"
msgid "Track Y 6"
msgid "Trackball Y 6"
msgstr ""
#: src/emu/inpttype.ipp:762
msgctxt "input-name"
msgid "Track Y 7"
msgid "Trackball Y 7"
msgstr ""
#: src/emu/inpttype.ipp:763
msgctxt "input-name"
msgid "Track Y 8"
msgid "Trackball Y 8"
msgstr ""
#: src/emu/inpttype.ipp:764
msgctxt "input-name"
msgid "Track Y 9"
msgid "Trackball Y 9"
msgstr ""
#: src/emu/inpttype.ipp:765
msgctxt "input-name"
msgid "Track Y 10"
msgid "Trackball Y 10"
msgstr ""
#: src/emu/inpttype.ipp:770

@ -4441,7 +4441,7 @@ msgstr ""
#: src/emu/inpttype.ipp:583
msgctxt "input-name"
msgid "Bill 1"
msgid "Banknote 1"
msgstr ""
#: src/emu/inpttype.ipp:588
@ -4848,102 +4848,102 @@ msgstr ""
#: src/emu/inpttype.ipp:742
msgctxt "input-name"
msgid "Track X"
msgid "Trackball X"
msgstr ""
#: src/emu/inpttype.ipp:743
msgctxt "input-name"
msgid "Track X 2"
msgid "Trackball X 2"