Skip to content

Settings

hifihedgehog edited this page May 5, 2026 · 31 revisions

Settings

Configures language, appearance, engine behavior, window options, drivers, and the settings file. Access it from the sidebar.

Settings page showing language, theme, and engine configuration


Language

A dropdown at the top of the page.

  • Language dropdown. Changes apply immediately, no restart needed.
  • Persistent. Saved and restored on next launch.

Supported: English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Brazilian Portuguese, and Simplified Chinese. New translations are welcome as community contributions.


Appearance

Theme

Option Behavior
System Default Follows your Windows theme. Updates live.
Light Always light.
Dark Always dark.

Changes take effect immediately.

Use 2D Controller View

Defaults to the flat 2D schematic instead of the 3D model on slot configuration pages. Useful if you prefer a simpler layout or if 3D rendering hurts performance. You can still toggle per-slot via the view mode button on the Controller tab. See 3D and 2D Visualization.


Input Engine

Controls the core polling loop that reads physical controllers, applies mappings and deadzones, and writes to virtual controllers.

Auto-Start Engine on Launch

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

Disable if you want PadForge to open without activating virtual devices right away.

Continue Polling When Window Loses Focus

Keeps PadForge processing controller data even when the window is not in the foreground.

Leave this on. Without it, switching to a game stops all processing and virtual controllers go dead. Disable only if you use PadForge purely as a diagnostic tool.

Hide Devices from Games

Master switch for input hiding. 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 regardless of per-device settings. A kill switch to make all physical controllers visible again.

Keep Devices Cloaked Between Launches

When off (default), PadForge clears its HidHide cloaks on shutdown so non-PadForge sessions see the controllers normally. When on, PadForge leaves the cloaks asserted across sessions — useful if another app (e.g. Steam launching after PadForge exits) scans for controllers while PadForge is closed and you want it to still see the physicals as cloaked. The next PadForge start re-asserts the cloaks without a visible decloak window. Toggling the master switch above off mid-session always decloaks immediately, regardless of this setting.

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 gaming, lowest latency (default)
2 ms ~500 Hz Responsive, slightly lower CPU
4 ms ~250 Hz Good balance for most games
8 ms ~125 Hz Casual gaming, noticeable CPU savings
16 ms ~60 Hz Minimum CPU, matches 60 fps refresh

Trade-offs: Lower = more responsive, higher CPU. Higher = less responsive, much less CPU. Most users should leave the default. Raise only if CPU usage is a concern or you are on a low-power device.

Slider range: 1-16 ms.


Window

Controls how PadForge behaves as a Windows application. Together these 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

Opens PadForge with its window hidden. Combined with "Minimize to system tray," it launches silently with only a tray icon.

Start at Login

Launches PadForge when you log into Windows via a startup folder shortcut.

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 optional driver (HIDMaestro, HidHide, Windows MIDI Services) has a card showing:

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

Driver summary

Driver Purpose Install when... Safe to skip when...
HIDMaestro Single user-mode driver that creates virtual Xbox, PlayStation, and Extended (DirectInput) controllers. 225+ device profiles. Replaces ViGEmBus and vJoy from v2. Any Xbox, PlayStation, or Extended slots in use (most setups). Only MIDI or Keyboard+Mouse output needed.
HidHide Hides physical controllers from games. Prevents double input. Games see both physical and virtual controllers. MIDI-only output or no double-input issues.
Windows MIDI Services MIDI virtual controller output. Requires Windows 11 24H2+. Sending MIDI to DAWs, synths, or creative apps. No MIDI use, or on Windows 10 / older Windows 11.

Uninstall safety guards

PadForge blocks uninstalling a driver while slots use it. For example, HIDMaestro "Uninstall" is disabled if any slot is Xbox, PlayStation, or Extended. Delete or switch those Controller Slots first.

HidHide Whitelisted Applications

When HidHide is installed, a Whitelisted Applications section appears below its card. The whitelist controls which programs can still see hidden controllers.

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... Browse for an .exe. That program will see physical controllers even while hidden.
Remove Removes the selected entry. Do not remove PadForge itself.

Driver management cards

HidHide whitelist configuration

For detailed driver information, see Driver Management.


Settings File

All configuration (slots, mappings, deadzones, Profiles, Macros, preferences) lives in a single XML file: 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 config to disk Force-save or confirm changes are persisted
Reload Discards in-memory changes, re-reads from disk Undo changes since last save or pick up external edits
Reset to Defaults Restores factory defaults Last resort for broken config. Cannot be undone.
Open Folder Opens the config folder in Explorer Backup or sharing

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

Auto-Save Behavior

Most settings auto-save within ~250 ms. Manual "Save" clicks are not needed after every change.

The Save button exists to:

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

MIDI Configuration

When a Controller Slots is set to MIDI output, its configuration bar provides:

Setting Description
Channel MIDI channel (1-16)
Velocity Note On velocity (0-127). Higher = louder.
CC Count Control Change outputs (0-128). How many axes send CC.
Start CC Base CC number (0-127). Axis CCs count up from here.
Note Count Note outputs (0-128). How many buttons send Note messages.
Start Note Base note number (0-127, 60 = Middle C). Button notes count up from here.

PadForge creates a virtual MIDI device per slot. No port selection needed. Different slots can target different channels and velocities.


Diagnostics

Version information at the bottom for Troubleshooting:

Field Description
App Version PadForge version
.NET Runtime .NET runtime in use
SDL Version SDL3 library version

Include these when reporting bugs.


Related Pages

Clone this wiki locally