-
Notifications
You must be signed in to change notification settings - Fork 6
Controller Slots
A slot is a virtual controller that PadForge creates on your system. Games see each slot as a separate, real controller — even though no physical hardware backs it. You choose the type, assign physical devices, and configure mappings independently per slot.
PadForge supports up to 16 slots at a time.
Each slot has its own:
- Controller type (Xbox 360, DualShock 4, DirectInput, Keyboard+Mouse, or MIDI)
- Button and axis mappings
- Dead zones and sensitivity curves
- Force feedback / rumble settings
- Macros
Add a slot from either location:
- Dashboard — Click the Add Controller card at the bottom of the controller list.
- Sidebar — Click the + button in the controller section.
Both open the Add Controller popup. Click the icon for the type you want.

| Button | Creates |
|---|---|
| Xbox controller icon | Xbox 360 virtual gamepad (requires ViGEmBus) |
| PlayStation controller icon | DualShock 4 virtual gamepad (requires ViGEmBus) |
| Joystick icon | DirectInput virtual joystick (requires vJoy) |
| Keyboard icon | Keyboard+Mouse output (no driver needed) |
| Musical note icon | MIDI output device (requires Windows MIDI Services) |
A button appears faded and unclickable when:
- Driver not installed — The tooltip shows which driver is missing. See Driver Management.
- Type at capacity — You have reached the maximum slots of that type. The tooltip shows the limit.
The Add Controller option disappears entirely when all 16 slots are in use or every type has reached its limit.
You choose the type when creating a slot. You can also switch an existing slot's type by clicking the type icons on its Dashboard card.
| Driver | ViGEmBus |
| Inputs | 2 sticks, 2 triggers, 1 D-Pad, 11 buttons |
| Best for | Most modern PC games |
The default choice. Nearly every PC game from the last 15 years supports Xbox controllers natively.
| Driver | ViGEmBus |
| Inputs | 2 sticks, 2 triggers, 1 D-Pad, 14 buttons |
| Best for | PlayStation ports, PS button prompts, touchpad/gyro apps |
Use this for games that expect a PlayStation controller — PS PC ports with Circle/Cross/Triangle/Square prompts, or emulators that need DS4-specific features like the touchpad or light bar. Also useful for streaming motion data via the DSU server.
| Driver | vJoy |
| Inputs | Up to 8 axes, 128 buttons, 4 POV hats (fully customizable) |
| Best for | Flight sims, racing wheels, HOTAS setups, custom panels |
A fully customizable virtual joystick. You choose exactly how many axes, buttons, and POV hats the device has via a configuration bar on the slot's page. A schematic view shows the current layout.
Many simulation titles (DCS World, MSFS, X-Plane, iRacing) work best with DirectInput devices. This type also supports DirectInput force feedback.


| Driver | None (always available) |
| Outputs | Key presses, mouse movement, mouse clicks, scroll wheel |
| Best for | Accessibility, games without controller support, desktop navigation |
Sends keyboard and mouse input directly to Windows instead of emulating a gamepad. Map buttons to keys and sticks or triggers to mouse movement or scroll. Useful for:
- Older PC games that only support keyboard and mouse
- Accessibility setups where a gamepad is easier than a keyboard
- Desktop or non-game application navigation
- Custom schemes mixing controller and keyboard inputs
An interactive keyboard and mouse preview lights up in real time as you press buttons.

| Driver | Windows MIDI Services |
| Outputs | MIDI CC messages, MIDI Note On/Off messages |
| Best for | Music production, live performance, VJing, lighting control |
Creates a system-wide virtual MIDI device — no third-party loopback software needed. Axes map to MIDI CC messages; buttons map to Note On/Off. A configuration bar lets you set channel, CC count, note count, starting CC/note numbers, and velocity.
Use this to turn any gamepad into a MIDI controller for DAWs (Ableton Live, FL Studio, Reaper), VJ software, or lighting applications.

