-
Notifications
You must be signed in to change notification settings - Fork 6
Settings
The Settings page lets you configure PadForge's appearance, input engine behavior, window options, driver management, and settings file. Access it from the sidebar.

Choose how PadForge looks:
| Option | Description |
|---|---|
| System Default | Follows your Windows theme (light or dark) |
| Light | Always uses the light theme |
| Dark | Always uses the dark theme |
The theme change takes effect immediately.
These settings control how the input polling engine operates.
When enabled, the input engine starts automatically when PadForge opens. When disabled, you must manually start the engine from the Dashboard by clicking the power button.
When enabled, PadForge continues reading your controllers and sending output to virtual controllers even when the PadForge window is not in the foreground. This should usually be enabled — otherwise your virtual controllers would stop working the moment you switch to a game.
Disable this only if you want PadForge to pause processing when you are not looking at it.
Master switch for all input hiding. When enabled (the default), PadForge's per-device "Hide from games" (HidHide) and "Consume mapped inputs" (hooks) toggles are active. When disabled, all hiding and input suppression stops immediately, regardless of per-device settings. See Devices for details on per-device input hiding.
Controls how often PadForge reads input from your devices, in milliseconds. The default is 1ms (approximately 1000 Hz).
| Value | Approximate Frequency | Use Case |
|---|---|---|
| 1 ms | ~1000 Hz | Best responsiveness (default) |
| 2 ms | ~500 Hz | Slightly lower CPU usage |
| 4 ms | ~250 Hz | Moderate CPU savings |
| 8 ms | ~125 Hz | Good balance for casual use |
| 16 ms | ~60 Hz | Minimum CPU usage, similar to 60fps |
Lower values mean more responsive input but higher CPU usage. For competitive gaming, keep this at 1ms. For casual use or if you notice high CPU usage, try 4ms or 8ms.
When enabled, clicking the minimize button sends PadForge to the system tray (notification area) instead of the taskbar. Double-click the tray icon to restore the window.
When enabled, PadForge starts minimized. Combined with "Minimize to system tray," PadForge launches silently in the background.
When enabled, PadForge launches automatically when you log into Windows. Combined with the other two options, you can have PadForge running invisibly at all times.
Tip: For a fully hands-off setup, enable all three: Auto-start engine, Start minimized, and Start at login. PadForge will launch at login, start the engine, and run silently in the tray.
The Settings page includes driver management cards for HidHide, ViGEmBus, vJoy, and Windows MIDI Services. Each card shows:
- Status indicator — Green dot for installed, red dot for not installed
- Version — The installed driver version (if applicable)
- Install / Uninstall buttons — One-click install or removal
When HidHide is installed, a Whitelisted Applications section appears below the HidHide driver card. This list shows which programs are allowed to see hidden controllers even when HidHide cloaking is active. PadForge automatically adds itself to the whitelist.
- Add... — Opens a file browser to select an .exe file to whitelist. The selected application will be able to see your physical controllers even when they are hidden from other programs.
- Remove — Removes the currently selected entry from the whitelist. Be careful not to remove PadForge itself, as it needs whitelist access to read your controllers.
This is useful when you need specific programs (such as controller configuration utilities or other remapping tools) to see your physical devices alongside PadForge.


For detailed information about each driver, see Driver Management.
The settings file path is displayed at the top of this section. PadForge stores its configuration in a PadForge.xml file.
| Button | Action |
|---|---|
| Save | Save current settings to the file immediately |
| Reload | Discard any unsaved changes and reload settings from the file |
| Reset to Defaults | Reset all settings to factory defaults (mappings, dead zones, profiles, etc.) |
| Open Folder | Open the settings file folder in Windows Explorer |
If there are unsaved changes, an "Unsaved changes" warning appears below the buttons.
Most settings are saved automatically when you change them. When you switch themes, toggle checkboxes, or change the polling interval, PadForge saves within about a quarter second. The Save button is there for manual saves or to confirm your changes are written to disk.
When enabled, PadForge runs an embedded web server that lets any touchscreen device (tablet, phone, etc.) act as a virtual controller via a browser.
The HTTP/WebSocket port the web controller server listens on. The default is 8080. Change this if port 8080 is already in use (valid range: 1024--65535).
For full details, see Web Controller.
When a virtual controller slot is set to the MIDI output type, its configuration bar on the slot page provides the following settings:
| Setting | Description |
|---|---|
| MIDI Port | Select which MIDI output port to send messages to. The dropdown refreshes the list of available ports each time it is opened. |
| Channel | The MIDI channel to use (1--16). |
| Velocity | The velocity value for Note On messages (0--127). Higher values mean louder/stronger notes. |
| CC Count | Number of MIDI Control Change outputs (0--128). Determines how many axes are sent as CC messages. |
| Start CC | Base CC number for axis outputs (0--127). Axis CC numbers count up from this value. |
| Note Count | Number of MIDI note outputs (0--128). Determines how many buttons are sent as Note messages. |
| Start Note | Base note number for button outputs (0--127, where 60 = Middle C). Button notes count up from this value. |
These settings are configured per slot, so different MIDI virtual controllers can target different ports, channels, and velocities.
The bottom of the Settings page shows version information useful for troubleshooting:
| Field | Description |
|---|---|
| App Version | The PadForge application version |
| .NET Runtime | The .NET runtime version PadForge is using |
| SDL Version | The version of the SDL3 library handling device input |
- Dashboard — Engine status and quick overview
- Driver Management — Detailed driver install/uninstall information
- Profiles — Per-application settings management
- Troubleshooting — Common problems and solutions