DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
VGSources
arcade emulation

How to Use a USB Controller with Standalone MAME

A practical standalone MAME guide covering USB controller detection, joystick enablement, button mapping, saved configurations, player numbering, analog controls, and troubleshooting.

By VGSources Team 8 min read
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To use a USB controller with standalone MAME, connect it before launching MAME, verify that your operating system detects it, enable joystick input, confirm the device in Input Settings → Input Devices, then assign controls under Input Assignments (this system) or Input Assignments (general). Exit normally so MAME can save the configuration.

This guide covers standalone MAME, not RetroArch’s MAME cores. Menu labels and available joystick providers can vary by MAME version and build; the current documentation is labeled MAME 0.289 at docs.mamedev.org.

What you need

  • A working standalone MAME installation and a legally obtained ROM set that matches it.
  • A USB gamepad, arcade stick, encoder, or other supported input device.
  • A keyboard for initial setup. MAME notes that a keyboard may be needed before controller UI assignments are configured; see MAME’s user-interface guide.
  • The controller connected before MAME starts.
  • An operating system that recognizes the device in its game-controller settings.

Choose the right kind of controller

A USB controller might be an Xbox-compatible XInput pad, DirectInput pad, arcade stick, six-button fight pad, USB arcade encoder, wheel, spinner, trackball, flight stick, or light gun. A normal gamepad is versatile, but it is not an equivalent replacement for hardware designed for a spinner, trackball, steering wheel, light gun, or dual-joystick game. Four-way maze games and six-button fighters also benefit from purpose-appropriate controls.

MAME’s input system supports keyboards, mice, game controllers, analog controls, and other devices; the controls available for assignment depend on the emulated machine. See the MAME input-system documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Logitech G F310 Wired Gamepad Controller Console - Blue/Black
  • With broad game support, the Logitech Gamepad F310 works with old standbys to today's biggest titles, so it's easy to set up and use with your favorite games.
  • Profiler software allows the gamepad to be programmed to perform keyboard and mouse commands for games without gamepad support.* * Requires software installation.
  • A familiar control layout that doesn't require a learning curve to be able to use, with all the same buttons as on an Xbox 360.
  • The unique floating D-pad rests on four switches-instead of a single pivot point-making it responsive to quick changes in direction.
  • The six-foot cord lets you lean back and play a comfortable distance from your PC monitor.

Enable joystick input

Current MAME documentation lists joystick input as disabled by default (-nojoystick). Enable it either when launching a game or in your configuration file.

Use the command line

mame -joystick pacman

Replace pacman with the game’s short name. The abbreviated form also works:

mame -joy pacman

The exact options supported by your build are listed by mame -help. The command-line reference is at docs.mamedev.org/commandline/commandline-all.html.

Enable it in mame.ini

Add this line to the mame.ini generated or used by your installation:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
joystick 1

Do not assume one universal file location. MAME’s installation method and platform determine where its configuration directory is. If a front end launches MAME, test the standalone executable first: the front end may add -nojoystick, select another configuration directory, or override options.

Check whether MAME sees the controller

  1. Start a game with joystick support enabled.
  2. Open MAME’s menu (the normal default is Tab, but verify your release in Default Keyboard Controls).
  3. Choose Input Settings → Input Devices.
  4. Select the joystick or game-controller category and move each stick or press buttons.

The device should appear and its button and axis states should change. MAME’s menu documentation also describes copying a device ID.

  • No device listed: remapping cannot fix this; investigate the cable, operating-system detection, mode switch, provider, or build.
  • Device listed but no state changes: check the controller’s XInput/DirectInput or PC/console switch, cable, driver, and selected provider.
  • State changes here but not in the game: assign the game’s controls under the correct player and input category.

Assign controls for one game

For a specific title, use Input Settings → Input Assignments (this system). This avoids changing unrelated games.

