PPSSPP controller not detected — configure XInput or DirectInput gamepad in settings

Medium3 solutions

PPSSPP can use virtually any USB or Bluetooth gamepad, but it won't auto-configure many controllers — especially PlayStation DualShock/DualSense pads on Windows — without a small setup step.

Symptoms of controller detection failure in PPSSPP:

  • Controller shows up in Windows Device Manager and works in other games, but PPSSPP ignores all button presses
  • PPSSPP opens its controller mapping screen but pressing buttons on the gamepad registers nothing
  • Only some buttons respond (e.g., the analog stick moves but face buttons are dead)
  • Xbox controller works fine but a PS4/PS5 DualSense does not, or vice-versa

Why this happens: Windows exposes gamepads through two APIs — XInput (modern, preferred by Xbox-style controllers) and DirectInput (older, used by most generic and PlayStation controllers). PPSSPP defaults to XInput mode. An Xbox controller works immediately in this mode; a DualShock 4 or DualSense connected without a translation layer is presented as a DirectInput device and PPSSPP simply won't see it in XInput mode. Switching the input mode — or using a bridging tool like DS4Windows — closes the gap.

Last updated 1 week ago0 users reported this issue1
Sign in to interact

Solutions

solution #1461

check-ppsspp-input-mode-and-manually-map-your-controller (sortOrder=1, isMostHelpful)

Open PPSSPP's control settings, switch between XInput and DirectInput to find the mode your controller uses, then map all PSP buttons manually. Works for any gamepad on any platform.

  1. Open Settings → Controls. In PPSSPP, go to Settings (gear icon) → Controls.
  2. Check the input mode (Windows only). At the top of the Controls screen you will see a Control type selector. If it is set to XInput and your controller is a DualShock 4, DualSense, or generic USB pad, switch it to DirectInput and see if buttons register. Xbox and Xbox-compatible controllers work in XInput; most other gamepads work in DirectInput.
  3. Open "Default control mapping." Tap or click Default control mapping. Each PSP button (Cross, Circle, Square, Triangle, L, R, Start, Select, analog sticks, D-pad) is listed.
  4. Remap each button. Click a PSP button name, then press the physical button on your controller you want to assign to it. PPSSPP displays the input it detected. If pressing a button registers nothing, the controller is still not being seen — return to step 2 and try the other input mode, or proceed to S2 (DS4Windows) below.
  5. Test in-game. Launch any PSP game and verify all buttons respond correctly. The PPSSPP pause menu lets you return to settings mid-game if adjustments are needed.

On Android: PPSSPP detects Android gamepads automatically via the OS HID layer. If buttons are wrong, use Settings → Controls → Default control mapping to remap them — the same per-button mapping interface applies.

solution #1462

use-ds4windows-to-make-playstation-controllers-work-on-windows (sortOrder=2)

PlayStation DualShock 4 and DualSense controllers appear as DirectInput devices in Windows. DS4Windows presents them to any app as an XInput (Xbox) controller, making them plug-and-play with PPSSPP's default XInput mode — no manual remapping needed.

  1. Download DS4Windows from the official GitHub repository (search "DS4Windows" on GitHub for the current actively-maintained fork — the project has changed maintainers over time, so always get it from GitHub, not random download sites).
  2. Run DS4Windows and connect your controller. DS4Windows will detect the DualShock 4 or DualSense via USB or Bluetooth and install the ViGEmBus virtual controller driver on first run (free, open-source). Once the controller shows as "Connected" in DS4Windows, it is now presenting to Windows as an XInput (Xbox) device.
  3. Launch PPSSPP with DS4Windows already running. PPSSPP should now auto-detect the controller as an Xbox pad. PlayStation buttons map to their XInput equivalents: Cross = A, Circle = B, Square = X, Triangle = Y, L1 = LB, R1 = RB, L2/R2 as analog triggers.
  4. Set DS4Windows to start with Windows if you use PPSSPP regularly — otherwise you will need to start DS4Windows before PPSSPP each session for the translation to be active.

DualSense (PS5) users: DS4Windows supports DualSense as well as DS4. If you prefer to avoid third-party tools, use PPSSPP's DirectInput mode (S1 step 2) and map buttons directly — both approaches work.

solution #1463

fix-controller-connection-before-ppsspp-launches (sortOrder=3)

PPSSPP scans for controllers at launch, not continuously. If the controller was connected after PPSSPP was already open, or if the Bluetooth connection is unstable, PPSSPP may not detect it — reconnecting before launch resolves this.

  1. Connect the controller before starting PPSSPP. Plug in the USB cable (or pair Bluetooth) and wait for Windows to finish installing the device — the system sound and the device appearing in Device Manager confirm it is ready. Only then launch PPSSPP.
  2. If Bluetooth: re-pair from scratch. Bluetooth pairings can become stale. Remove the existing pairing (Windows Settings → Bluetooth → your controller → Remove device), then re-pair fresh before launching PPSSPP. A flaky Bluetooth connection can also drop input mid-game — for sessions where reliability matters, USB is the more stable choice.
  3. Try a different USB port. Some USB hubs and front-panel ports don't deliver enough power or bandwidth for gamepads. Connect directly into a rear motherboard USB-A port and retry.
  4. Restart PPSSPP after the controller is connected. If the controller was already connected but PPSSPP still doesn't see it, close PPSSPP completely (verify via Task Manager that the process is gone), ensure the controller is connected, then relaunch PPSSPP. A fresh launch re-scans all available input devices.
Experiencing a different problem?Report a new issue to help the community find solutions.

Comments (0)

No other comments yet. Be the first to share your thoughts.

Sign in to_leave_comment

On This Page