Skip to content

Controller Slots

hifihedgehog edited this page Mar 19, 2026 · 32 revisions

Controller Slots

What Is a Slot?

A slot is a virtual controller that PadForge creates on your system. Games and applications see each slot as a separate, real controller plugged into your PC — even though no physical hardware is attached to it. You decide what type of controller each slot pretends to be, which physical devices feed input into it, and how that input is mapped.

Think of slots as empty chairs at a table. Each chair can be filled by any of your physical controllers (or even by several controllers at once), and the game only sees the chairs — not who is sitting in them. You can have up to 16 slots at a time.

Every slot has its own independent settings:

  • Controller type (Xbox 360, DualShock 4, DirectInput, Keyboard+Mouse, or MIDI)
  • Button and axis mappings
  • Dead zones and sensitivity curves
  • Force feedback / rumble configuration
  • Macros

Adding a Virtual Controller

You can add a new slot from two places:

  1. Dashboard — Click the Add Controller card that appears at the bottom of the controller list.
  2. Sidebar — Click the + button in the sidebar's controller section.

Either action opens the Add Controller popup, which shows an icon for each controller type. Click the icon for the type you want.

The Add Controller popup

What Each Button Does

Button What It Creates
Xbox controller icon An Xbox 360 virtual gamepad (requires ViGEmBus driver)
PlayStation controller icon A DualShock 4 virtual gamepad (requires ViGEmBus driver)
Joystick icon A DirectInput virtual joystick via vJoy (requires vJoy driver)
Keyboard icon A Keyboard+Mouse output (no driver needed)
Musical note icon A MIDI output device (requires Windows MIDI Services)

When a Button Is Dimmed

A button in the popup will appear faded out and cannot be clicked in two situations:

  • Driver not installed — The required driver for that type is not present on your system. Its tooltip will tell you which driver is missing. See Driver Management for installation instructions.
  • Type at capacity — You have already created the maximum number of slots of that type. The tooltip will show the limit (for example, "DirectInput (max 16)").

The entire Add Controller card disappears from the Dashboard and sidebar when all 16 slots are in use or when every type has reached its limit.


Choosing a Controller Type

Each slot outputs as one of five virtual controller types. You choose the type when you create the slot, and you can also switch an existing slot's type at any time by clicking the type icons on the Dashboard card.

Xbox 360

Driver ViGEmBus
Inputs 2 sticks, 2 triggers, 1 D-Pad, 11 buttons
Best for Most modern PC games

The default choice for the vast majority of games. Nearly every PC game released in the last 15 years supports Xbox controllers natively, so an Xbox 360 virtual controller will be recognized without any extra configuration in the game.

DualShock 4

Driver ViGEmBus
Inputs 2 sticks, 2 triggers, 1 D-Pad, 14 buttons
Best for PlayStation ports, games that show PlayStation button prompts, or apps that need touchpad/gyro data

Creates a Sony DualShock 4 virtual controller. Use this when a game explicitly expects a PlayStation controller — for example, PlayStation PC ports that display Circle/Cross/Triangle/Square prompts, or emulators that need DS4-specific features like the touchpad or light bar. Also useful when streaming motion/gyro data to emulators via the DSU server.

DirectInput (vJoy)

Driver vJoy
Inputs Up to 8 axes, 128 buttons, 4 POV hats (fully customizable)
Best for Flight simulators, racing wheels, HOTAS setups, custom control panels

Creates a fully customizable virtual joystick. Unlike Xbox 360 and DualShock 4, you choose exactly how many axes, buttons, and POV hats the device has. A configuration bar appears on the slot's page where you adjust these values, and a schematic view shows the current layout.

DirectInput is the older Windows controller API, and many simulation titles (DCS World, Microsoft Flight Simulator, X-Plane, iRacing) work best with DirectInput devices. This type also supports DirectInput force feedback, so games can send rumble and resistance effects back through to your physical controller.

vJoy controller configuration

vJoy schematic view

Keyboard+Mouse

Driver None (always available)
Outputs Keyboard key presses, mouse movement, mouse clicks, scroll wheel
Best for Accessibility, games without controller support, desktop navigation

