🎮

Generic Controller Tester

Test any USB or Bluetooth gamepad

Connect any gamepad controller

Complete Guide: Testing Third-Party and Generic Controllers

The HTML5 Gamepad API is designed to work with any controller that the operating system recognizes as a standard gamepad input device. This means our tester works with an enormous range of third-party controllers, specialty gamepads, fight sticks, racing wheels, and even retro console adapters.

Supported Controller Brands

  • 8BitDo: Ultimate, Pro 2, SN30 Pro+, and all wired/wireless models. 8BitDo controllers are fully compatible via Bluetooth, USB-C, or the included 2.4GHz wireless adapter (USB mode only for browser detection).
  • Logitech: F310, F710, Logitech Gamepad F510, and specialty controllers. The F310/F710 have a hardware switch (XInput vs DirectInput) — ensure it's set to XInput mode (X position) for proper browser detection.
  • Razer: Wolverine V2, Raion, and Kishi models connected via USB. Razer's proprietary wireless protocols may not be detected by the browser.
  • SteelSeries: Stratus Duo, Nimbus+, and other Bluetooth-enabled models.
  • Measure your controller's response time with precision timing.

Hall Effect vs Potentiometer Joysticks: The Future of Stick Drift Prevention

The joystick drift epidemic has driven a new wave of "drift-free" controllers using <strong>Hall Effect sensors</strong>. Understanding the difference between the two technologies is crucial when evaluating your controller's health:

  • <strong>Potentiometer (Standard):</strong> Uses physical carbon tracks and metal wipers to measure resistance. As the carbon wears away from friction over time, the resistance changes unpredictably, creating the phantom inputs known as "stick drift". Found in almost all standard controllers (DualSense, Xbox Series, Joy-Cons, DualShock 4).
  • <strong>Hall Effect (Modern):</strong> Uses magnets attached to the stick and magnetic sensors (Hall Effect sensors) on the circuit board. The sensors detect the position of the magnets without any physical contact. Zero contact = zero wear = zero drift. Used in: DualSense Edge, 8BitDo Ultimate, GuliKit KingKong 2 Pro, Flydigi Vader 3 Pro.

Our diagnostic tests work equally well with both technologies. In fact, running the <strong>Tremor test</strong> is a great way to compare — Hall Effect sticks typically show noise levels 10-50x lower than potentiometer sticks.

Troubleshooting & Interpreting Results

Controller Not Detected

If your controller isn't appearing in the tester, try these steps:

  • Ensure Chrome or Edge is fully updated (Gamepad API requires a modern browser).
  • Press any button on the controller first — the Gamepad API only activates after a user interaction.
  • Check if the controller has a mode switch (DirectInput vs XInput). Set it to XInput mode.
  • Try a different USB port, ideally a rear motherboard port.
  • On Windows, check Device Manager → "Human Interface Devices" to verify the OS recognizes the controller.

Button Mapping Issues

Generic controllers may report buttons in non-standard orders. The Gamepad API exposes a "Standard" mapping layout (matching Xbox layout), but some controllers use custom mappings. The Button Test page shows all raw button indices regardless of mapping, making it easy to identify your controller's layout.

Related Tools

Xbox Controller Tester

Test Xbox One, Series X|S, and Elite controller features.

PS5 DualSense Tester

Test adaptive triggers, haptic feedback, and touchpad on your DualSense.

PS4 DualShock 4 Tester

Test buttons, sticks, touchpad, and light bar on your DualShock 4.

Nintendo Switch Tester

Diagnose Joy-Con drift, Pro Controller, and HD Rumble.

The single most common reason a controller isn't detected by a browser is the input protocol it uses. Windows supports two gamepad protocols:

If your controller has a physical switch (common on Logitech F310, F710, and some 8BitDo models), set it to "X" mode (XInput) rather than "D" mode (DirectInput) for the best browser compatibility.

Beyond standard gamepads, the Gamepad API also detects many specialty controllers:

  • XInput (Modern): Microsoft's protocol, designed for Xbox controllers. It provides a standardized 16-button layout with two analog sticks and two analog triggers. The browser Gamepad API works best with XInput controllers. Xbox, modern 8BitDo, and most new third-party controllers use XInput by default.
  • DirectInput (Legacy): The older Windows protocol that supports up to 128 buttons and 8 axes, but with no standardized layout. Some older or specialty controllers (some Logitech models, certain HOTAS controllers) only support DirectInput and may appear with incorrect button mapping or not at all.
  • Fight Sticks / Arcade Sticks: Hori Fight Stick Alpha, Qanba Obsidian, Mayflash F500, and Victrix Pro FS all work via USB. They report 8-12 buttons and directional inputs. Use the Button Test to map every button.
  • Racing Wheels: Logitech G29/G920, Thrustmaster T300RS, and Fanatec wheels are detected as gamepad devices. The steering axis, accelerator, and brake pedals map to analog axes. Force feedback cannot be triggered through the browser.
  • Flight Sticks / HOTAS: Thrustmaster T.16000M, Logitech Extreme 3D Pro, and similar joysticks are partially compatible. Multiple axes (pitch, yaw, roll, throttle) are reported. Use the Deadzone Test to calibrate each axis.
  • Retro Adapters: USB adapters for SNES, N64, GameCube, and Genesis controllers typically use DirectInput and may need XInput wrapper software (like x360ce) for full browser compatibility.

