-
Notifications
You must be signed in to change notification settings - Fork 6
Troubleshooting
This page covers common problems and their solutions. If your issue is not listed here, check the GitHub Issues page.
Symptoms: The Devices page is empty. The Dashboard shows "0 / 0 devices online."
Solutions:
- Check your USB connection. Try a different USB port, preferably one directly on your computer rather than through a hub.
- Try a different cable. Some cables are charge-only and do not carry data.
- Check that SDL3.dll is present in the same folder as PadForge.exe. If it is missing, re-extract the PadForge zip file.
- Restart PadForge. Some devices are only detected during startup or device refresh.
- Check Windows Device Manager. Make sure Windows itself recognizes the device (look under "Human Interface Devices" or "Sound, video and game controllers").
- Bluetooth controllers: Make sure the controller is paired and connected in Windows Bluetooth settings before starting PadForge.
Symptoms: You have created a virtual controller slot and assigned a device, but games do not detect the virtual controller.
Solutions:
- Install ViGEmBus. Xbox 360 and DualShock 4 output types require the ViGEmBus driver. Go to Settings and click Install next to ViGEmBus.
- Install vJoy. The vJoy output type requires the vJoy driver. Install it from the Settings page.
- Make sure the slot is enabled. The power icon on the Dashboard slot card should be green, not red.
- Make sure the engine is running. The engine status on the Dashboard should show "Running" with a green power icon.
- Restart the game. Some games only scan for controllers at startup.
- Check the game's input settings. Some games need you to manually select or enable the controller in their settings menu.
Symptoms: Every button press registers twice. Menus scroll too fast. The game shows two controllers.
Solutions:
- Install HidHide. Go to Settings and install HidHide. This driver hides your physical controller from games so they only see the PadForge virtual controller.
- Restart the game after installing HidHide.
- Check the game's controller settings. Some games let you disable specific controllers. Disable the physical one and keep the virtual one.
Symptoms: vJoy virtual controllers do not appear in games or joy.cpl (Windows Game Controllers).
Solutions:
- Run PadForge as administrator. vJoy device management requires elevated privileges. If PadForge did not prompt for admin on startup, right-click PadForge.exe and select "Run as administrator."
- Check the vJoy driver on the Settings page. Make sure it shows "Installed."
-
Verify in joy.cpl. Press Win+R, type
joy.cpl, and press Enter. You should see your vJoy controllers listed. - Restart PadForge if you just installed the vJoy driver. The driver may need a fresh start to initialize properly.
Symptoms: No vibration from your physical controller when games send force feedback.
Solutions:
- Check the Force Feedback tab. Make sure Overall Gain is above 0%.
- Check per-motor strength. Both the left motor and right motor strength sliders should be above 0%.
- Click Test Rumble on the Force Feedback tab to verify your controller supports vibration.
- Make sure a device is assigned to the slot and is connected (green status dot).
- Check if the game sends rumble. Not all games use force feedback. Try a different game to verify.
- Close other controller software (like Steam's controller configuration) that might be intercepting rumble commands.
Symptoms: The emulator does not receive gyroscope or accelerometer data from PadForge.
Solutions:
- Enable the DSU server. On the Dashboard, check "Enable DSU motion server (cemuhook)" and verify the status shows "Running."
- Check the port. The default port is 26760. Make sure the port in PadForge matches the port configured in your emulator.
-
Use the correct address. If the emulator is on the same computer, use
127.0.0.1as the server address. - Check your controller. Not all controllers have motion sensors. Check the Devices page to see if your controller lists gyro/accel capabilities. Supported controllers include DualSense, DualShock 4, Switch Pro Controller, and Switch 2 Pro Controller.
- Check slot position. The DSU protocol only supports 4 slots. Your motion-capable device must be assigned to one of the first 4 virtual controller slots.
- Check your firewall. Make sure UDP port 26760 (or your custom port) is not blocked.
Symptoms: Changes revert after restarting PadForge. The settings file does not update.
Solutions:
- Click Save on the Settings page. Some changes require a manual save.
- Check file permissions. Make sure PadForge has write access to its settings folder. The file path is shown on the Settings page.
- Try Reset to Defaults. On the Settings page, click "Reset to Defaults" to create a fresh configuration file. Then reconfigure your settings.
-
Check the settings folder. Click "Open Folder" on the Settings page and verify the
PadForge.xmlfile exists and is not read-only. - Antivirus interference. Some antivirus software may block PadForge from writing files. Add an exception for PadForge's folder.
Symptoms: PadForge is using a significant percentage of CPU, causing fans to spin up or other applications to slow down.
Solutions:
- Increase the polling interval. Go to Settings > Input Engine and increase the polling interval. The default is 1ms (~1000 Hz), which provides the best responsiveness but uses more CPU. Try 4ms (~250 Hz) or 8ms (~125 Hz) for casual use.
- Disable polling on focus loss. If you only need PadForge active while its window is open, uncheck "Continue polling when window loses focus" in Settings.
- Reduce virtual controller count. Each active slot adds some processing overhead. Remove slots you are not using.
Symptoms: Controller behaves unexpectedly, especially Switch Pro Controller or Switch 2 Pro Controller. Controller is not detected or rumble stops working.
Solutions:
- Disable Steam Input for the specific controller. In Steam, go to Settings > Controller and turn off the relevant controller support option.
- Close Steam entirely if you are not using it. Steam can exclusively lock certain controller interfaces, preventing PadForge from accessing them.
- Switch 2 Pro Controller specifically: Steam may lock the WinUSB interface that PadForge needs for initialization. Close Steam before connecting the controller, or disable Steam's Switch controller support.
Symptoms: Buttons do not match their expected positions. Some buttons trigger two inputs or produce no input at all. D-pad and face buttons may work but shoulder buttons, triggers, or stick clicks do not.
Solutions:
- Enable Force Raw Joystick Mode. On the Devices page, select the problematic device and enable Force raw joystick mode in the Input Mode section. This bypasses SDL3's gamepad remapping and reads the raw joystick indices directly.
- Record mappings manually. With force raw mode enabled, auto-mapping is not available. Use the Record buttons on the Button and Axis Mappings tab to map each button individually.
-
Check in joy.cpl. Press Win+R, type
joy.cpl, and verify your controller's buttons work correctly there. If they do, force raw mode should fix the issue in PadForge. - Known affected devices: DualShock 3 (with DsHidMini in SDF mode), certain third-party controllers with non-standard HID report layouts.
Symptoms: Mouse buttons don't register on the Devices page. Mouse movement is too subtle to see. Mouse axes can't be recorded via the Record button.
Solutions:
- Mouse buttons not registering: This was fixed in a recent update. Make sure you are running the latest version of PadForge.
- Mouse movement barely visible: Mouse axes show relative deltas (movement since last poll), not absolute positions. Fast mouse movements will show larger axis values. The movement is amplified internally so it registers clearly.
- Recording mouse axes: When recording a mapping for a mouse axis, simply move the mouse in the desired direction. PadForge detects mouse axes instantly — no need to hold the movement like with a joystick.
- Input consumption safety: PadForge does not automatically consume mouse or keyboard inputs when you assign them to a slot. You must manually enable "Consume mapped inputs" or "Hide from games" if you want input hiding, and PadForge will warn you about the risks before enabling.
| Problem | First Thing to Try |
|---|---|
| No devices | Check USB connection and cable |
| No virtual controller | Install ViGEmBus or vJoy |
| Double input | Install HidHide |
| No rumble | Check Force Feedback tab, gain > 0 |
| No motion in emulator | Enable DSU server, check port |
| Settings lost | Click Save on Settings page |
| High CPU | Increase polling interval |
| Steam conflict | Disable Steam Input or close Steam |
| Wrong button mapping | Enable "Force raw joystick mode" on Devices page |
| Web controller disconnected | Check network and firewall |
| Stick drift after calibration | Use center offset calibration |
| Mouse buttons not registering | Update to latest PadForge version |
| Mouse axes won't record | Move mouse — detection is instant, no hold needed |
Symptoms: Buttons map to wrong outputs. Some buttons trigger two inputs. Shoulder buttons, triggers, or stick clicks produce no input.
Cause: SDL3's built-in gamepad mapping doesn't match your device's HID report layout (common with DualShock 3 + DsHidMini, or certain third-party controllers).
Solution:
- Go to the Devices page
- Select the problematic device
- In the Input Mode section, enable Force raw joystick mode
- Go to the Mappings tab and manually record each button
- Auto-mapping is not available in raw mode, but raw button indices will be correct
Symptoms: The browser shows "Disconnected" or cannot reach the web controller URL.
Solutions:
- Ensure PadForge's web controller is enabled on the Dashboard
- Check that both devices are on the same local network (Wi-Fi)
- Verify the port (default 8080) is not blocked by Windows Firewall
- Try a different port in Settings if 8080 is in use
- Use landscape orientation — the controller requires it
Symptoms: The stick drifts even after setting dead zones.
Solution: Use center offset calibration:
- Go to the Sticks tab
- Leave the stick at rest (do not touch it)
- Click Calibrate Center
- PadForge measures the actual rest position and applies an offset so the dead zone is centered correctly
- Settings — Configure engine and drivers
- Driver Management — Install required drivers
- Dashboard — Check engine and driver status
- Devices — Verify device detection
- Force Feedback — Configure rumble
- DSU Motion Server — Configure motion data