-
Notifications
You must be signed in to change notification settings - Fork 6
Profiles
Profiles let PadForge automatically switch your entire controller configuration when you switch between games or applications. Instead of manually reconfiguring mappings every time you launch a different game, you set up a profile once and PadForge handles the rest.

A profile is a complete snapshot of everything PadForge needs to reproduce a specific controller setup. When you load or auto-switch to a profile, PadForge restores the full configuration in one step. Specifically, each profile stores:
- Virtual controller topology -- which slots are created, which are enabled, and what type each slot is (Xbox 360, DualShock 4, vJoy, MIDI, or Keyboard+Mouse)
- Button and axis mappings -- every per-device mapping for every virtual controller slot (Button and Axis Mappings)
- Dead zones -- per-axis Stick Dead Zones and per-trigger Trigger Dead Zones values
- Force feedback settings -- Force Feedback configuration for each slot
- Macros -- all Macros definitions including triggers, actions, and conditions
- vJoy configurations -- per-slot axis count, button count, and POV settings for vJoy slots
When PadForge switches profiles, all of these settings change at once. Your physical devices remain detected and connected -- only the virtual controller configuration changes.
The Default profile is your baseline -- the configuration PadForge uses whenever no other profile matches. It is always present in the profile list and cannot be deleted or renamed.
Think of it as your "general purpose" setup. For example, if you mainly play platformers with a standard Xbox layout, make that your Default. Then create game-specific profiles only for the games that need something different.
When PadForge starts, it loads the Default profile. If you have auto-switching enabled and switch to a game that has no matching profile, PadForge returns to the Default.
Important: Changes you make to your controller configuration on any other page (Dashboard, Mappings, Macros, etc.) are always saved to whichever profile is currently active. If "Default" is active, those changes update the Default profile. If a named profile is active, changes update that profile instead.
- You create profiles and associate each one with one or more game executables.
- PadForge monitors which window is in the foreground (approximately 30 times per second).
- When a matching application gains focus, PadForge automatically switches to that profile's settings.
- When you switch to an application with no matching profile (your desktop, a web browser, etc.), PadForge reverts to the Default profile.
The switch is seamless -- PadForge saves the outgoing profile's state, then applies the incoming profile's entire configuration. There is no interruption to your controller connection.
On the Profiles page, check Auto-switch profiles based on foreground application. When this is unchecked, PadForge stays on whatever profile is currently active regardless of which application is in the foreground.
- Navigate to the Profiles page from the sidebar.
- Click New to create an empty profile, or Save As to clone your current configuration into a new profile.
- Enter a name for the profile (e.g., "Racing Games", "Elden Ring", "Flight Sim").
- Click Browse... to add the game executables this profile should activate for. You can select multiple files at once.
The fastest way to create a useful profile:
- First, configure PadForge exactly the way you want it for a particular game -- set up your mappings, dead zones, macros, and virtual controller slots.
- Go to the Profiles page and click Save As.
- Name the profile after the game (e.g., "Forza Horizon").
- Click Browse... and navigate to the game's executable (e.g.,
C:\Program Files\Forza\ForzaHorizon5.exe).
This captures your entire working configuration as a profile, ready for auto-switching.
Each profile can be associated with one or more game executables. When the foreground window belongs to a process matching any of the listed executables, that profile activates.
- Executables are added via the Browse... file dialog and stored as full paths (e.g.,
C:\Program Files\Steam\steamapps\common\Elden Ring\eldenring.exe). - You can add multiple executables per profile to match several games with the same profile.
- Matching is case-insensitive --
EldenRing.exematcheseldenring.exe. - Use the Remove button to remove a selected executable from the list.
Internally, executables for a profile are stored as a single pipe-separated (|) string of full paths. For example:
C:\Games\game1.exe|D:\Steam\game2.exe|E:\Epic\game3.exe
This is visible if you edit PadForge.xml directly. Each path is matched against the foreground window's process executable path using a case-insensitive full-path comparison.
Each profile in the list shows a topology summary with badges indicating how many virtual controllers of each type are configured:
- Xbox badge with count (e.g., "2") -- Number of Xbox 360 slots
- DS4 badge with count -- Number of DualShock 4 slots
- vJoy badge with count -- Number of vJoy slots
- MIDI badge with count -- Number of MIDI slots
- Keyboard+Mouse badge with count -- Number of Keyboard+Mouse slots
This gives you a quick visual overview of what each profile contains without having to load it.
| Action | How |
|---|---|
| New | Click New to create an empty profile with no controller slots |
| Save As | Click Save As to clone your current configuration (all slots, mappings, macros) into a new profile |
| Edit | Select a profile and click Edit to rename it or modify its executable list |
| Load | Select a profile and click Load to apply its settings (double-click also loads) |
| Delete | Select a profile and click Delete (the Default profile cannot be deleted) |
You play Forza Horizon 5 and want wider trigger dead zones and a specific stick curve for precise steering. Create a profile called "Forza," set your dead zones and mappings the way you like, then associate it with ForzaHorizon5.exe. When you launch Forza, PadForge automatically switches. When you Alt-Tab to your desktop, it switches back to Default.
Microsoft Flight Simulator expects a joystick, not an Xbox controller. Create a profile called "MSFS" that uses a vJoy slot instead of Xbox 360, map your physical controller's axes to the flight stick axes, and associate it with FlightSimulator.exe. Your normal games still use the Default Xbox 360 profile.
You use Dolphin, Cemu, and Ryujinx, and all of them use the same controller configuration. Create one profile called "Emulators" and add all three executables (Dolphin.exe, Cemu.exe, Ryujinx.exe). All three emulators will activate the same profile.
You have a complex macro setup for an MMO that maps the D-pad to keyboard shortcuts. Create a profile with those macros and associate it with the MMO executable. Your Default profile has no macros, so they only activate when that specific game is in the foreground.
- Set up your Default profile first with your general-purpose controller configuration. Then create game-specific profiles that only change what needs to be different.
- Use Save As from a working configuration to avoid starting from scratch. It is much faster than building a profile from an empty state.
- Test auto-switching by Alt-Tabbing between applications and watching the active profile indicator on the Profiles page.
- Macros are per-profile, so you can have game-specific macro setups that only activate when that game is running.
- Profile switching preserves your physical device connections. Only the virtual controller configuration changes -- your physical controllers stay connected and assigned.
- Profiles are saved to PadForge.xml alongside all other settings. Back up this file to preserve your profiles.
- Dashboard -- See which profile is currently active
- Controller Slots -- Profile switching updates all slot configurations
- Settings -- Enable auto-profile switching globally
- Button and Axis Mappings -- Mappings stored per-profile
- Macros -- Macros stored per-profile