Rank #2
Sale
VOYEE PC Controller, Wired Compatible with Xbox 360 & Slim/Windows 10/8/7
  • Wide Compatibility: VOYEE wired 360 controller compatible with Microsoft Xbox 360 & Slim/ PC (Windows 11/10/8.1/8/7). Just plug and play, not for FPS games
  • Enhanced Game Controller: Upgraded PC 360 controller with new left and right trigger buttons and more sensitive joysticks and buttons - Respond quickly to player commands without delay
  • Astonishing Gaming Experience: VOYEE wired pc controller provides rumble control and according to the game automatic vibration feedback to enhanced game experience and match your personal preference
  • Ergonomic Design: Grips's contours have been designed to fit your hands more comfortably to hold for a long time and 7.2ft cord allows greater
  • What You Get: VOYEE wired 360/PC Controller, 45 Days Money Back, 365 Days Guarantee Against quality defect and 24 Hours Friendly Customer Support
  1. Highlight a control such as P1 Joystick Up and press Enter.
  2. Move the desired stick direction or press the desired physical button.
  3. Press Enter again, or follow the on-screen completion prompt.
  4. Repeat for left, right, down, action buttons, Coin 1, and Start 1. Add P2 controls when required.
  5. If MAME records an unintended extra input, edit that entry and remove the unwanted assignment.

Common controls include P1 Joystick Up/Down/Left/Right, P1 Button 1 through Button 6, Coin, Start, Service, Test, and game-specific analog inputs. Assign by pressing the physical control rather than guessing from generic button numbers, since DirectInput and XInput can expose different orders.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create defaults for multiple games

Input Settings → Input Assignments (general) establishes defaults across systems. It is useful for a standard Player 1 layout, coin and start buttons, Player 2, six-button fighters, and common UI controls. A general layout is not automatically ideal everywhere: Pac-Man-style four-way games, Street Fighter-style six-button games, and driving games use different control schemes. Keep game-specific exceptions in Input Assignments (this system).

A practical two-player starting layout

Controller control Suggested assignment
D-pad or left stick P1 movement
Face buttons 1–4 P1 Button 1–4
Shoulder buttons P1 Button 5–6
Select/View Coin
Start/Menu Start

For fighting games, six reachable buttons are more useful than a four-button arrangement. For simple one-button games, an arcade stick or compact layout may be preferable.

Navigate MAME without a keyboard

A controller can work in a game while remaining unable to operate MAME’s menus. MAME’s default first-joystick navigation generally uses vertical movement to move through menu items, horizontal movement to change a setting, the first joystick button to select, and the second joystick button to go back where supported.

For reliable keyboard-free operation, assign controller buttons to Show/Hide Menu, UI Back, and UI Cancel in the user-interface assignments. The exact labels and defaults can vary by release; consult the UI guide and default controls.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Save and back up your configuration

Exit MAME normally after mapping controls. Current-system assignments are saved for that game/system, while general assignments provide defaults. MAME stores controller settings in XML .cfg files. Controller profiles can be selected with the ctrlr option and searched through paths set by ctrlrpath; see controller configuration.

Back up working configuration files. If one game becomes unusable, close MAME and rename or delete that game’s configuration file, then launch it again to restore defaults. The exact directory is controlled by MAME’s cfg_directory setting, so inspect your own configuration rather than relying on a platform-wide path.

Rank #3
Rii Classic Retro USB Wired Game Controller for PC Gaming, Grey, 2 Pack
  • 【Supported Operating System】The Game Controller is specifically designed for playing classic old school retro snes games on computer or laptop. Compatible with Windows 98 / ME / Vista / 2000/2003 / XP / 7 / 8 / 8.1 / 10/11, Mac OS X/ OS X 10.0 and beyond, Raspberry Pi, Raspberry PI 2 model B,Model A, Raspberry Pi 1 Model B+, Raspberry Pi 2,Raspberry Pi OS, Raspberry Pi 3 Model B+, Raspberry Pi 3, Raspberry Pi Zero.
  • 【Simple USB Plug and Play】If your program or application accepts USB controller input, this classic game controller do not need install drivers or patches. 1.5 meter external cable(approx. 5 ft. Long). Notice: Please download the game emulator first before start the games, and then you must manually set the buttons and directionals within the emulator you're using, and the controller not automatically assigns buttons/directional axes. If on the Steam platform, you need to first enable Steam's "Universal Controller Configuration Support" and then restart Steam. After entering the game, you also need to manually bind key positions in the game
  • 【High Sensitivity without Delay】Super sensitive buttons for precision control: 6 fire buttons, a 'Start' button and a 'Select' button, motion control cross. Play your favorite old school games with classic retro feel. Fits perfectly in the hand and also perfect for two player action.Note: Not applicable to Switch/PS games. Not Compatible with TV/ TV Box, third Mini Games Box and Tesla Model 3
  • 【Supported Game Emulators】The game controller works with most emulators. Download any emulator you wish to download and use from Google and do the same with ROMS. Notice:Third party controller, not original controller. But it works phenomenal with the Raspberry Pi game emulation and so on
  • 【Product Service】If you have any problem during use, send message to us and we will help you to solve the problem soon

