summaryrefslogtreecommitdiffstatshomepage
path: root/docs/source/usingmame/defaultkeys.rst
blob: 31fb6ad7d1ababcc5befcab83fe2926e4bba6e16 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
Default Keyboard Controls
=========================

.. contents:: :local:


.. _default-keys-foreword:

Controls Foreword
-----------------

MAME supports a vast array of different types of machines, with a
significantly different array of inputs across them. This means that some
keyboard keys, mouse buttons, and joystick buttons will be used for multiple
functions. As a result, the control charts below are separated by machine-types
to make it easier to find what you’re looking for.

All of the controls below are fully configurable in the user interface. These
charts show the default configuration.

Note that the defaults shown here are arranged by US ANSI key positioning. If
you are using a different layout, the keys will vary.

MAME User Interface Controls
----------------------------

The controls here cover MAME functions such as MAME’s menus, machine pause,
and saving/loading save states.


**Tab**
    Toggles the configuration menu.
    Switches to the next UI panel.
**~** (tilde key)
    Toggles the On-Screen Display.

    If you are running with -debug, this key sends a ‘break’ in emulation.

    When the on-screen display is visible, you can use the following
    keys to control it:

    * **Up** - select previous parameter to modify.
    * **Down** - select next parameter to modify.
    * **Left** - decrease the value of the selected parameter.
    * **Right** - increase the value of the selected parameter.
    * **Enter** - reset parameter value to its default.
    * **Control+Left** - decrease the value by 10x.
    * **Shift+Left** - decrease the value by 0.1x.
    * **Alt+Left** - decrease the value by the smallest amount.
    * **Control+Right** - increase the value by 10x.
    * **Shift+Right** - increase the value by 0.1x.
    * **Alt+Right** - increase the value by the smallest amount.
    * **End** - temporarily hide the On Screen Display.
    * **Home** - bring the On Screen Display back after hiding it.
**Up Arrow**
    Highlight previous UI menu option.
**Down Arrow**
    Highlight next UI menu option.
**Left Arrow**
    Change current UI option setting when an arrow is present on it.
**Right Arrow**
    Change current UI option setting when an arrow is present on it.
**Home**
    Highlight first UI menu option.
**End**
    Select last UI menu option.
**Left Shift+Tab**
    Select previous UI panel.
**Enter**/**Joystick 1 Button 1**
    Select currently highlighted UI menu option.
**Space**
    Show comment on currently highlighted UI menu option.
**Delete**
    Clear/reset to default when highlighting an entry on the input
    configuration, cheat options, and plugin options pages.
**[**
    UI Previous Group
**]**
    UI Next Group
**P**
    Pauses the emulated machine.
**Left Shift+P**
    While paused, advances to next frame. If rewind is enabled, a new rewind
    save state is also captured.
**Left Shift+~**
    While paused, loads the most recent rewind save state.
**F1**
    Power the machine on for machines that have specific power button behavior.
**F2**
    Power the machine off for machines that have specific power button behavior.
**F3**
    Soft resets the machine.
**Left Shift+F3**
    Performs a “hard reset”, which tears everything down and re-creates it from
    scratch. This is a more thorough and complete reset than the reset you get
    from hitting F3.
**F4**
    Shows the game palette, decoded graphics tiles/characters and any tilemaps.

    Use the Enter key to switch between the three modes (palette, graphics, and
    tilemaps).

    Press F4 again to turn off the display.
    The key controls in each mode vary slightly:

    Palette/colortable mode:

    * **[** **]** - switch between palette devices.
    * **Up**/**Down** - scroll up/down one line at a time.
    * **Page Up**/**Page Down** - scroll up/down one page at a time.
    * **Home**/**End** - move to top/bottom of list.
    * **-**/**+** - increase/decrease the number of colors per row.
    * **Enter** - switch to graphics viewer.

    Graphics mode:

    * **[** **]** - switch between different graphics sets.
    * **Up**/**Down** - scroll up/down one line at a time.
    * **Page Up**/**Page Down** - scroll up/down one page at a time.
    * **Home**/**End** - move to top/bottom of list.
    * **Left**/**Right** - change color displayed.
    * **R** - rotate tiles 90 degrees clockwise.
    * **-**/**+** - increase/decrease the number of tiles per row.
    * **Enter** - switch to tilemap viewer.

    Tilemap mode:

    * **[** **]** - switch between different tilemaps.
    * **Up**/**Down**/**Left**/**Right** - scroll 8 pixels at a time.
    * **Shift+Up**/**Down**/**Left**/**Right** - scroll 1 pixel at a time.
    * **Control+Up**/**Down**/**Left**/**Right** - scroll 64 pixels at a time.
    * **R** - rotate tilemap view 90 degrees clockwise.
    * **-**/**+** - increase/decrease the zoom factor.
    * **Enter** - switch to palette/colortable mode.

    Note: Not all games have decoded graphics and/or tilemaps.