Instead of pretending to be a gamepad, this type sends keyboard and mouse input directly to Windows. Map your controller's buttons to keyboard keys and your sticks or triggers to mouse movement or scroll. This is useful for:

  • Playing older PC games that only support keyboard and mouse
  • Accessibility setups where a gamepad is easier to use than a keyboard
  • Navigating the Windows desktop or non-game applications with a controller
  • Creating custom control schemes that mix controller and keyboard inputs

An interactive keyboard and mouse preview lights up in real time as you press buttons on your physical controller.

Keyboard and mouse controller preview

MIDI

Driver Windows MIDI Services
Outputs MIDI CC (Control Change) messages, MIDI Note On/Off messages
Best for Music production, live performance, VJing, lighting control

Creates a virtual MIDI output device that appears system-wide — no third-party loopback software like loopMIDI is needed. Stick and trigger axes are mapped to MIDI CC messages, and buttons are mapped to MIDI Note On/Off messages. A configuration bar lets you set the MIDI 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, stage lighting, or any application that accepts MIDI input.

MIDI controller configuration

Note: MIDI slots cannot be switched to other controller types and vice versa. MIDI is a fundamentally different output format, so this type is isolated from the gamepad types.


Which Controller Type Should I Use?

If you are unsure which type to pick, use this quick guide:

Your Situation Recommended Type
Playing a modern PC game (Elden Ring, Forza, Halo, etc.) Xbox 360
Playing a PlayStation PC port that shows PS button prompts DualShock 4
Streaming gyro/motion data to Cemu, Yuzu, or another emulator DualShock 4 (with DSU motion server enabled)
Playing a flight sim, racing sim, or space sim DirectInput
Using a HOTAS, racing wheel, or custom button box DirectInput
Playing a game that only supports keyboard and mouse Keyboard+Mouse
Using a controller for accessibility or desktop navigation Keyboard+Mouse
Controlling a DAW, VJ software, or stage lighting MIDI
Not sure / just want it to work Xbox 360

When in doubt, start with Xbox 360. It has the widest compatibility and you can always switch later.


Slot Limits

PadForge supports up to 16 virtual controller slots in total across all types. You can use any mix of types you like, as long as you stay within both the overall 16-slot limit and each type's individual capacity.

Per-Type Limits

Type Maximum Slots Why This Limit Exists
Xbox 360 16 ViGEmBus supports up to 16, though see the XInput note below
DualShock 4 16 ViGEmBus supports up to 16
DirectInput 16 vJoy driver supports up to 16 virtual joysticks
Keyboard+Mouse 16 No hard driver limit, capped at the overall slot count
MIDI 16 No hard driver limit, capped at the overall slot count

In practice, most users create only 1 to 4 slots. The 16-slot maximum is available for advanced setups like multi-player arcade cabinets, complex sim rigs, or multi-output MIDI performance stations.

XInput 4-Slot Visibility Limit

Windows has a built-in limitation called XInput that only allows games to see 4 Xbox-type controllers at a time. This is a Windows API restriction, not a PadForge limitation.

What this means for you:

  • If you create 4 or fewer Xbox 360 slots, every game will see all of them — no issues.
  • If you create more than 4 Xbox 360 slots, they all exist and function within PadForge, but a game using the XInput API will only detect the first 4. The remaining Xbox 360 slots are invisible to that game.
  • DualShock 4, DirectInput, Keyboard+Mouse, and MIDI slots are not affected by this limit.
  • Some games use alternative APIs (DirectInput, SDL, raw HID) that can see more controllers. Whether a game uses XInput or an alternative depends on the game.

Tip: If you need more than 4 gamepads for a local multiplayer game, consider using a mix of Xbox 360 and DualShock 4 slots. Many modern games detect both types. Alternatively, check whether the game supports DirectInput, which has no 4-controller limit.

DSU/Cemuhook 4-Slot Limit