Keep Player 1 and Player 2 stable

MAME normally numbers devices in enumeration order. Reconnecting devices, changing USB ports, adding a wireless receiver, or pairing another controller can turn yesterday’s Joy 1 into Joy 2.

  • Connect Player 1 first and use the same ports consistently.
  • Connect every controller before assigning final mappings.
  • Check the device names and IDs in Input Devices.
  • For a permanent cabinet or multi-player setup, use stable device mapping.

MAME documents mapdevice in controller configuration files. A conceptual example is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
<mapdevice device="XInput Player 1" controller="JOYCODE_1" />
<mapdevice device="XInput Player 2" controller="JOYCODE_2" />

Replace the device values with the exact identifiers shown by your own MAME build; do not paste these names blindly. Details are in MAME’s device-mapping documentation.

Fix four-way, eight-way, and analog behavior

Four-way versus eight-way games

Analog sticks can generate diagonals even when a game was designed for a four-way joystick. Pac-Man-like maze games and some platformers may therefore stop, turn unexpectedly, or behave inconsistently. MAME’s joystick_map converts analog positions into digital directions; its documented default, auto, chooses a map from the system’s input-port configuration.

Prefer a per-system .ini adjustment so a four-way correction does not damage eight-way games. Related settings include:

joystick_map auto
joystick_deadzone 0.3
joystick_saturation 1.0
joystick_threshold 0.3
  • Dead zone: ignores small movements around center.
  • Saturation: defines how much of the outer physical range is treated as the usable range.
  • Threshold: sets how far an axis must move before a digital direction activates.
  • Joystick map: determines how analog X/Y positions become digital directions.

Those numbers are examples, not universal recommendations. A physical D-pad or four-way restrictor may be a better solution.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Analog games

When the running system has analog controls, open Input Settings → Analog Input Adjustments. Depending on the game, MAME can expose sensitivity, auto-centering speed, inversion, and response behavior. This menu appears only for systems with analog inputs.

Rank #4
KIWITATA 2X Classic SNES USB Controller for PC Gamings, Retro SNES Wired USB Game Emulator Controller for Windows XP 7 8 11 Mac Raspberry Pi
  • ✅【Compatibility】Compatible with Raspberry Pi, Windows PC, Linux ,Mac. Specifically designed for playing classic old school retro snes games on computer or laptop.This is the USB controller what has a USB plug for PC, NOT compatible for Original SNES super Nintendo console
  • ✅ 【Ergonomic Design】Super precise cross key and function buttons,the cross direction key adopts frosted concave design,anti-sweat and anti-slip.The shape of the controller is designed to fit the contour of your hands,easy and comfortable to hold.
  • ✅ 【Advanced Game Experience】PC running operating system:Windows 98/2000/ ME/XP/Vista/Win7/8/8.1/11 or later,or Mac running OS X 10.0/Mac OS X or above.It works with most of emulators you wish to download and use,such as VirtuaNES(PC),sens9x,Zsens,sensgt,Uosnesw,RetroArch,OpenEmu(MAC),NESEmu and Jnes etc.
  • ✅ 【Wired USB Connection】Standard USB 2.0 port with a 1.5 meters (5ft) cable, don't need to install any drivers, you must manually set the buttons and directionals within the emulator you're using, and the controller not automatically assigns buttons/directional axes. Notice: please download the game emulator first before start the games, you can download the emulator “VirtuaNES” on PC and “OpenEmu”on MAC.
  • ✅【Satisfaction】Third party controller(USB Version), not for original snes console and not support for switch. If there is an incompatibility on MAC or Raspberry Pi , please contact the seller for a support.

Racing games may need steering, accelerator, and brake; Arkanoid uses paddle-like control; Tempest uses a spinner; Missile Command uses trackball-like aiming; flight games may use analog stick or throttle; light-gun games require pointer-style input. A standard gamepad can work in some cases but is not the same experience as the original control type.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Windows joystick providers

Windows builds may offer winhybrid, dinput, and xinput. MAME describes winhybrid as using XInput for compatible controllers with DirectInput fallback; xinput supports up to four XInput controllers; dinput can be useful with more than four XInput-compatible controllers, with differences such as trigger handling.