**Left Ctrl+F5**
    Toggle Filter.
    (*SDL MAME only*)
**Left Alt+Left Ctrl+F5**
    Toggle HLSL Post-Processing.
    (*Windows non-SDL MAME only*)
**F6**
    Toggle cheat mode. (if started with “-cheat”)
**Left Ctrl+F6**
    Decrease Prescaling.
**Left Ctrl+F7**
    Increase Prescaling.
**F7**
    Load a save state. You will be prompted to press a key or select from the
    menu to determine which save state you wish to load.

    *Note that the save state feature is not supported for a large number of
    drivers. If a given driver is not known to work perfectly, you will
    receive a warning that the save state may not be valid when attempting to
    save or load.*
**Left Shift+F7**
    Create a save state. Requires an additional keypress to identify the state,
    similar to the load option above. If an existing save state is present, it
    will also appear in the selection menu to allow overwriting of that save
    state.
**F8**
    Decrease frame skipping on the fly.
**F9**
    Increase frame skipping on the fly.
**F10**
    Toggle speed throttling.
**F11**
    Toggles speed display.
**Left Shift+F11**
    Toggles internal profiler display (if compiled in).
**Left Alt+F11**
    Record HLSL Rendered Video.
**F12**
    Saves a screen snapshot.
**Left Shift+F12**
    Begin recording MNG video.
**Left Control+Left Shift+F12**
    Begin recording AVI video.
**Left Alt+F12**
    Take HLSL Rendered Snapshot.
**Insert**
    Fast forward. While held, runs game with throttling disabled and with the
    maximum frameskip.
    (*Windows non-SDL MAME only*)
**Page Down**
    Fast forward. While held, runs game with throttling disabled and with the
    maximum frameskip.
    (*SDL MAME only*)
**Left Alt+Enter**
    Toggles between full-screen and windowed mode.
