Skip to content

Settings

hifihedgehog edited this page Mar 19, 2026 · 31 revisions

Settings

The Settings page configures PadForge's language, appearance, input engine behavior, window options, driver management, and settings file. Access it from the sidebar.

Settings


Language

PadForge supports multiple languages via a dropdown at the top of the Settings page.

  • Language dropdown — Select from available languages. Changes apply immediately across the entire UI without a restart.
  • Persistent — Your choice is saved and restored on next launch.

Supported languages: English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Brazilian Portuguese, and Simplified Chinese. Community contributions for new translations are welcome.


Appearance

Theme

Option Behavior
System Default Follows your Windows theme. Updates automatically if you change it while PadForge is running.
Light Always light, regardless of Windows setting.
Dark Always dark, regardless of Windows setting.

Theme changes take effect immediately.

Use 2D Controller View

When enabled, the controller visualization on the slot configuration page defaults to the flat 2D schematic instead of the 3D model. Useful if you prefer a simpler layout or if 3D rendering causes performance issues. You can also toggle between 2D and 3D on the fly using the view mode button on any slot's Controller tab.


Input Engine

These settings control the core polling loop that reads physical controllers, applies mappings and dead zones, and writes results to virtual controllers.

Auto-Start Engine on Launch

Starts the engine automatically when PadForge opens. When disabled, you must start it manually from the Dashboard power button.

Disable this if you want PadForge to open without immediately activating virtual devices — useful when troubleshooting configuration.

Continue Polling When Window Loses Focus

Keeps PadForge reading and writing controller data even when the window is not in the foreground.

This should almost always be enabled. Without it, switching to a game stops all processing and your virtual controllers go dead. Disable only if you use PadForge purely as a diagnostic tool and want it to pause when unfocused.

Hide Devices from Games

Master switch for all input hiding in PadForge. Controls two mechanisms:

  • HidHide cloaking — Makes physical controllers invisible to games at the OS level.
  • Input hook suppression — Suppresses mapped inputs through other input APIs.

When on (default), per-device hiding toggles on the Devices page are respected. When off, all hiding stops immediately regardless of per-device settings. Acts as a single kill switch to make all physical controllers visible again — useful for troubleshooting.

Polling Interval

Controls how often PadForge reads input, in milliseconds. Default: 1 ms (~1000 Hz).

Value Approx. Frequency Best for
1 ms ~1000 Hz Competitive/fast-paced gaming — lowest latency (default)
2 ms ~500 Hz Very responsive, slightly lower CPU usage
4 ms ~250 Hz Good balance for most games
8 ms ~125 Hz Casual gaming — noticeable CPU savings
16 ms ~60 Hz Minimum CPU usage, matches 60 fps display refresh

Trade-offs:

  • Lower interval = more responsive, higher CPU usage. At 1 ms, the polling thread is always active.
  • Higher interval = less responsive, much less CPU. Fine for casual or turn-based games.
  • Most users do not need to change this. Raise it only if PadForge causes high CPU usage or you are on a low-power device (tablet, mini PC, etc.).

Slider range: 1–16 ms (whole milliseconds).


Window

These three settings control how PadForge behaves as a Windows application. Together, they enable silent background operation.

Minimize to System Tray

Sends PadForge to the system tray (notification area) instead of the taskbar when minimized. Double-click the tray icon to restore.

Start Minimized

PadForge opens but immediately hides its window. Combined with "Minimize to system tray," it launches silently with only a tray icon.

Start at Login

Launches PadForge automatically when you log into Windows. A shortcut is placed in your startup folder.

Tip: For a fully hands-off setup, enable all four: Auto-start engine, Start minimized, Minimize to system tray, and Start at login. PadForge launches at login, starts the engine, and runs silently in the tray — virtual controllers are ready the moment you open a game.


Driver Management