Use providers as troubleshooting alternatives, not mandatory settings:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
mame -joystickprovider winhybrid pacman
mame -joystickprovider xinput pacman
mame -joystickprovider dinput pacman

Builds differ in which providers are compiled and selected by default. Check yours with:

mame -showconfig
mame -help

SDL provider and mapping-file fallback

SDL-based builds can expose sdlgame, sdljoy, or none. sdlgame uses SDL’s game-controller API where mappings exist and falls back to SDL joystick handling; sdljoy uses the SDL joystick API for all controllers.

For an SDL2/Steam-style mapping database, an advanced test is:

mame -joystickprovider sdlgame 
     -controller_map gamecontrollerdb.txt 
     sf2ce

The documented -controller_map option currently applies to the sdlgame provider. Most users should first use MAME’s assignment menus.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
8Bitdo Sn30 Pro USB Wired Gamepad for Switch, Windows & Raspberry Pi(Gray Edition)
  • Wired Controller, USB cable: 1.8M.
  • Compatible with Switch (version 3.0.0 or above), Windows, Raspberry Pi devices.
  • Rumble vibration.
  • Support turbo function.

Troubleshooting by symptom

The operating system does not detect the controller

  • Try a data-capable USB cable, another port, and another cable.
  • Check an XInput/DirectInput or PC/console mode switch.
  • Inspect the operating-system game-controller panel and Device Manager or its equivalent.
  • Close software that may have exclusive access and test with a basic gamepad tester.

Until the operating system sees the device, MAME configuration is not the first problem.

The OS sees it, but MAME does not

  • Confirm joystick 1 or launch with -joystick.
  • Check that joystickprovider is not none.
  • Try an available provider appropriate to the controller.
  • Connect the controller before launching MAME.
  • Test the standalone executable rather than a front end.
  • Use Input Devices as the decisive MAME-side test.

Buttons work in menus but not the game

You probably assigned only UI controls, edited the wrong player, or configured the wrong input type. Return to Input Assignments (this system) and map the emulated machine’s controls.

The wrong player responds

Check Joy 1/Joy 2 labels, connection order, controller profiles, and any mapdevice rules. Reconnect all controllers in the intended order and remap, or configure stable IDs.

Settings do not persist

Check configuration-directory permissions, read-only folders, abrupt termination, per-game overrides, and whether the front end launches a different MAME executable or configuration directory. Exit normally and back up working .cfg files.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The controller works in RetroArch but not standalone MAME

These are separate systems. RetroArch uses its own input abstraction, core settings, autoconfig files, and overrides. Standalone MAME uses its Input Settings menus, MAME .ini files, and controller .cfg files; a RetroArch profile is not automatically usable in standalone MAME.

Which USB controller is suitable?

Need Practical choice
General arcade library Wired USB gamepad with a good D-pad
Fighting games Six-button pad or arcade stick
Custom cabinet USB arcade encoder with full-size joystick and buttons
Spinner, trackball, wheel, or light-gun games Purpose-built matching hardware

Wired USB is usually simplest: no pairing, battery, or wireless receiver to reconnect under a new device identity. Wireless controllers reduce cable clutter but add charging, pairing, and numbering variables.

For a low-cost wired Windows pad, the 8BitDo Ultimate 2C Wired Controller is one example; its official shop showed $19.99 USD on August 16, 2026. The 8BitDo Ultimate Wired Controller for Xbox was listed at a $29.99 sale price (former displayed price $44.99) on the same date. These are price observations, not permanent prices, and neither replaces a spinner, trackball, wheel, or cabinet panel. The six-button-oriented 8BitDo M30 Wired Controller for Xbox may suit fighters; verify current compatibility, stock, and regional availability before buying.

Quick Recap

Bestseller No. 1
Logitech G F310 Wired Gamepad Controller Console - Blue/Black
Logitech G F310 Wired Gamepad Controller Console - Blue/Black
The six-foot cord lets you lean back and play a comfortable distance from your PC monitor.
$19.99
Bestseller No. 5
8Bitdo Sn30 Pro USB Wired Gamepad for Switch, Windows & Raspberry Pi(Gray Edition)
8Bitdo Sn30 Pro USB Wired Gamepad for Switch, Windows & Raspberry Pi(Gray Edition)
Wired Controller, USB cable: 1.8M.; Compatible with Switch (version 3.0.0 or above), Windows, Raspberry Pi devices.
$27.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from Patch Notes

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.