**Scroll Lock**/**Forward Delete** (Mac Desktop)/**fn-Delete** (Mac Laptop)
    Default mapping for the **uimodekey**.

    This key toggles MAME’s response to user interface keys such as the
    (by default) **Tab** key being used for menus. All emulated machines
    which require emulated keyboards will start with UI controls disabled by
    default and you can only access the internal UI by first hitting this
    **uimodekey** key. You can change the initial status of the emulated
    keyboard as presented upon start by using
    :ref:`-uimodekey<mame-commandline-uimodekey>`
**Escape**
    Exits emulator.
    Cancel current UI option.


.. _default-arcade-keys:

Default Arcade Machine Controls
-------------------------------

This section covers controls that are applicable to most kinds of arcade
machines.  Note that not all machines will have all of these controls.  All the
controls below are fully configurable in the user interface.  This list shows
the standard keyboard configuration.

**5** *(not numeric keypad)*
    Coin slot 1
**6** *(not numeric keypad)*
    Coin slot 2
**7** *(not numeric keypad)*
    Coin slot 3
**8** *(not numeric keypad)*
    Coin slot 4
**Backspace**
    Bill 1 (For machines that have a bill receptor/note reader)
**T**
    Tilt

    Usually a tilt switch or shock sensor that will end the current game, reset
    credits and/or reset the machine if the machine is knocked excessively hard
    or moved.  Most commonly found on pinball machines.
**-** *(not numeric keypad)*
    Volume Down

    For machines that have an electronic volume control.
**=** *(not numeric keypad)*
    Volume Up

    For machines that have an electronic volume control.
**F1**
    Memory Reset

    This resets high scores, credits/winnings, statistics, and/or operator
    settings on machines that support it.
**F2**
    Service Mode

    This is a momentary push-button on some machines, while it is a toggle
    switch or DIP switch on others.
**9** *(not numeric keypad)*
    Service 1

    Service buttons are typically used to give free credits or to navigate the
    operator service menus.
**0** *(not numeric keypad)*
    Service 2
**-** *(not numeric keypad)*
    Service 3
**=** *(not numeric keypad)*
    Service 4


.. _default-game-keys:

Default Arcade Game Controls
----------------------------

This section covers controls for arcade games using common joystick/button
control schemes.  All the controls below are fully configurable in the user
interface.  This list shows the standard keyboard configuration.

**5** *(not numeric keypad)*
    Coin slot 1
**6** *(not numeric keypad)*
    Coin slot 2
**7** *(not numeric keypad)*
    Coin slot 3
**8** *(not numeric keypad)*
    Coin slot 4
**1** *(not numeric keypad)*
    Player 1 start or 1 player mode
**2** *(not numeric keypad)*
    Player 2 start or 2 players mode
**3** *(not numeric keypad)*
    Player 3 start or 3 players mode
**4** *(not numeric keypad)*
    Player 4 start or 4 players mode


.. _default-player1-keys:

Player 1 Controls
~~~~~~~~~~~~~~~~~

**Up Arrow**
    Player 1 Up
**Down Arrow**
    Player 1 Down
**Left Arrow**
    Player 1 Left
**Right Arrow**
    Player 1 Right
**E**
    Player 1 Up on Left Stick for dual-stick machines (e.g. Robotron)
**D**
    Player 1 Down on Left Stick for dual-stick machines (e.g. Robotron)
**S**
    Player 1 Left on Left Stick for dual-stick machines (e.g. Robotron)
**F**
    Player 1 Right on Left Stick for dual-stick machines (e.g. Robotron)
**I**
    Player 1 Up on Right Stick for dual-stick machines (e.g. Robotron)
**K**
    Player 1 Down on Right Stick for dual-stick machines (e.g. Robotron)
**J**
    Player 1 Left on Right Stick for dual-stick machines (e.g. Robotron)
**L**
    Player 1 Right on Right Stick for dual-stick machines (e.g. Robotron)
**Left Ctrl**/**Mouse B0**/**Gun 1 Button 0**
    Player 1 Button 1
**Left Alt**/**Mouse B2**/**Gun 1 Button 1**
    Player 1 Button 2
**Spacebar**/**Mouse B1**/**Joystick 1 Button 1 or B**
    Player 1 Button 3
**Left Shift**
    Player 1 Button 4
**Z**
    Player 1 Button 5
**X**
    Player 1 Button 6
**C**
    Player 1 Button 7
**V**
    Player 1 Button 8
**B**
    Player 1 Button 9
**N**
    Player 1 Button 10
**M**
    Player 1 Button 11
**,**
    Player 1 Button 12
**.**
    Player 1 Button 13
**/**
    Player 1 Button 14
**Right Shift**
    Player 1 Button 15


.. _default-player2-keys:

Player 2 Controls
~~~~~~~~~~~~~~~~~

**R**
    Player 2 Up
**F**
    Player 2 Down
**D**
    Player 2 Left
**G**
    Player 2 Right
**A**
    Player 2 Button 1
**S**
    Player 2 Button 2
**Q**
    Player 2 Button 3
**W**
    Player 2 Button 4
**E**
    Player 2 Button 5


.. _default-player3-keys:

Player 3 Controls
~~~~~~~~~~~~~~~~~

**I**
    Player 3 Up
**K**
    Player 3 Down
**J**
    Player 3 Left
**L**
    Player 3 Right
**Right Control**
    Player 3 Button 1
**Right Shift**
    Player 3 Button 2
**Enter** *(not numeric keypad)*
    Player 3 Button 3


.. _default-player4-keys:

Player 4 Controls
~~~~~~~~~~~~~~~~~

**8** *(on numeric keypad)*
    Player 4 Up
**2** *(on numeric keypad)*
    Player 4 Down
**4** *(on numeric keypad)*
    Player 4 Left
