@@ -71,8 +71,10 @@ with a ``version`` attribute specifying the configuration format version
71
71
(currently ``10 `` – MAME will not load a file using a different version). The
72
72
``mameconfig `` element contains one or more ``system `` elements, each of which
73
73
has a ``name `` attribute specifying the system(s) it applies to. Each
74
- ``system `` element contains an ``input `` element which holds the actual
74
+ ``system `` element may contain an ``input `` element which holds the actual
75
75
``remap `` and ``port `` configuration elements, which will be described later.
76
+ Each ``system `` element may also contain a ``pointer_input `` element to set
77
+ pointer input options for systems with interactive artwork.
76
78
77
79
When launching an emulated system, MAME will apply configuration from ``system ``
78
80
elements where the value of the ``name `` attribute meets one of the following
@@ -261,3 +263,45 @@ MAME applies ``mapdevice`` elements found inside the first applicable ``system``
261
263
element only. To avoid confusion, it’s simplest to place the ``system `` element
262
264
applying to all systems (``name `` attribute set to ``default ``) first in the
263
265
file, and use it to assign input device numbers.
266
+
267
+
268
+ .. _ctrlrcfg-pointers :
269
+
270
+ Setting pointer input options
271
+ -----------------------------
272
+
273
+ A ``pointer_input `` element may contain ``target `` elements to set pointer input
274
+ options for each output screen or window. Each ``target `` element must have an
275
+ ``index `` attribute containing the zero-based index of the screen to which it
276
+ applies.
277
+
278
+ Each ``target `` element may have an ``activity_timeout `` attribute to set the
279
+ time after which a mouse pointer that has not moved and has no buttons pressed
280
+ will be considered inactive. The value is specified in seconds, and must be in
281
+ the range of 0.1 seconds to 10 seconds, inclusive.
282
+
283
+ Each ``target `` element may have a ``hide_inactive `` element to set whether
284
+ inactive pointers may be hidden. If the value is ``0 `` (zero), inactive
285
+ pointers will not be hidden. If the value is ``1 ``, inactive pointers may be
286
+ hidden, but layout views can still specify that inactive pointers should not be
287
+ hidden.
288
+
289
+ Here’s an example demonstrating the use of this feature:
290
+
291
+ .. code-block :: XML
292
+
293
+ <system name="default">
294
+ <pointer_input>
295
+ <target index="0" activity_timeout="1.5" />
296
+ </pointer_input>
297
+ </system>
298
+ <system name="intellec4.cpp">
299
+ <pointer_input>
300
+ <target index="0" hide_inactive="0" />
301
+ </pointer_input>
302
+ </system>
303
+
304
+ For all systems, pointers over the first output screen or window will be
305
+ considered inactive after not moving for 1.5 seconds with no buttons pressed.
306
+ For systems defined in ``intellec4.cpp ``, inactive pointers over the first
307
+ window will not be hidden.
0 commit comments