Each of the four optional drivers — HidHide, ViGEmBus, vJoy, and Windows MIDI Services — has a management card showing:

  • Status indicator — Green dot = installed. Red dot = not installed.
  • Version — Installed driver version (when applicable).
  • Install / Uninstall buttons — One-click install or removal.

Driver summary

Driver Purpose Install when... Safe to skip when...
HidHide Hides physical controllers from games. Prevents double input. Games pick up both physical and virtual controllers. You only use MIDI output or have no double-input issues.
ViGEmBus Creates virtual Xbox 360 and DualShock 4 controllers. You want Xbox or PlayStation output (most common). You only need DirectInput, MIDI, or Keyboard+Mouse output.
vJoy Creates custom DirectInput virtual joysticks with configurable axes, buttons, and POV hats. You need DirectInput output for older games, flight sims, or custom layouts. Xbox or PlayStation output covers all your games.
Windows MIDI Services Enables MIDI virtual controller output. Requires Windows 11 24H2+. You want to send MIDI messages to DAWs, synths, or creative apps. You have no interest in MIDI, or you are on Windows 10 / older Windows 11.

Uninstall safety guards

PadForge prevents uninstalling a driver while it is in use. For example, the ViGEmBus "Uninstall" button is disabled if any slot is set to Xbox 360 or DualShock 4. Delete or change those slots first, then uninstall.

HidHide Whitelisted Applications

When HidHide is installed, a Whitelisted Applications section appears below its driver card. The whitelist controls which programs can see hidden controllers even while cloaking is active.

PadForge adds itself automatically. You may also need to whitelist:

  • Other controller configuration tools
  • Emulators requiring direct hardware access
  • Diagnostic software like joy.cpl
Button Action
Add... Opens a file browser to select an .exe. That program will see physical controllers even while hidden.
Remove Removes the selected entry. Do not remove PadForge itself, or it will lose access to your controllers.

Driver management cards

HidHide whitelist configuration

For detailed driver information, see Driver Management.


Settings File

PadForge stores all configuration — controller slots, mappings, dead zones, profiles, macros, and preferences — in a single XML file called PadForge.xml.

File Location

The full path is displayed at the top of this section. Use it to back up, share, or migrate your configuration.

Operations

Button Action When to use
Save Writes current configuration to disk immediately Force-save or confirm changes are written
Reload Discards in-memory changes and re-reads from disk Undo changes since last save, or pick up external edits
Reset to Defaults Erases all customizations and restores factory defaults Last resort for broken configuration. Cannot be undone.
Open Folder Opens the settings file folder in Explorer Quick access for backup or sharing

If unsaved changes exist, an orange "Unsaved changes" warning appears below the buttons.

Auto-Save Behavior

Most settings auto-save within about a quarter second — toggling a checkbox, switching themes, changing polling interval, or adjusting a dead zone. Manual "Save" clicks are not required after every change.

The Save button exists to:

  1. Force-save for peace of mind.
  2. Batch-save after many rapid changes.

MIDI Configuration

When a slot is set to MIDI output, its configuration bar provides these settings:

Setting Description
Channel MIDI channel (1–16)
Velocity Velocity for Note On messages (0–127). Higher = louder/stronger.
CC Count Number of Control Change outputs (0–128). Determines how many axes send CC messages.
Start CC Base CC number for axis outputs (0–127). Axis CCs count up from this value.
Note Count Number of note outputs (0–128). Determines how many buttons send Note messages.
Start Note Base note number for button outputs (0–127, where 60 = Middle C). Button notes count up from this value.

PadForge creates its own virtual MIDI device per slot — no port selection needed. Settings are per-slot, so different MIDI controllers can target different channels and velocities.


Diagnostics

The bottom of the Settings page displays version information for troubleshooting:

Field Description
App Version PadForge application version
.NET Runtime .NET runtime version in use
SDL Version SDL3 library version handling device input

Include these versions when reporting bugs.


Related Pages

Clone this wiki locally