**6** *(on numeric keypad)*
    Player 4 Right
**0** *(on numeric keypad)*
    Player 4 Button 1
**.** *(on numeric keypad)*
    Player 4 Button 2
**Enter** *(on numeric keypad)*
    Player 4 Button 3


.. _default-mahjong-hanafuda-keys:

Default Mahjong and Hanafuda Keys
---------------------------------

Most mahjong and hanafuda games use a standard control panel layout.  Some keys
may not be present, depending on the kind of game.  For example games without a
bonus game feature may lack the Take Score, Double Up, Big and Small keys, and
games without gambling features may also lack the Bet key.  Some games may not
use all keys that are present. For example many games do not use the Flip Flop
and Last Chance keys.

.. image:: images/mahjongpanel.svg
    :width: 100%
    :align: center
    :alt: Standard mahjong control panel layout

Due to the large number of keys, MAME only provides default input configuration
for a single set of player controls.  For multi-player mahjong/hanafuda games,
or mahjong/hanafuda games with multiple player positions, manual configuration
is required. All the keys below are fully configurable in the user interface.
This list shows the standard keyboard configuration.


**5** *(not numeric keypad)*
    Coin slot 1
**6** *(not numeric keypad)*
    Coin slot 2
**7** *(not numeric keypad)*
    Coin slot 3
**8** *(not numeric keypad)*
    Coin slot 4
**Y**
    Player 1 Mahjong/Hanafuda Flip Flop
**1** *(not numeric keypad)*
    Player 1 start or 1 player mode
**2** *(not numeric keypad)*
    Player 2 start or 2 players mode
**3** *(not numeric keypad)*
    Player 3 start or 3 players mode

    Mahjong Bet
**4** *(not numeric keypad)*
    Player 4 start or 4 players mode
**Right Ctrl**
    Player 1 Mahjong/Hanafuda Take Score
**Right Shift**
    Player 1 Mahjong/Hanafuda Double Up
**Enter**
    Player 1 Mahjong/Hanafuda Big
**Backspace**
    Player 1 Mahjong/Hanafuda Small
**Right Alt**
    Player 1 Mahjong/Hanafuda Last Chance
**Ctrl**
    Mahjong Kan
**Alt**
    Mahjong Pon
**Spacebar**
    Mahjong Chi
**Shift**
    Mahjong Reach
**Z**
    Mahjong Ron
**A**
    Player 1 Mahjong/Hanafuda A
**B**
    Player 1 Mahjong/Hanafuda B
**C**
    Player 1 Mahjong/Hanafuda C
**D**
    Player 1 Mahjong/Hanafuda D
**E**
    Player 1 Mahjong/Hanafuda E
**F**
    Player 1 Mahjong/Hanafuda F
**G**
    Player 1 Mahjong/Hanafuda G
**H**
    Player 1 Mahjong/Hanafuda H
**I**
    Player 1 Mahjong I
**J**
    Player 1 Mahjong J
**K**
    Player 1 Mahjong K
**L**
    Player 1 Mahjong L
**M**
    Player 1 Mahjong M

    Player 1 Hanafuda Yes
**N**
    Player 1 Mahjong N

    Player 1 Hanafuda No
**O**
    Player 1 Taiwanese Mahjong O
**Semicolon**
    Player 1 Taiwanese Mahjong P
**Q**
    Player 1 Taiwanese Mahjong Q


.. _default-gambling-keys:

Default Gambling Keys
---------------------

All the keys below are fully configurable in the user interface. This list shows
the standard keyboard configuration.

Note that many gambling games use buttons for multiple functions.  For example a
slots game may use the Start button to stop all reels, lacking a dedicated Stop
All Reels button, or a poker game may use the hold buttons to control the
double-up bonus game, lacking dedicated Take Score, Double Up, High and Low
buttons.


**5**
    Coin slot 1
**6**
    Coin slot 2
**7**
    Coin slot 3
**8**
    Coin slot 4
**Backspace**
    Bill 1 (For machines that have a bill receptor/note reader)
**I**
    Payout
**Q**
    Key In
**W**
    Key Out
**F1**
    Memory Reset
**9** *(not numeric keypad)*
    Service 1 (Service buttons are typically used to give free credits or to
    navigate the internal operator service menus)
