-
Notifications
You must be signed in to change notification settings - Fork 6
Profiles
A full snapshot of your PadForge setup. Switch profiles and the slots, mappings, deadzones, macros, and feedback settings all change at once.

Profiles can switch on their own when a game gains focus, or from a controller-button combo you record.
| Setting | What is captured |
|---|---|
| Virtual controller topology | Created slots, enabled slots, and the type of each slot (Xbox, PlayStation, Extended, MIDI, Keyboard+Mouse). |
| Button and axis mappings | Every per-device mapping for every slot. See Button and Axis Mappings. |
| Deadzones | Per-axis Stick Deadzones and per-trigger Trigger Deadzones. |
| Force feedback | Per-slot Force Feedback settings. |
| Adaptive triggers | DualSense Adaptive Triggers modes and curves. |
| Lighting | Lighting modes for DualSense and DualShock 4 lightbars. |
| Macros | All Macros. Triggers, actions, repeat modes. |
| Extended slot shape | Per-slot axis count, button count, and POV count for HIDMaestro Custom profiles. |
A profile switch changes all of these at once. Physical controllers stay connected. Only the virtual side changes.
Default loads at startup and runs any time no other profile matches the foreground app. You cannot delete or rename it.
Set Default to your general layout, like a standard Xbox pad for platformers. Make game-specific profiles only where you want something different.
Important. Changes you make on any page (Dashboard, Mappings, Macros, etc.) save into the profile that is loaded right now.
PadForge watches the foreground window at about 30 Hz. When the app in front matches a profile, that profile loads.
- Add one or more game executables to a profile.
- The matching app gains focus. PadForge loads the profile.
- An unmatched app gains focus (desktop, browser, etc.). PadForge goes back to Default.
The outgoing profile's state saves before the new one loads. The virtual controllers stay connected through the switch.
Turn it on from the Profiles page. Check Auto-switch profiles based on foreground application.
- Open the Profiles page in the sidebar.
- Click New for an empty profile, or Save As to clone the current setup.
- Type a name (Forza, Elden Ring, Flight Sim, etc.).
- Click Browse... and pick the game's executable. Multi-select works.
The fastest way to make a per-game profile:
- Set PadForge up the way you want for one game. Mappings, deadzones, macros, slots.
- Open Profiles and click Save As.
- Name it after the game.
- Click Browse... and pick the game's executable.
The full working setup is now a saved profile and is ready to auto-switch.
Each profile can list one or more executables. When the foreground process matches one of them, the profile loads.
- Added through the Browse... dialog. Stored as full paths.
- Multiple executables per profile. One profile can cover several launchers or game versions.
- Case-insensitive.
EldenRing.exematcheseldenring.exe. - Click Remove to drop an executable from the list.
PadForge.xml stores the executable list as full paths joined by |:
C:\Games\game1.exe|D:\Steam\game2.exe|E:\Epic\game3.exe
Each path is compared against the foreground process path with a case-insensitive full-path match.
Each profile row shows badges for the slot count by type:
| Badge | Counts |
|---|---|
| Xbox | Xbox slots in the profile. |
| PlayStation | PlayStation slots. |
| Extended | Extended (HIDMaestro) slots. |
| MIDI | MIDI slots. |
| KB+M | Keyboard+Mouse slots. |
The badges give you a quick read of the profile's shape without loading it.
| Action | What it does |
|---|---|
| New | Empty profile with no slots. |
| Save As | Clones the current setup into a new profile. |
| Edit | Rename and edit the executable list. |
| Load | Apply the selected profile. Double-click also loads. |
| Delete | Remove the selected profile. Default cannot be deleted. |
Record a controller button combo and have it switch profiles, toggle the window, or turn every virtual controller on or off. You can do this without a keyboard.
| Mode | What it does |
|---|---|
| Next | Move forward one step in the profile list. |
| Previous | Move backward one step. |
| Specific Profile | Jump straight to a named profile. |
| Toggle Window | Minimize PadForge when it is in front. Restore and raise it when it is minimized, hidden, or in the background. Honors the "Minimize to tray" setting and fullscreen. |
| Toggle Virtual Controllers Disabled | Turn every created controller on or off with one combo. If any slot is enabled, the combo disables all of them. If every slot is already disabled, the combo enables them all. A bottom-of-screen flyout confirms the new state. New in 3.2. |
- Open the Profiles page. Click Add Shortcut under the Profile Shortcuts card.
- Pick a Mode from the dropdown.
- For Specific Profile, pick the target profile from the Profile dropdown.
- Pick a Device. One specific controller, or Any Connected Device to fire from any pad.
- Click Record (the record icon) and press your combo within 5 seconds.
- Buttons. Press one or more at the same time to make a combo.
- Axes. Triggers and sticks count as inputs, with direction (left-stick-left can be Previous, left-stick-right can be Next).
- Cross-device combos. Buttons from different controllers can combine into one shortcut.
A small flyout slides up from the taskbar each time a profile changes, no matter whether the change came from auto-switch or a shortcut.
| Stage | What shows |
|---|---|
| Profile name | The new profile's name. Two seconds. |
| Initializing | Flashing icon while the virtual controllers start up. |
| Active | Accent-colored checkmark. The controllers are ready. |
| Offline warning | If one or more controllers have no online physical devices, a warning icon and "One or more controllers offline" message replace the Active state. |
The flyout matches the Windows 11 volume OSD styling and follows your light or dark theme.
The Toggle Virtual Controllers Disabled shortcut shows its own flyout (enabled or disabled) instead of the profile flyout.
| Scenario | Setup |
|---|---|
| Racing game with custom deadzones | Make a "Forza" profile with wider trigger deadzones and a steeper stick curve. Add ForzaHorizon5.exe. It loads on launch and reverts on Alt+Tab. |
| Flight sim on Extended (HIDMaestro) | Make an "MSFS" profile that uses an Extended slot instead of Xbox. Map axes to flight-stick axes. Add FlightSimulator.exe. Other games keep the Default Xbox profile. |
| Several emulators, one profile | Make an "Emulators" profile and add Dolphin.exe, Cemu.exe, and Ryujinx.exe. All three load the same setup. |
| Macros for one game only | Make a profile with D-pad-to-keyboard macros for an MMO. Add the MMO executable. Default has no macros, so they only run when the MMO is in front. |
| Quick on/off from the couch | Bind Toggle Virtual Controllers Disabled to LS + RS. Press it to make every virtual pad go away (for keyboard play), press again to bring them all back. |
- Set up Default first. It is your everyday layout.
- Save As from a working setup is faster than building a profile from scratch.
- Test auto-switch by Alt+Tabbing between your game and another app. Watch the active-profile flyout.
- Macros save per profile. Per-game macros only run when their game is in front.
- Physical device connections stay open across switches. Only the virtual side changes.
- Back up PadForge.xml to keep your profiles safe.
- Controller shortcuts beat Alt+Tabbing for mid-game profile changes.
- Auto-switch reads the foreground window. Games launched from a launcher that stays in front (some bootstrappers) may need the launcher's executable in the list too.
- Match is by full file path. A game installed in two places needs both paths added.
- Toggle Virtual Controllers Disabled only acts on slots you have created. It does not create or remove slots.
- Dashboard: Shows the currently active profile.
- Controller Slots: a profile switch updates every slot in the configuration.
- Devices: Physical device connections stay open across switches.
- Settings: Turn auto-switch on or off globally.
- Button and Axis Mappings: Stored per profile.
- Macros: Stored per profile.
Last updated for PadForge 3.2.0.