Mamewah Controls
This section describes in detail how to modify your controller settings to work correctly in Mamewah. Many users of Mamewah needs to modify these controls to work properly with their arcade controls or custom setups.
If you are just looking for the default controls for navigating the Mamewah frontend, they are located here.
Contents
Ctrlr Files
Mamewah uses a controller (ctrlr) system as follows:
MAMEWAH will check for the following .ini files in the order below. If a given file does not exist, then MAMEWAH will move onto the next file in the hierarchy.
All files are searched for within '\mamewah\ctrlr\Ctrlr Name\' unless otherwise specified, where 'Ctrlr Name' refers to the name specified in MAMEWAH. Note that 'emuname' should be replaced with the emulator name, as used by MAMEWAH's ini config system. The '?' refers to the game list number, again, as used the \ini config system.
Ctrlr Files:
emuname-?.ini emulator & game list specific ctrlr file emuname.ini emulator specific ctrlr file ctrlr.ini general ctrlr file \mamewah\ctrlr\default.ini MAMEWAH's default ctrlr file
(if none of the above exist, MAMEWAH will exit)
Input Mappings
The following actions can be "mapped" to one or more keys:
# main form UP_1_GAME "DIK_UP ¦ JOY1_UP ¦ MOUSE_UP" DOWN_1_GAME "DIK_DOWN ¦ JOY1_DOWN ¦ MOUSE_DOWN" UP_1_PAGE "DIK_R" DOWN_1_PAGE "DIK_F" UP_1_LETTER "DIK_LEFT ¦ JOY1_LEFT" DOWN_1_LETTER "DIK_RIGHT ¦ JOY1_RIGHT" FIND_GAME "DIK_TAB" RANDOM_GAME "DIK_LSHIFT" SELECT_EMULATOR "DIK_Z" NEXT_EMULATOR "DIK_4" PREVIOUS_EMULATOR "DIK_6" SELECT_GAMELIST "DIK_X" NEXT_GAMELIST "DIK_3" PREVIOUS_GAMELIST "DIK_5" ADD_GAME_TO_LIST "DIK_A" REMOVE_GAME_FROM_LIST "DIK_S" MENU_SHOW "DIK_2" MENU_LOCK "DIK_LALT & DIK_2" LAUNCH_GAME "DIK_1" LAUNCH_GAME_WITH_OPTIONS1 "DIK_LCONTROL & DIK_1" LAUNCH_GAME_WITH_OPTIONS2 "DIK_LALT & DIK_1" LAUNCH_APP_1 "DIK_C" LAUNCH_APP_2 LAUNCH_APP_3 EXIT_WITH_CHOICE EXIT_TO_WINDOWS "DIK_ESCAPE" EXIT_AND_RUN_APP EXIT_AND_REBOOT EXIT_AND_SHUTDOWN # options form OP_UP_1_OPTION "DIK_UP ¦ JOY1_UP ¦ MOUSE_UP" OP_DOWN_1_OPTION "DIK_DOWN ¦ JOY1_DOWN ¦ MOUSE_DOWN" OP_UP_1_OPTION_PAGE "DIK_LEFT ¦ JOY1_LEFT" OP_DOWN_1_OPTION_PAGE "DIK_RIGHT ¦ JOY1_RIGHT" OP_MENU_SELECT "DIK_1" OP_MENU_BACK "DIK_2" OP_MENU_HIDE # screensaver form SS_SHOW_TRACK_NAME "DIK_2" SS_FIND_N_SELECT_GAME "DIK_1" # any form PREVIOUS_TRACK "DIK_LALT" NEXT_TRACK "DIK_SPACE" REWIND_TRACK "DIK_Q" FF_TRACK "DIK_W"
Other Settings
Various other settings are available for use using the ctrlr ini files (see the bottom of default.ini). Here is a brief explanation:
keyboard - enable / disable keyboard mouse - enable / disable mouse joystick - enable / disable joysticks digital_scroll_rate - scroll rate for games / options lists (also minimum scroll rate for similated analog, see below) simulated_analog_max_rate - maximum scroll rate for 'simulated analog' (accelerated) scrolling (games list only) mouse_x_sensitivity - mouse x-axis sensitivity mouse_y_sensitivity - mouse y-axis sensitivity (The below are joystick device no. [?] and [axis] specific) joy?_axis_deadzone - % of travel before joystick is engaged joy?_axis_saturation - % of travel before maximum joystick value is reached joy?_axis_sensitivity - joystick sensitivity joy?_axis_analog - specifies whether joystick is analog or digital (analog devices can be treated as digital)
Available Keys
This is a list of key, mouse and joystick input codes which can be used in MAMEWAH's ctrlr ini config system. Note that keycodes are DirectInput standard codes, please consult the MSDN DirectX Key Constants list for a more thorough explanation (some keycodes are not obvious which keys they are for!). SEE BELOW these codes for further settings...
Keyboard Keys
DIK_0-DIK_9 DIK_A-DIK_Z DIK_UP or DIK_UPARROW DIK_DOWN or DIK_DOWNARROW DIK_LEFT or DIK_LEFTARROW" DIK_RIGHT or DIK_RIGHTARROW DIK_NUMPAD0-DIK_NUMPAD9 DIK_NUMLOCK DIK_NUMPADSLASH or DIK_DIVIDE DIK_NUMPADSTAR or DIK_MULTIPLY DIK_NUMPADMINUS or DIK_SUBTRACT DIK_NUMPADPLUS or DIK_ADD DIK_NUMPADENTER DIK_NUMPADPERIOD or DIK_DECIMAL DIK_NUMPADCOMMA DIK_NUMPADEQUALS DIK_ESCAPE DIK_F1-DIK_F15 DIK_GRAVE DIK_TAB DIK_CAPSLOCK or DIK_CAPITOL DIK_LSHIFT DIK_BACKSLASH DIK_MINUS DIK_EQUALS DIK_BACKSPACE or DIK_BACK DIK_LBRACKET DIK_RBRACKET DIK_RETURN DIK_SEMICOLON DIK_APOSTROPHE DIK_COMMA DIK_PERIOD DIK_SLASH DIK_RSHIFT DIK_LCONTROL DIK_LWIN DIK_LALT or DIK_LMENU DIK_SPACE DIK_RALT or DIK_RMENU DIK_RWIN DIK_APPS DIK_RCONTROL DIK_SYSRQ DIK_SCROLL DIK_PAUSE DIK_INSERT DIK_HOME DIK_PGUP or DIK_PRIOR DIK_DELETE DIK_END DIK_PGDN or DIK_NEXT 'Brazilian Keyboards: DIK_ABNT_C1 DIK_ABNT_C2 'British/German Keyboards: DIK_OEM_102 'Japanese Keyboards: DIK_AT DIK_AX DIK_CIRCUMFLEX DIK_COLON DIK_CONVERT DIK_KANA DIK_KANJI DIK_NOCONVERT DIK_STOP DIK_UNDERLINE DIK_UNLABELED DIK_YEN 'Multimedia/Web Keyboards: DIK_CALCULATOR DIK_MAIL DIK_MEDIASELECT DIK_MEDIASTOP DIK_MUTE DIK_MYCOMPUTER DIK_NEXTTRACK DIK_PLAYPAUSE DIK_POWER DIK_PREVTRACK DIK_VOLUMEDOWN DIK_VOLUMEUP DIK_WAKE DIK_WEBBACK DIK_WEBFAVORITES DIK_WEBFORWARD DIK_WEBHOME DIK_WEBREFRESH DIK_WEBSEARCH DIK_WEBSTOP
Mouse Input Keys
MOUSE_LEFT MOUSE_RIGHT MOUSE_UP MOUSE_DOWN MOUSE_SCROLLUP MOUSE_SCROLLDOWN MOUSE_BUTTON0-MOUSE_BUTTON3
Joystick Input Keys
You can use multiple joysticks connected at one time. When configuring these keys, replace (?) with the joystick number that is connected to the system.
JOY?_LEFT JOY?_RIGHT JOY?_UP JOY?_DOWN JOY?_IN JOY?_OUT JOY?_ROTATELEFT JOY?_ROTATERIGHT JOY?_ROTATEUP JOY?_ROTATEDOWN JOY?_ROTATEIN JOY?_ROTATEOUT JOY?_SLIDER0INC JOY?_SLIDER0DEC JOY?_SLIDER1INC JOY?_SLIDER1DEC JOY?_POV0-3_LEFT JOY?_POV0-3_RIGHT JOY?_POV0-3_UP JOY?_POV0-3_DOWN JOY?_BUTTON0-31