Note: MIDI slots cannot switch to other controller types, and vice versa. MIDI is a fundamentally different output format, so it stays isolated from gamepad types.
| Situation | Recommended Type |
|---|---|
| Modern PC game (Elden Ring, Forza, Halo, etc.) | Xbox 360 |
| PlayStation PC port with PS button prompts | DualShock 4 |
| Streaming gyro/motion to Cemu, Yuzu, or another emulator | DualShock 4 + DSU |
| Flight sim, racing sim, or space sim | DirectInput |
| HOTAS, racing wheel, or custom button box | DirectInput |
| Game with keyboard+mouse only | Keyboard+Mouse |
| Accessibility or desktop navigation | Keyboard+Mouse |
| DAW, VJ software, or stage lighting | MIDI |
| Not sure | Xbox 360 |
When in doubt, start with Xbox 360. It has the widest compatibility and you can switch later.
PadForge supports up to 16 slots total across all types. Any mix is allowed within each type's individual cap.
| Type | Max Slots | Reason |
|---|---|---|
| Xbox 360 | 16 | ViGEm creates all 16. XInput games see only the first 4; SDL/DirectInput games see all 16. |
| DualShock 4 | 16 | ViGEm creates all 16. Games using SDL or DirectInput see all of them. |
| DirectInput | 16 | vJoy driver limit |
| Keyboard+Mouse | 16 | No driver limit — capped at overall slot count |
| MIDI | 16 | No driver limit — capped at overall slot count |
Most users create 1–4 slots. The 16-slot cap exists for advanced setups like arcade cabinets, sim rigs, or multi-output MIDI stations.
Windows XInput API only exposes 4 Xbox-type controllers to games. This is a Windows limitation, not a PadForge one.
- 4 or fewer Xbox 360 slots — Every game sees all of them regardless of API.
- More than 4 Xbox 360 slots — All 16 exist and work. Games using XInput only detect the first 4. Games using SDL, DirectInput, or raw HID see all 16.
- DualShock 4 slots have no XInput visibility constraint — games using SDL or DirectInput see all of them.
- DirectInput, Keyboard+Mouse, and MIDI slots are unaffected by XInput limits.
Tip: If you need more than 4 gamepads for local multiplayer, mix Xbox 360 and DualShock 4 slots. Many modern games detect both. Alternatively, check whether the game supports DirectInput, which has no 4-controller limit.
The DSU/Cemuhook motion protocol supports a maximum of 4 slots. Only the first 4 slots broadcast motion data to DSU clients. Slots 5–16 function normally for gamepad output but do not send motion data over DSU.
This is a protocol limitation, not a PadForge one.
Each slot has a power button — the circle icon on the left side of its Dashboard card. Click it to toggle the slot on or off.
| Color | Meaning |
|---|---|
| Green | Active and visible to games while the engine runs. |
| Red | Off. Games cannot see it. All settings are preserved — toggle back on anytime. |
| Yellow | Enabled but blocked. Common causes: no devices assigned, driver missing, or engine stopped. |
Disabling a slot temporarily hides it from games without losing its configuration.
Click the X on a slot's Dashboard card or next to its name in the sidebar.
When you delete a slot:
- The virtual controller is removed from the system.
- All settings (mappings, dead zones, macros, etc.) are permanently removed.
- Assigned physical devices are unassigned from this slot only — other slot assignments are unaffected.
- Remaining slots shift down to fill the gap (e.g., deleting Controller 2 of four causes 3 and 4 to become 2 and 3).
Tip: To temporarily hide a controller without losing settings, disable the slot instead of deleting it.
Drag and drop controller cards on the Dashboard or entries in the sidebar to change slot order.
- Click and hold a controller card (Dashboard) or entry (sidebar).
- Drag to the desired position.
- Release to drop.
Slot order determines controller numbering. Controller 1 is whichever slot is first in the list. Many games assign player numbers based on this order, and emulators often bind specific slots to specific player ports.
New slots are grouped by type: Xbox 360 first, then DualShock 4, DirectInput, Keyboard+Mouse, and MIDI. This keeps XInput numbering predictable — Xbox 360 slots grouped at the top avoids confusion about which one is "Controller 1" in XInput-based games.
You can override grouping by manually dragging slots to different positions.
Click a controller card on the Dashboard or its entry in the sidebar to open the slot's configuration page:
- 3D and 2D Visualization — Interactive controller model
- Button and Axis Mappings — Map physical inputs to virtual outputs
- Stick Dead Zones — Thumbstick dead zone and response curves
- Trigger Dead Zones — Trigger range and dead zone
- Force Feedback — Rumble passthrough and strength
- Macros — Button combo triggers and action sequences
A single physical controller can feed input into multiple slots simultaneously.
- Split output — One controller drives an Xbox 360 slot (for the game) and a MIDI slot (for music control) at the same time.
- Mirrored output — Feed the same controller into two Xbox 360 slots so two in-game characters move identically.
- Sim rigs — Route a single HOTAS to multiple DirectInput slots with different axis configurations.
- Devices page — Slot toggle buttons: Each device card shows numbered toggles, one per slot. Click a number to assign or unassign. Highlighted numbers indicate active assignments.
- Sidebar — Drag and drop: Drag a device from the Devices page onto a sidebar controller entry.
Each slot-device pairing has its own independent mappings, dead zones, and settings. Assigning the same controller to slot 1 and slot 3 lets you configure completely different mappings for each.