**0** *(not numeric keypad)*
    Service 2
    Book-Keeping (for machines that have this functionality)
**-** *(not numeric keypad)*
    Service 3
**=** *(not numeric keypad)*
    Service 4
**M**
    Bet
**1** *(not numeric keypad)*
    Player 1 start or 1 player mode
**2** *(not numeric keypad)*
    Deal
**L**
    Stand
**4** *(not numeric keypad)*
    Take Score

    For games that allow gambling winnings in a double-or-nothing bonus game,
    this takes the winnings from the main game.
**3** *(not numeric keypad)*
    Double Up

    For games that allow gambling winnings in a double-or-nothing bonus game,
    this gambles the winnings from the main game in the bonus game.
**D**
    Half Gamble

    Used by games that allow gambling half or all of the winnings from the main
    game in the bonus game.
**A**
    High
**S**
    Low
**O**
    Door


.. _default-blackjack-keys:

Default Blackjack Keys
~~~~~~~~~~~~~~~~~~~~~~

All the keys below are fully configurable in the user interface. This list shows
the standard keyboard configuration.


**1**
    Player 1 start or 1 player mode

    Used to deal a new hand for games that have separate buttons to deal a new
    hand and draw an additional card.
**2**
    Deal (hit)

    Used to draw an additional card, and to deal a new hand in games that don’t
    use separate buttons to deal a new hand and draw an additional card.
**L**
    Stand


.. _default-poker-keys:

Default Poker Keys
~~~~~~~~~~~~~~~~~~

All the keys below are fully configurable in the user interface. This list shows
the standard keyboard configuration.


**1**
    Player 1 start or 1 player mode

    Used to deal a new hand for games that have separate buttons to deal a new
    hand and draw replacement cards.
**2**
    Deal

    Used to draw replacement cards, and to deal a new hand in games that don’t
    use separate buttons to deal a new hand and draw replacement cards.
**Z**
    Hold 1/discard 1
**X**
    Hold 2/discard 2
**C**
    Hold 3/discard 3
**V**
    Hold 4/discard 4
**B**
    Hold 5/discard 5
**N**
    Cancel

    Used by some games to cancel current selection for cards to hold/discard.


.. _default-slots-keys:

Default Slots Keys
~~~~~~~~~~~~~~~~~~

All the keys below are fully configurable in the user interface. This list shows
the standard keyboard configuration.


**1**
    Player 1 start or 1 player mode
**X**
    Stop Reel 1
**C**
    Stop Reel 2
**V**
    Stop Reel 3
**B**
    Stop Reel 4
**Z**
    Stop All Reels


.. _default-computer-keys:

Default Computer Keys
---------------------

All the keys below are fully configurable in the user interface. This list shows
the standard keyboard configuration.

Note that controls can vary widely by computer type, so not all keys are shown
here. See the “Input (this Machine)” section of MAME’s configuration menu for
details for the machine you are currently using.


**Tab**
    Toggles the configuration menu.
**Scroll Lock**/**Forward Delete** (Mac Desktop)/**fn-Delete** (Mac Laptop)
    Default mapping for the **uimodekey**.

    This key toggles MAME’s response to user interface keys such as the
    (by default) **Tab** key being used for menus. All emulated machines
    which require emulated keyboards will start with UI controls disabled by
    default and you can only access the internal UI by first hitting this
    **uimodekey** key. You can change the initial status of the emulated
    keyboard as presented upon start by using
    :ref:`-uimodekey<mame-commandline-uimodekey>`
**F2**
    Start tape for machines that have cassette tape drives.
**Shift+F2**
    Stop tape for machines that have cassette tape drives.
**Left Shift+Scroll Lock**
    Pastes from system clipboard into the emulated machine.
**Alphanumeric Keys**
    These keys are mapped to their equivalents in the emulated machine by
    default.


.. _default-othermachine-keys:

Other Machines
--------------

All the keys are fully configurable in the user interface.

Note that controls can vary widely by machine type, so default keys are not
shown here and defaults will vary considerably based on the manufacturer and
style. See the “Input (this Machine)” section of MAME’s configuration menu for
details for the machine you are currently using.