# Controls

This section gives you the basic keys used in MESS. You will find a keymap for MESS and more importantly how to find and change the keys used for different systems. Finally you'll see how to configure your system to use a joystick and running systems using a joystick or mouse.

## Default Keymap (old UI)

Main Keys
Scroll Lock | On the new UI it will hide the menubar. On the old UI it will switch MESS to partial keyboard emulation which lets you use keys like TAB, Alt and Ctrl.
F2 | Test/Service Switch
F3 | System Reset
F4 | Show the system graphics. Use cursor keys to change the set or colour.
F7 | Load a saved system state from a slot number.
Shift+F7 | Save system state to 1 of 10 slots.
F8 | Decrease frame skip during a system.
F9 | Increase frame skip during a system.
F10 | Speed Throttle (Makes system overspeed)
F11 | Frames Per Second and Frameskip information
Left Shift + F11 | Enables the profiler
F12 | Saves image of system screen to snaps directory.
P | Pause the system
Shift + P | Skip one frame forward if paused.
Esc | Exit from system
"~" or "¬" (Above Tab) | Volume Control
Tab | Access MESS's in-system menu

These are the default keys found in MESS. You can however customize them by pressing the "Tab" key during the emulation and selecting "Input (general)".

## Changing The Default Keys

To change the system control keys simply run the system you want to play. Once the system has loaded press the "Tab" key to open the in-system menu and highlight "Input (this System)". Press enter and you will see this screen:

All you need to do now is to select the function you want to change, press enter and then press the key you want to use. It is possible to assign more than one key to a function by pressing enter again and pressing a different key.

More fancy key combinations can be made as well:

- To map 'key1' OR 'key2' (i.e. more than one key will produce the same effect), set one of the keys as before, wait until MESS accepts it, then repeat for second key.
- To map 'key1' AND 'key2' (i.e. you need to press to keys at the same time to obtain an effect) press both (or more than two) keys after pressing enter.
- To map 'key1' NOT 'key2' (i.e. 'key1' has an effect only if 'key2' is not also pressed), select the function you want to change, press enter, press the first key and then quickly press the second key(s) twice.

The correspondent combination will appear on screen and you can check if the result is the one you wanted to obtain.

Notice that you must be careful when selecting the keys you want to use: they may be already in use for other functions.

If you want to assign joystick movements to a function then once you have selected the function you want to change move the joystick/pad or press the fire button you want to use. (N.B. You must have the -joystick option used for the command line versions of MESS or Use Joystick selected in the MESS32 configuration)

## Something Has Gone Wrong!

If you muck up your system keys and want to reset them to default then open the C:\MESS\cfg folder and delete the relevant .cfg file for the system. If for some insane reason you change the default MESS keys and can't get back into the in-system menu then you will need to delete the default.cfg file from the same folder as before.

## Configuring Keyboards

Dealing with the emulation of a wide range of systems, from console and handhelds devices, to home computer, calculators and chess computers, MESS has to emulate very different kinds of controllers. In particular, it has to emulate the original keyboard of a system through the keyboard of your computer.

However, due to differences in the keyboard layouts (e.g. QWERTY vs. QWERTZ vs. AZERTY vs. Russian and Bulgarian keyboards) and the possible presence of custom keys in the emulated system (e.g. the 'Apple' command key in Macintosh, the 'CBM' key in Commodore computers etc.), it is tough to cover all the possibilities and to offer at the same time a nice interface for configurations.

MESS solution to this problem is two offer two different emulation modes for the keyboard of each system, Full and Partial, whenever you start the emulation of computer system (this does not apply to console). As said above, you can switch between the two using 'Scroll Lock'.

Below, is a short description of the differences between the two

### Partial Emulation Mode

In this emulation mode, you can access the UI keys described above (Tab, Esc, F4, F12 etc.). Therefore, this suits your needs whenever you want to configure Inputs and Dip Switches, to take Screenshots, Movies or Savestates, or simply to quit.

Notice that anyway inputs are registered also by the emulated system, so if you e.g. pause the emulation with 'P' in Partial Emulation, a P will appear on the emulated screen as well.

### Full Emulation Mode

In this emulation mode, the UI vanishes and each key on your keyboard corresponds to a key on the keyboard of the emulated computer.

Actually, MESS offers two different flavours of Full Emulation: default and natural.

Full Emulation Mode (default behaviour): by default MESS in Full Emulation mode tries to change your keyboard into the original keyboard. This way, if you were used to type without even looking at your keyboard on the real thing, you can do the same in MESS! This can produce a few strange situations, e.g. in aquarius emulation 'Return' is mapped to the '/ ?' key of your keyboard because that was the position on the real keyboard. However, a few exceptions are in order:

- 'Spacebar', 'Backspace' and the arrow keys (when they have separate keys) are ususally mapped to the correspondent keys of your keyboard;
- when an emulated keyboard presents keys that are not on a modern pc keyboards, then MESS tries to map them to a closer key
  - character keys at left of '1' or between 'Shift' and 'Z' are often mapped to '~',
  - a third character key after '0' and 'P' or a fourth one after 'L' and 'M' is often mapped to 'Backlash2' or to'Page Up' and 'Page Down' etc.

Recall that you can always reconfigure all these inputs in the 'Input (this System)' menu.

Full Emulation Mode with Natural Keyboard: this mode can be activated launching MESS with the -natural option and set up the emulator to translate the key you press in the key of the original keyboard, so that when you press e.g. '+' you will see on screen a plus sign, no matter where that key was located on the original system. This makes typing much easier but it presents a couple of limitations:

- many custom key have no equivalent on modern pc keyboards: in this case, usually MESS maps them to function keys ('F1', 'F2' etc.) if they are unused, or to other keys not already mapped (e.g. keypad numbers, 'Home', 'End' etc.); you can find out where the keys are mapped looking at the source or in sysinfo.dat.
- some UTF-8 characters are not present on every keyboard (e.g. £, ¥, §, π etc.): in this case, usually MESS maps them to the corresponding keys and if you don't have them on your keyboard, you shall use the default 'Full Emulation' mode above.

Notice that the Natural Keyboard cannot be remapped.

Summing up,

- if you lauch MESS without -natural, you can switch between the 'Partial Emulation' and the 'Full Emulation' with a layout which closely reproduce the original one;
- if you lauch MESS with -natural, you can switch between the 'Partial Emulation' and the 'Full Emulation' with a layout which matches the one of your keyboard.

A few experiments combining the three modes, and a bit of time spent configuring the keys you use most, shall allow you to recreate a perfect experience of the emulated system.

However, if you experience any problem, or if you think an important key is still unmapped, please file a bug report in Bugzilla.

## Configuring Joysticks

The simple fact is, if Windows supports your joystick or gamepad and it has been set up properly in the windows control panel, there shouldn't be an issue with MESS supporting it.

If you haven't configured your controller then open the Start→Settings→Control Panel window. You'll see one of two things in Windows 95 there'll be a joystick icon, 98/2000 and XP will have a system Controllers icon. You'll have to refer to the Windows help file to configure your controller (as I can't remember how to do it on 9x) but make sure that the main controller is Joystick 1.

Once your controller is properly set up, its inputs will be recognized in both "Input (general)" and "Input (this System)" menu described above, and you will be able to remap emulated directions and keys to your controller.

## Using Joysticks & Mice

MESS W32 needs the -joystick option in its command line and MESS GUI will need the "Use Joystick" option selected in its configuration window.

MESS also supports the mouse. As usual the command line versions of MESS will need the -mouse option and MESS GUI will need the "Use Mouse" option selected in it's config window.