If you use the DSU motion server (for streaming gyro and accelerometer data to emulators like Cemu or Yuzu), the DSU/Cemuhook protocol supports a maximum of 4 controller slots. Only the first 4 slots in your list will broadcast motion data to DSU clients. Slots 5 through 16 function normally for gamepad output but do not send motion data over DSU.

This is a limitation of the DSU/Cemuhook protocol itself, not PadForge.


Enabling and Disabling Slots

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.

Status Color Meaning
Green The virtual controller is active and visible to games while the engine is running.
Red The virtual controller is turned off. Games cannot see it. All settings are preserved — toggle it back on whenever you need it.
Yellow The slot is enabled but something is preventing it from working. Common causes: no physical devices are assigned to the slot, the required driver is not installed, or the PadForge engine is stopped.

Disabling a slot is useful when you want to temporarily remove a virtual controller without losing its configuration. For example, if a game gets confused by extra controllers, you can disable the slots you do not need instead of deleting them.


Deleting Slots

Click the X button in the upper-right corner of a slot card on the Dashboard, or the X button next to the slot name in the sidebar, to delete that virtual controller.

When you delete a slot:

  • The virtual controller is removed from the system. Games will no longer see it.
  • All settings for that slot (mappings, dead zones, macros, etc.) are permanently removed.
  • Any physical devices that were assigned to that slot are automatically unassigned from it. If a device was also assigned to other slots, those other assignments are not affected.
  • The remaining slots shift down to fill the gap. For example, if you delete Controller 2 out of four controllers, the former Controller 3 becomes Controller 2, and the former Controller 4 becomes Controller 3. Games will see the updated numbering.

Tip: If you want to temporarily hide a controller from games without losing its settings, use the power button to disable the slot instead of deleting it.


Reordering Slots

You can change the order of your controller slots by dragging and dropping them, either on the Dashboard or in the sidebar.

How to Reorder

  1. Click and hold a controller card on the Dashboard (or a controller entry in the sidebar).
  2. Drag it to the position where you want it.
  3. Release to drop it into place.

Why Order Matters

The slot order determines the controller numbering that games see. Controller 1 is always whichever slot is first in the list, Controller 2 is the second, and so on.

This matters because:

  • Many games assign player numbers based on controller order. If a game expects "Player 1" to be "Controller 1," you can drag your preferred slot to the first position.
  • Some emulators bind specific controller slots to specific player ports.

Automatic Type Grouping

When you create a new slot, PadForge automatically groups slots by type: all Xbox 360 slots first, then DualShock 4, then DirectInput, then Keyboard+Mouse, then MIDI. This grouping ensures that the XInput slot numbering stays predictable (since XInput only sees Xbox 360 controllers, having them grouped at the top avoids confusion about which Xbox slot is "Controller 1" in XInput-based games).

You can still drag slots to reorder within a group or override the grouping by manually dragging slots to different positions.


Navigating to a Slot

Click a controller card on the Dashboard or click the controller entry in the sidebar to open that slot's configuration page. From there, you can configure:


Multi-Slot Device Assignment

A single physical controller can feed input into multiple slots at the same time. This is called multi-slot assignment.

Why Use Multi-Slot Assignment?

  • Split output: Use one physical controller to simultaneously drive an Xbox 360 slot (for the game) and a MIDI slot (for background music control).
  • Mirrored output: Feed the same controller into two Xbox 360 slots so that two in-game characters move identically (useful for testing or specific game setups).
  • Sim rigs: Route a single HOTAS to multiple DirectInput slots with different axis configurations for different in-game systems.

How to Assign

There are two ways to assign a physical device to slots:

  1. Devices page — Slot toggle buttons: Go to the Devices page. Each device card shows a row of numbered toggle buttons, one for each created slot. Click a number to assign or unassign the device from that slot. A highlighted number means the device is currently assigned to that slot.

  2. Sidebar — Drag and drop: Drag a device card from the Devices page and drop it onto a controller entry in the sidebar to assign it to that slot.

Each slot-device pairing has its own independent set of mappings, dead zones, and other settings. So if you assign the same controller to slot 1 and slot 3, you can configure completely different button mappings for each.

Clone this wiki locally