Skip to content

Controller Slots

hifihedgehog edited this page Mar 21, 2026 · 32 revisions

Controller Slots

What Is a Slot?

A slot is a virtual controller that PadForge creates on your system. Games see each slot as a real, separate controller. You choose the type, assign physical devices, and configure each slot independently.

PadForge supports up to 16 slots.

Each slot has its own:


Adding a Virtual Controller

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. Pick the type you want.

The Add Controller popup

Popup Buttons

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)

Dimmed Buttons

Each type button uses the TypeSwitchButton style with a dark gray hover effect. A button appears faded (opacity 0.35) when:

  • Driver not installed — The cursor changes to a "no" icon (Cursor.No) and the tooltip names the missing driver. See Driver Management.
  • Type at capacity — The cursor changes to a "no" icon and the tooltip shows the limit.

The Add Controller card disappears when all 16 slots are in use or every type is at capacity.


Choosing a Controller Type

You pick the type when creating a slot. You can also switch an existing slot's type by clicking the type icons on its 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. Nearly every modern PC game supports Xbox controllers natively.

DualShock 4

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 PlayStation PC ports with Circle/Cross/Triangle/Square prompts, emulators needing touchpad or light bar, or streaming motion data via the DSU Motion Server.

DirectInput (vJoy)

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 customizable virtual joystick. A configuration bar on the slot's page sets exactly how many axes, buttons, and POV hats the device exposes. 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.

DirectInput (vJoy) controller configuration bar with axis and button counts

DirectInput (vJoy) schematic view showing sticks, triggers, buttons, and POV

Keyboard+Mouse

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 to Windows instead of emulating a gamepad. Map buttons to keys, sticks to mouse movement, and triggers to scroll. Useful for:

  • Older PC games without controller support
  • Accessibility setups where a gamepad is easier than a keyboard
  • Desktop or non-game navigation
  • Mixed controller + keyboard schemes

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

Keyboard and mouse controller preview

MIDI

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 with no third-party loopback software needed. Axes send CC messages; buttons send Note On/Off. A configuration bar sets channel, CC count, note count, starting CC/note numbers, and velocity.

Turn any gamepad into a MIDI controller for DAWs (Ableton Live, FL Studio, Reaper), VJ software, or lighting apps.

MIDI controller configuration

Note: MIDI slots cannot switch to other types, and vice versa. MIDI output is fundamentally different from gamepad output, so it stays isolated.


Quick Type Reference

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.


Slot Limits

Up to 16 slots total across all types. Any mix is allowed within each type's individual cap.

Per-Type Limits

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. SDL/DirectInput games see all of them.
DirectInput 16 vJoy driver limit
Keyboard+Mouse 16 Capped at overall slot count
MIDI 16 Capped at overall slot count

Most users need 1-4 slots. The 16-slot cap covers advanced setups like arcade cabinets, sim rigs, or multi-output MIDI stations.

XInput 4-Slot Visibility Limit

The Windows XInput API only exposes 4 Xbox-type controllers. This is a Windows limitation.

  • 4 or fewer Xbox 360 slots — Every game sees all of them.
  • More than 4 Xbox 360 slots — All 16 exist and work. XInput games detect only the first 4; SDL/DirectInput/raw HID games see all 16.
  • DualShock 4 slots are unaffected by XInput limits.
  • DirectInput, Keyboard+Mouse, and MIDI slots are unaffected.

Tip: For more than 4 local-multiplayer gamepads, mix Xbox 360 and DualShock 4 slots, or use DirectInput (no 4-controller limit).

DSU/Cemuhook 4-Slot Limit

The DSU Motion Server supports a maximum of 4 slots. Only the first 4 broadcast motion data. Slots 5-16 work normally for gamepad output but skip DSU. This is a protocol limitation.


Enabling and Disabling Slots

Each slot has a power button (circle icon on the left of its Dashboard card). Click to toggle on or off.

Color Meaning
Green Active and visible to games.
Red Off. Games cannot see it. Settings are preserved.
Yellow Enabled but blocked (no devices assigned, driver missing, or engine stopped).

Disabling a slot hides it from games without losing configuration.


Deleting Slots

Click the X on a slot's Dashboard card or next to its name in the sidebar.

  • The virtual controller is removed from the system.
  • All settings (mappings, dead zones, macros) are permanently deleted.
  • Physical devices are unassigned from this slot only.
  • Remaining slots shift down (e.g., deleting slot 2 of four renumbers 3 and 4 to 2 and 3).

Tip: To temporarily hide a controller without losing settings, disable the slot instead.


Reordering Slots

Drag and drop controller cards on the Dashboard or sidebar entries to change slot order.

How to Reorder

  1. Click and hold a controller card or sidebar entry.
  2. Drag to the desired position.
  3. Release.

Why Order Matters

Slot order determines controller numbering. Controller 1 is whichever slot is first. Games assign player numbers based on this order, and emulators bind slots to player ports.

Automatic Type Grouping

New slots group by type: Xbox 360 first, then DualShock 4, DirectInput, Keyboard+Mouse, and MIDI. This keeps XInput numbering predictable.

You can override grouping by dragging slots manually.


Navigating to a Slot

Click a controller card on the Dashboard or its sidebar entry to open the slot's configuration page:


Multi-Slot Device Assignment

A single physical controller can feed input into multiple slots at once.

Use Cases

  • Split output — One controller drives an Xbox 360 slot (for the game) and a MIDI slot (for music) simultaneously.
  • Mirrored output — Same controller into two Xbox 360 slots so two in-game characters move identically.
  • Sim rigs — Route one HOTAS to multiple DirectInput slots with different axis configurations.

How to Assign

  1. Devices page — Each device card shows numbered slot toggles. Click a number to assign or unassign.
  2. Sidebar — Drag a device onto a sidebar controller entry.

Each slot-device pairing has independent mappings, dead zones, and settings. The same controller in slot 1 and slot 3 can have completely different configurations.


Related Pages

Clone this wiki locally