Skip to content

Settings

hifihedgehog edited this page May 21, 2026 · 31 revisions

Settings

Language, theme, engine timing, window behavior, drivers, and the settings file on disk all live on one page in the sidebar.

Settings page showing language, theme, and engine configuration


Language

A dropdown at the top of the page. Changes apply right away. No restart. The picked language saves and comes back on the next launch.

PadForge ships with 10 locales.

Locale
English Italian
German Japanese
Spanish Korean
French Dutch
Brazilian Portuguese Simplified Chinese

New translations land as community pull requests.

New in 3.2: Profile Shortcuts dropdowns keep their picked value when you switch language. Earlier builds cleared them when culture changed. See Profiles.


Appearance

Theme

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

Changes apply right away.

Use 2D Controller View

Defaults the slot pages to the flat 2D schematic instead of the 3D model. Pick this if you want a simpler layout or if 3D rendering taxes the GPU. The per-slot view-mode button still flips an individual slot. See 3D and 2D Visualization.


Input Engine

Controls the polling loop that reads physical controllers, runs mappings and deadzones, and writes the virtual controllers.

Auto-Start Engine on Launch

Starts the engine when PadForge opens. Off means you start it by hand from the Dashboard power button.

Turn it off if you want PadForge to open without making virtual devices live.

Continue Polling When Window Loses Focus

Keeps the engine running when PadForge is not the foreground window.

Leave this on. Without it, the engine stops the moment you tab into a game and virtual controllers go dead. Turn it off only if you use PadForge as a passive diagnostic.

Hide Devices from Games

Master switch for input hiding. Two pieces sit under it.

  • HidHide cloaking makes physical controllers invisible to games at the OS level.
  • Input hook suppression stops mapped raw inputs reaching other input APIs.

On (default) means the per-device hide toggles on the Devices page do what they say. Off forces every controller visible no matter what the per-device toggles are set to. Use it as a panic button.

Keep Devices Cloaked Between Launches

Off (default) clears every HidHide cloak when PadForge exits, so other sessions see your controllers normally.

On leaves the cloaks in place between launches. Pick this when another app (Steam launching after PadForge exits, for example) scans for pads while PadForge is closed and you want it to keep seeing the physical controllers as hidden. The next PadForge start re-asserts the cloaks with no visible flicker.

Flipping the master switch above to off still decloaks right away, no matter what this is set to.

Polling Interval

How often the engine reads input, in milliseconds. Default: 1 ms (~1000 Hz).

Value Frequency Fits
1 ms ~1000 Hz Competitive play, lowest latency (default)
2 ms ~500 Hz Responsive, a bit lower CPU
4 ms ~250 Hz Balanced for most games
8 ms ~125 Hz Casual play, real CPU savings
16 ms ~60 Hz Lowest CPU, matches 60 fps

Lower means quicker reads and more CPU. Higher means slower reads and less CPU. Most users should leave the default. Raise it when CPU is tight or the machine runs on battery.

Slider range: 1-16 ms.

HM Inactivity Timeout

Seconds an HIDMaestro virtual controller stays alive after all its mapped physical devices go offline. Default: 60 s. Set to 0 to disable (the VC sticks around indefinitely).

When a slot's mapped pads disconnect (laptop sleeps, USB hub unplugged, battery dies), PadForge holds the virtual controller open for this many seconds. If the devices come back, the VC stays in place. If not, PadForge tears it down to free its kernel slot. Slot configuration is kept either way. Plug back in and Pass 2 of Step 5 recreates the same VC at the same visual position.

Range: 0-3600 seconds.


Window

Controls how PadForge acts as a Windows app. Combine the four switches below for a fully background install.

Minimize to System Tray

Sends PadForge to the notification area instead of the taskbar when you minimize. Double-click the tray icon to bring the window back.

Start Minimized

Opens PadForge with the window hidden. Combine with Minimize to system tray for a launch with only a tray icon.

Start at Login

Adds a Startup-folder shortcut so PadForge runs when you log into Windows.

Hands-off setup: turn on Auto-start engine, Start minimized, Minimize to system tray, and Start at login. PadForge launches at login, starts the engine, and sits in the tray. Virtual controllers are live by the time you open a game.


Driver Management

Three driver cards. Each card has a status dot (green = installed, red = not installed) and the installed version when present.

  • HIDMaestro card: status only. The driver auto-installs when the engine starts and is required for every Xbox / PlayStation / Extended slot.
  • HidHide card: Install and Uninstall buttons.
  • Windows MIDI Services card: Install and Uninstall buttons (button is disabled on Windows 10 and pre-24H2 Windows 11).

PadForge is already elevated from its startup UAC prompt, so the Install / Uninstall buttons run their bundled installer in the same elevated session without a second prompt.

Driver summary

Driver What it does When to install
HIDMaestro Single user-mode driver that creates Xbox, PlayStation, and Extended (DirectInput) virtual controllers. 225+ device profiles. Replaces ViGEmBus and vJoy from v2. Auto-installs on first engine start. Required for any non-KBM virtual controller.
HidHide Hides physical controllers from games so they only see the virtuals. Stops double input. Games see both the physical and the virtual.
Windows MIDI Services Sends MIDI virtual-controller output. Needs Windows 11 24H2 (build 26100)+. You drive a DAW, synth, or other MIDI app from a controller.

Uninstall guards

PadForge blocks the HidHide uninstall while any slot still has the cloak armed on a mapped device. Disarm the cloak on the Devices page first.

HidHide Whitelisted Applications

When HidHide is installed, a Whitelisted Applications section drops in under its card. The whitelist picks which apps can still see hidden controllers.

PadForge whitelists itself. You may also want to whitelist:

  • Other controller-config tools
  • Emulators that read raw hardware
  • Diagnostic apps like joy.cpl
Button Action
Add... Browse for an .exe. That program sees physical controllers even when hidden.
Remove Drops the selected entry. Leave PadForge itself in the list.

Driver management cards

HidHide whitelist configuration

For full driver detail see Driver Management.


Settings File

Every slot, mapping, deadzone, profile, macro, and preference lives in one XML file: PadForge.xml.

Location

The full path shows at the top of this section. Use it to back up, copy between machines, or share for bug reports.

Buttons

Button Action When to use
Save Writes the in-memory config to disk. Force-save, or confirm changes hit disk.
Reload Throws out in-memory changes, re-reads from disk. Undo since last save, or pick up an external edit.
Reset to Defaults Restores factory defaults. Last resort for a broken config. No undo.
Open Folder Opens the config folder in Explorer. Backup or sharing.

If unsaved changes exist, an orange "Unsaved changes" warning sits under the buttons.

Auto-save

Most settings auto-save inside ~250 ms. You do not need to click Save after every change.

The Save button is there for two cases.

  1. Force-save before a risky operation.
  2. Batch-save after a rapid run of changes.

MIDI Configuration

When a slot outputs MIDI, its config bar shows:

Setting What it does
Channel MIDI channel (1-16).
Velocity Note On velocity (0-127). Higher = louder.
CC Count Number of 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 Number of Note outputs (0-128). How many buttons send Note messages.
Start Note Base note (0-127, 60 = Middle C). Button notes count up from here.

PadForge creates one virtual MIDI device per slot. No port to pick. Different slots can target different channels.


Diagnostics

Version info at the bottom of the page, for bug reports:

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

Paste these into any issue you file.


Related pages

Last updated for PadForge 3.2.0.

Clone this wiki locally