Understanding XInput vs DirectInput: Why Your Controller Might Not Work

The single most common reason a controller isn't detected by a browser is the input protocol it uses. Windows supports two gamepad protocols:

  • XInput (Modern): Microsoft's protocol, designed for Xbox controllers. It provides a standardized 16-button layout with two analog sticks and two analog triggers. The browser Gamepad API works best with XInput controllers. Xbox, modern 8BitDo, and most new third-party controllers use XInput by default.
  • DirectInput (Legacy): The older Windows protocol that supports up to 128 buttons and 8 axes, but with no standardized layout. Some older or specialty controllers (some Logitech models, certain HOTAS controllers) only support DirectInput and may appear with incorrect button mapping or not at all.

If your controller has a physical switch (common on Logitech F310, F710, and some 8BitDo models), set it to "X" mode (XInput) rather than "D" mode (DirectInput) for the best browser compatibility.

Testing Specialty Controllers: Fight Sticks, Racing Wheels & Flight Sticks

Beyond standard gamepads, the Gamepad API also detects many specialty controllers:

  • Fight Sticks / Arcade Sticks: Hori Fight Stick Alpha, Qanba Obsidian, Mayflash F500, and Victrix Pro FS all work via USB. They report 8-12 buttons and directional inputs. Use the Button Test to map every button.
  • Racing Wheels: Logitech G29/G920, Thrustmaster T300RS, and Fanatec wheels are detected as gamepad devices. The steering axis, accelerator, and brake pedals map to analog axes. Force feedback cannot be triggered through the browser.
  • Flight Sticks / HOTAS: Thrustmaster T.16000M, Logitech Extreme 3D Pro, and similar joysticks are partially compatible. Multiple axes (pitch, yaw, roll, throttle) are reported. Use the Deadzone Test to calibrate each axis.
  • Retro Adapters: USB adapters for SNES, N64, GameCube, and Genesis controllers typically use DirectInput and may need XInput wrapper software (like x360ce) for full browser compatibility.

❓ Frequently Asked Questions: Generic & Third-Party Controllers

Why is my controller not detected in the browser?

Press any button first — the Gamepad API activates only after user interaction. Ensure you're using Chrome, Edge, or Firefox. Check if your controller has a DirectInput/XInput switch and set it to XInput ("X" position). Try a different USB port (preferably a rear motherboard port). On Windows, verify the OS recognizes the controller in Device Manager.

What is the difference between XInput and DirectInput?

XInput is Microsoft's modern protocol for Xbox-style controllers with standard 16-button layout. DirectInput is the older protocol supporting more buttons/axes but without standardized mapping. Browsers prefer XInput for reliable detection. Logitech F310/F710 have a physical switch ("X" vs "D") to toggle between them.

Do fight sticks and arcade controllers work with this tester?

Yes! Fight sticks (Hori, Qanba, Mayflash, Victrix) that connect via USB are fully detected by the Gamepad API. They typically report 8-12 buttons and a D-pad mapped as hat switches. The Button Test page shows raw button indices for easy mapping.

Do racing wheels work with this tester?

Logitech G29/G920, Thrustmaster T300RS, and Fanatec wheels are detected as gamepad devices. Steering rotation and pedals map to analog axes. Use the Deadzone Test to calibrate each axis. Note: force feedback effects cannot be triggered via the browser API.

Why are my controller buttons mapped incorrectly?

Generic controllers may use custom button mappings instead of the standard Xbox layout. The Gamepad API reports a mapping property — if it says "standard," buttons follow Xbox layout; if empty, the controller uses custom indices. Use the Button Test to identify your specific layout by pressing each button individually.

Can I test a controller connected to my phone?

Yes! On Android, open Chrome or Edge and navigate to GPad Tester. Connect your controller via Bluetooth or USB OTG and press any button. On iOS, Safari has limited Gamepad API support starting from iOS 16.4. Chrome on iOS does not support it since it uses the WebKit engine.