Make any input look like any controller.

PadForge sits between your controller and the game and shows the game whatever shape it wants to see. Free. Open source. No paywall.

Three steps from download to playing

1

Download and run

Single EXE, no installer. PadForge runs elevated, so Windows shows the UAC prompt every launch. First launch installs HIDMaestro (the driver that creates virtual controllers) inside that same elevated session.

2

Add a virtual controller

Click Add Controller on the Dashboard. Pick Xbox, PlayStation, Extended (flight stick / wheel / HOTAS), MIDI, or Keyboard + Mouse. Up to 16 at once.

3

Assign your real controller

Open the Devices page, click the slot badge on your physical pad. Most controllers auto-map on assign. For the rest, press Map All. Done.

What PadForge does for you

Phone as a controller

Open a browser. Press buttons.

PadForge runs a tiny web server. Any device with a browser on your Wi-Fi can load it, pick a layout (Xbox 360, DualShock 4, or multi-touch touchpad), and play. Up to 16 phones connect at once, each a separate virtual pad. Touch buttons, dual analog sticks, an 8-way D-pad. Real rumble feedback through the Vibration API. No app to install on the phone.

Web controller showing analog sticks, D-pad, triggers, and ABXY buttons
Any controller, any game

That game that won't read your wheel? It will now.

PadForge translates a PS5 DualSense into the Xbox pad a Steam game expects. A Logitech G29 wheel into the gamepad a racing game accepts. A Saitek HOTAS into the gamepad a flight game stubbornly insists on. The game never knows the difference.

Mapping table with Source, Value, and Options columns
Native wheel force feedback

Your wheel fights back.

Plug a Logitech, Fanatec, or Thrustmaster wheel into a slot and PadForge drives its force feedback in the wheel's own native protocol: constant force plus spring, damper, and friction straight from the game. A dedicated Wheel tab sets rotation range in degrees, auto-center strength, and the RPM shift LEDs. A racing game that only knows how to talk to an Xbox pad now loads your wheel up with real road feel.

Wheel tab with rotation range, auto-center, and RPM shift LED controls
Share controllers across your PCs

The controller is on the other PC. The game doesn't care.

Remote Link shares devices across the PadForge PCs on your network. A controller, wheel, or HOTAS plugged into one PC drives a game on another, both directions at once, and the feedback comes home: rumble, force feedback, adaptive triggers, lightbar, player LEDs, and the controller speaker all play on the physical device wherever it lives. Connect as many PCs as you like, and one shared controller can drive games on several at once. Pair each pair of PCs once with a six-digit code. Trusted PCs reconnect on their own. A gamepad-only switch keeps a paired PC away from your keyboard, mouse, and macros.

Remote Link section on the Dashboard with paired and nearby PCs
Audio through the controller speaker

Sound from the speaker in your hands.

The DualSense and DualShock 4 have a speaker built into the pad, and PadForge can drive it. Mirror a Windows audio output to the pad, or send a slot's macro sounds straight to it. The DualSense plays over USB or Bluetooth. The DualShock 4 plays over Bluetooth. Each speaker-capable pad gets its own per-slot Audio tab, with a source picker and a master volume. Controllers with haptic actuators instead of a speaker, like a Joy-Con, Switch Pro, the Steam Controller, or the Steam Deck, play the same macro sounds as a vibrating tone, so beeps and cues come through the grip. A Wii Remote plays them through its own speaker.

Audio tab with mirror source picker and master volume
A MIDI keyboard as a controller

MIDI in, gamepad out.

PadForge reads MIDI input devices as mapping sources. Notes, Control Change knobs, pitch bend, and encoder dials from a MIDI keyboard or pad controller bind like any button or axis, so a piano key can press A and a mod wheel can pull a trigger. It rides the same Windows MIDI Services stack the MIDI virtual controller uses. No bridge software.

A MIDI device on the Devices page with the live note and CC preview
Multi-source mapping

Pedals, wheel, and HOTAS throttle. One virtual stick.

One mapping row can read from any number of physical inputs across any number of physical devices. Six combine modes plus a drag-and-drop custom formula editor. Cross-device chords so a button on the wheel and a button on the shifter trigger one virtual press. A per-row Primary Mode picks how that source behaves: Direct, Incremental, Invert On Hold, or Ramp. Ramp turns an Up key and a Down key into a smooth stick axis, with its own attack, release, and autocenter timing.

Multi-source mapping row with combine mode and formula editor
Shift layers

Caps Lock for your controller.

Each slot can carry extra mapping tables that turn on while a button, chord, or axis is held. Six activation modes: Hold, Toggle, Latch, Cycle, Sticky, and No Button. Cycle walks a queue of layers you choose. The activator steps Next, and a second Previous button steps backward from another device if you like. Wrap Around loops past the last layer, and Include Base keeps Base in the rotation or leaves it as the resting state. A No Button layer has no activator of its own and shows up only inside a Cycle queue. Per-layer color and emoji icon. A Win11-style flyout pops to confirm the active layer the moment it engages.

Shift layer tab strip above the mapping grid
Gyro at Steam Input parity

Aim with the controller, not the stick.

Reference frames (Local, Player, World). Dual-threshold smoothing. Real-world calibration. A cross-device Aim Engage button that lets you hold a paddle on the wheel to wake the gyro on your handheld. A stick gate wakes the gyro from any stick and any direction, read before the stick's own deadzone. Tuning saves per pad per slot, so the same pad on two slots can feel two different ways. Or aim with the desktop mouse: two Mouse Position sources read the cursor and drive a virtual stick from it, each with a Sensitivity dial of its own.

Gyro tab with Motion Passthrough, Calibration, Sensitivity, Response Shaping, and Engage cards
Trigger motors that feel the game

Forza, Gears, and Halo on your real Xbox pad.

PadForge passes Xbox impulse trigger data straight to the assigned physical Xbox One, Elite, or Series pad. The same data routes to DualSense as Adaptive Trigger Vibration so a DualSense playing Forza buzzes the triggers in step with an Xbox One pad doing the same. Plus audio-bass-driven trigger rumble and a constant trigger force that resumes when the game stops. A Trigger Routing card on the Force Feedback tab feeds the main rumble motor into the trigger motors, one trigger at a time, with per-trigger source, scale, and activator settings that reach both Xbox impulse triggers and DualSense Adaptive Trigger Vibration.

Impulse Triggers tab with per-trigger gain, Constant Trigger Force, and Audio Bass Trigger Rumble
DualSense effects in any game

Adaptive triggers and lightbar that don't need the game's blessing.

Seven adaptive trigger modes with a live preview that draws the resistance curve as you drag. Fifteen lightbar modes, six of them tied to your system audio (three Audio Pulse variants, three Audio Bands variants). The DualSense lights and triggers light up in games that have never heard of a DualSense.

Adaptive Triggers tab with mode dropdown and per-trigger sliders
Touchpad as more than a touchpad

Turn the DualSense pad into a mouse, a stick, or a D-pad.

A new Touchpad tab on every slot whose source carries a touchpad surface. Map a finger to mouse X/Y with per-axis sensitivity and invert. Anchor a virtual analog stick where your finger lands. Drop a wedge-thresholded D-pad on top. Plus the gesture stack: 4-way and 8-way swipes, taps, longpress, pinch, rotate, two- to five-finger gestures, and shape templates that match a finger trace against Square, Triangle, Z, Checkmark, and Circle in either direction (clockwise and counter-clockwise bind separately). Every toggle saves per slot. The same pad on two slots can fire two completely different gesture sets.

Touchpad tab with Stick / D-Pad Output, Mouse Output, Gesture Detection, In-Box Gestures, and Custom Gestures cards
DualShock 3, paired in-app

The PS3 pad on PC, without the driver hunt.

A DualShock 3 works two ways. Plug it in over USB and PadForge binds it through WinUSB on its own. Or pair it over Bluetooth from the Devices page, which installs the signed BthPS3 driver only when you pair one. Either way you get the sixaxis motion, ten pressure-sensitive face buttons, rumble, the player LED, and the battery reading. No DsHidMini, no ScpToolkit. Remove the controller and PadForge cleans up the pairing after it.

Pair a Controller dialog set to DualShock 3 with USB and Bluetooth options
Wii pointer modes

Point the Wii Remote like a light gun, or a mouse.

The Pointer tab reads the Wii Remote's IR camera, and now it reads it several ways. FPS Mouse drives the desktop mouse for shooters. The border modes keep the aimed area square, corrected for your screen's aspect ratio, so a wide monitor doesn't stretch the aim. When the camera loses the sensor bar, IR-offscreen freeze holds the last position instead of snapping to a corner. Cycle the modes live, or drop a Set Pointer Mode step into a macro to jump straight to one.

Pointer tab with FPS Mouse and border pointer modes for the Wii Remote IR camera
Mouse gestures

Hold a mouse button. Flick. Fire.

Hold any button on the mouse and flick the cursor. Up, down, left, right, or a plain click while held, five gestures off one button. Each fires its own action, so a single side button turns into five bindings. Send a flick to a shift layer, a macro, or a virtual button.

Mouse gesture configuration with flick directions bound to actions
Stick-assisted triggers

A digital trigger that pulls like an analog one.

Some pads only give you a digital trigger, on or off. Stick Trim changes that. Set a trigger's combine mode to Stick Trim and a stick axis ramps the pull while you hold the button, so a bumper press plus a nudge of the stick reads as a partial squeeze in the game. Each mapping sets its own deadzone, ramp rate, and whether the pull resets the moment you let go.

Stick Trim combine mode on a trigger mapping row
SOCD cleaning

Left and right at once, resolved your way.

Press left and right together and something has to give. The Keyboard + Mouse controller cleans those opposing pairs across every key you map. Last-wins takes the newest press, the Snap Tap behavior. First-wins keeps the key you were already holding. Neutral cancels both to center. Pick one and it applies to every mapped pair at once.

SOCD cleaning modes on the Keyboard + Mouse controller
Guide LED brightness

Dim the glowing button, or let it follow the battery.

Set how bright the Guide button glows on an Xbox One, Elite, or Series pad over USB, and the home LED on the 2015 Steam Controller. Hold it at a fixed level, or let it track the battery so a full charge shines and a low one dims. A macro action changes it on demand. It rides the same Xbox GIP lane the pad already uses, so there is nothing extra to install.

Guide button LED brightness control with fixed and battery-following options
Up to 16 controllers

Local co-op without limits.

Run two sim racers on two wheels at once. A flight stick plus throttle plus rudder pedals as one virtual HOTAS. Mixed gamepad types in one session. One combo press toggles every virtual controller on or off when you need to step away.

Dashboard with multiple virtual controllers active at once
Motion to emulators

Gyro into Cemu, Dolphin, Yuzu, and Ryujinx.

The built-in DSU / Cemuhook server broadcasts gyroscope and accelerometer on UDP port 26760 so emulators can use real motion for Splatoon, Wii titles, 3DS games, and anything else that asks for it. DualSense, DualShock 4, Switch Pro, and 2026 Steam Controller sources work out of the box.

Dashboard Motion Server section with port and enable toggle
MIDI from a gamepad

A 16-channel MIDI controller, no extra hardware.

Map sticks to Control Change messages. Map buttons to Note On / Note Off. Set velocity per slot. PadForge creates a real Windows MIDI endpoint through Windows MIDI Services that DAWs (Ableton Live, FL Studio, Reaper), VJ tools, and stage lighting apps can subscribe to. No loopMIDI bridge.

MIDI virtual controller with CC count, Note count, channel, and velocity
Wii controllers, paired in-app

Pair a Wii Remote without leaving PadForge.

Windows' own Bluetooth prompt asks for a PIN you type, but a Wii controller's PIN is six raw bytes set by the sync button you press, not text. So PadForge runs the pairing itself: click Pair on the Devices page, press the red SYNC button under the battery cover, and the controller bonds and reconnects on any button press after that. A bare Wii Remote, a Remote plus Nunchuk, a Classic Controller, and a Wii U Pro Controller all map as normal pads, with the accelerometer and Wii Motion Plus gyro feeding the same motion pipeline as a DualSense. A new Pointer tab turns the Wii Remote's IR camera into an on-screen pointer you can map to a stick or the mouse, and a Balance Board reports weight and lean as mapping sources.

Pair a Controller dialog with Wii sync instructions and found-controllers list
NFC tag triggers

Tap a tag. Fire a macro.

Plug in an NFC reader, any PC/SC contactless reader like an ACR122U, and a tag tap runs a macro. Register a tag from the Devices page: hold it on the reader, give it a name, and it is saved for good. Each tag becomes its own trigger, next to an Any NFC Tag trigger that any tag fires. Map an amiibo, a sticker, or a card to a button combo, a profile switch, or a whole action sequence.

NFC reader selected on the Devices page, with the Register / Manage NFC Tags button and Any NFC Tag trigger
Joy-Con 2 optical mouse

The Joy-Con 2 is a mouse. So use it like one.

A Nintendo Switch 2 Joy-Con has an optical sensor on its face. Set it on a desk and slide it. Two new sources, Mouse Motion X and Mouse Motion Y, drive a stick for mouse-look, a button, or the scroll wheel, each with its own Sensitivity dial. The right Joy-Con's IR camera also reports a brightness value you can map, so covering the sensor works like a button.

Mouse Motion source in the mapping grid
Media keys as inputs

Your keyboard's media keys, mapped.

The media row on a keyboard, a media remote, a headset's transport buttons: PadForge reads them as their own device with named button chips. Map Play/Pause, Mute, Volume, or Next and Previous Track to a virtual button or a macro trigger, same as any other input.

Consumer Control device selected on the Devices page, showing named media-key chips like Play/Pause, Mute, and Volume
Battery and idle disconnect

See the charge. Sleep it when idle.

Every wireless pad that reports a battery shows its charge on the Devices page, with a charging glyph while it tops up. Set an Idle Disconnect timer and a Bluetooth controller drops its link after a few quiet minutes, so it sleeps instead of draining on the coffee table. A Disconnect Controller macro turns one off on command, from a chord or a button.

DualSense selected on the Devices page with the Power section and its Idle Disconnect timer

How PadForge stacks up

Feature comparison against the other Windows controller mappers. Each cell is verified against the tool's own docs, source, or release notes: x360ce v4.17.15.0 (last public release Nov 2020); XOutput 3.32 (deprecated and archived Dec 2024); reWASD 9.4.0 (May 2026); ds4windowsapp/DS4Windows v3.5 (Feb 2026); Steam Input (rolling Steam client updates). Cells marked ⚠️ mean the feature exists but is limited or unverified at the level of detail PadForge implements it.

PadForge x360ce XOutput reWASD DS4Windows Steam Input
Free$9.99+
Open source✅ archived
Works outside Steamonly via Add Non-Steam Game
Actively developed✅ 2026no release since Nov 2020archived Dec 2024✅ v9.4.0 (2026)✅ v3.5 (Feb 2026)
Xbox 360 virtual output
Xbox One / Series virtual output✅ Xbox One
DualShock 4 virtual output
DualSense virtual output❌ input only
Switch Pro virtual output✅ via HIDMaestro
Flight stick / wheel / HOTAS virtual output (DirectInput)✅ 225+ HM profiles
MIDI virtual output
MIDI input as a mapping source✅ notes / CC / pitch bend / encoders
Keyboard + Mouse virtual output
Multi-source per row (one output, many inputs)✅ 6 combine modes + formula⚠️ "Combine Into" merges pads⚠️ MapperDataCollection (basic)❌ uses per-input Activators⚠️ per-input Activators
Custom formula editor (arithmetic, logic, if-then-else)✅ drag-and-drop operators + 10 starter recipes
Shift layers / modifier overlays✅ Hold / Toggle / Latch / Cycle / Sticky / No Button✅ up to 10 (Hold / Toggle / Custom)✅ Mode Shifts✅ Action Set Layers (stackable)
Cross-device chords (input on pad A + input on pad B)✅ via Group of devices❌ same controller only
Gyro mapping✅ Local / Player / World, RWC, Aim Engage✅ since v5.3 (curves, Flick Stick)✅ gyro-to-mouse, gyro-to-RS
Mouse cursor position as a mapping source✅ Mouse Position X / Y, per-row Sensitivity
SOCD cleaning (Snap Tap, last-wins / first-wins / neutral)✅ across all mapped keys❌ (Valve bans it in CS2)
Mouse gestures (flick from a held button)✅ up / down / left / right / click
Xbox Impulse Trigger passthrough✅ + DualSense AT Vibration auto-route✅ Xbox One output only
Stick-assisted analog triggers (digital hold ramped by a stick)✅ Stick Trim, per-mapping deadzone / rate⚠️ 3-zone actuation, graded curve unverified⚠️ unverified
Constant trigger force
Audio-bass trigger rumble
Audio-bass body rumble
DualSense Adaptive Triggers✅ 7 modes + GameCube preset✅ 11 presets⚠️ limited
DualSense lightbar✅ 15 modes inc. Strobe + Battery✅ 6 modes + Player LED + Mic LED⚠️ basic, no audio⚠️ unverified
Guide / home LED brightness✅ Xbox One / Elite / Series + 2015 Steam Controller⚠️ unverified
Controller speaker audio (DualSense / DualShock 4)✅ mirror Windows audio + macro sounds, USB / BT
Touchpad: joystick / D-pad / mouse + gesture engine✅ joystick (anchor-relative), wedge D-pad, per-axis mouse (sensitivity + invert), in-box gestures (4-way / 8-way swipes, taps, longpress, pinch, rotate, two- to five-finger), shape templates (Circle in either direction, Square, Triangle, Z, Checkmark), custom recorded shapes⚠️ touchpad-as-mouse / -as-stick + click, no gesture engine⚠️ touchpad-as-mouse + four-direction Touchpad Swipe bindings⚠️ joystick / D-pad / mouse / touch menu, no multi-finger or shape recognition
HID PID 1.0 force feedback (wheels)✅ constant + periodic (DirectInput)⚠️ basic passthrough only
Native wheel FFB protocol (Logitech / Fanatec / Thrustmaster)✅ + rotation range, auto-center, RPM LEDs
DSU / Cemuhook motion server (Cemu, Dolphin, Yuzu, Ryujinx)✅ port 26760
Phone as controller✅ in-browser, no app install, up to 16 phones at once, touchpad layout included⚠️ reWASD Mobile app (one phone, no touchpad layout)
Share a controller with another PC's games over a network✅ Remote Link, both directions, feedback returns
Per-app profile switching✅ since v4.17.12 (Nov 2020)✅ Autodetect✅ per-game by design
Max simultaneous virtual controllers164 (hard-coded PAD1-4 in UI)4 (UI matches XInput slot indices)4 (Slot UI cap)4 (Output Slots UI cap)1 per physical pad
1000 Hz polling⚠️ unverified⚠️ unverified✅ user-selectable 500 / 1000 Hz✅ on USB DS4⚠️ unverified
3D + 2D controller visualization⚠️ 2D Xbox 360 only⚠️ 2D only⚠️ basic⚠️ configurator preview
Multi-point sensitivity curve editor✅ unlimited points⚠️ single slider⚠️ deadzone only✅ custom 4-point⚠️ preset curves✅ response curves
2026 Steam Controller support✅ via SDL3 fork⚠️ unverified
DualShock 3 as a source✅ USB + in-app BT pairing, no DsHidMini⚠️ unverified⚠️ unverified✅ + gyro (9.3.0)✅ native (no gyro)
Wii Remote / Nunchuk / Classic / Wii U Pro as a source✅ all four forms, in-app pairing, IR pointer✅ in-app pairing (v9.4+), no IR pointer

Technical details

Short punch list. Each card is one feature, end to end.

Remote Link

Share a controller, wheel, or HOTAS with the other PCs on your network. Both directions at once. Rumble, force feedback, adaptive triggers, lightbar, player LEDs, and speaker audio return to the real hardware. Pair once with a six-digit code. Works on your home network, or across the internet through a VPN like ZeroTier.

Steam Workshop config import

Browse the community controller configs on the Steam Workshop and translate the one you pick into a PadForge profile: buttons, sticks, triggers, keyboard and mouse bindings, shift layers, and macros. Anonymous Steam connection, no account. An import report shows what came across clean and what was approximated. Off until you enable it in Settings.

Native wheel force feedback

Logitech, Fanatec, and Thrustmaster wheels driven in their own native protocols: constant force plus spring, damper, and friction. A Wheel tab for rotation range, auto-center, and RPM shift LEDs.

Controller speaker audio

Play sound through the DualSense or DualShock 4 speaker. Mirror a Windows output or route a slot's macro sounds to the pad. DualSense over USB or Bluetooth, DualShock 4 over Bluetooth. Pads with haptic actuators but no speaker (Joy-Con, Switch Pro, Steam Controller, Steam Deck) play the sound as a haptic tone, and a Wii Remote through its own speaker.

MIDI input

Use a MIDI keyboard or pad controller as a mapping source. Notes, CC, pitch bend, and encoders bind like buttons and axes. Same Windows MIDI Services stack as the MIDI virtual output.

Multi-source mappings

One row, any number of inputs, any number of devices. Six combine modes plus a drag-and-drop formula editor. Cross-device chords for free.

Shift layers

Caps Lock for your controller. Hold, Toggle, Latch, Cycle, Sticky, or No Button. Cycle steps a queue of layers with Next and Previous buttons. Per-layer color and emoji. Cross-device activators.

Phone-as-controller

Browser-based gamepad over Wi-Fi. Xbox 360, DualShock 4, or multi-touch touchpad layout. Up to 16 phones on one PC at once. Vibration API rumble back to each phone. No app install.

On-screen touchpad overlay

Pin a transparent touchpad window to any monitor and use it as a touchpad input for the assigned DS4 or DualSense slot. Adjustable opacity, size, and position. No phone required.

Touchpad outputs

Map any touchpad (DualSense, DS4, laptop trackpad, phone web touchpad, overlay) to mouse X/Y with per-axis sensitivity and invert, to a virtual analog stick anchored where your finger lands, or to a wedge-thresholded D-pad. Plus the gesture stack: swipes, taps, longpress, pinch, rotate, custom shape templates. Every toggle is per slot.

Gyro at Steam Input parity

Local, Player, and World reference frames. Real-world calibration. Cross-device Aim Engage. Tuning saves per pad per slot.

Mouse as a source

Two Mouse Position sources read where the desktop cursor sits and push a stick, trigger, or button toward it. A per-row Sensitivity dial (0.1 to 5.0) sets the cursor travel for full deflection. Separate from the Mouse Speed sources that read movement. Primary monitor only.

3D and 2D visualization

Native art per profile. Xbox 360, Xbox One / Elite / Adaptive, Xbox Series, DualShock 4, DualSense. Click any button in 3D to record its mapping.

Six deadzone shapes

Scaled Radial, Radial, Axial, Hybrid, Sloped Scaled Axial, Sloped Axial. Per-axis anti-deadzone. Custom sensitivity curves with unlimited draggable points.

Force feedback both ways

Full rumble passthrough. HID PID 1.0 for wheels and joysticks. Audio bass rumble synthesized from system audio. Constant force vector.

Adaptive triggers and lightbar

Seven DualSense trigger modes plus a one-click GameCube preset. Fifteen lightbar modes including audio-pulse, audio-band, Strobe, and Battery.

Impulse triggers

Xbox impulse trigger passthrough on the assigned physical pad. Same data routes to DualSense as Adaptive Trigger Vibration. Audio-bass trigger rumble.

Macros with action sequences

Combo triggers and Custom Expression formulas. Key presses, mouse, scroll, volume, lightbar, rumble. Five fire modes. Cursor actions to recenter the mouse, pin it at a point, or fence it inside a rectangle. Duplicate a macro in place, copy and paste between virtual controllers, or pull every macro from another in one step.

Per-app profiles

Watches the foreground window. Switches when a matching app takes focus. Win11-style flyout confirms.

DSU motion server

Gyro and accel on UDP 26760. Cemu, Dolphin, Yuzu, Ryujinx all read it. Plug-and-play for any emulator that speaks Cemuhook.

MIDI virtual output

Channel 1-16. CC for axes, Note On/Off for buttons. Real Windows MIDI Services endpoint. No loopMIDI bridge.

1000 Hz polling

Sub-millisecond jitter via high-resolution waitable timers. Bit-perfect axis passthrough at defaults. Built on SDL3.

Hide physical controllers

HidHide driver-level cloak. Per-device toggles auto-enable for gamepads. Cloak persists across launches.

Wii controllers

In-app Bluetooth pairing. A Wii controller's PIN is raw bytes set by the sync button, not text you can type into the Windows prompt. Press SYNC to bond once and reconnect on any button, or hold 1 and 2 for a temporary pairing you redo each session. Wii Remote, Remote plus Nunchuk, Classic Controller, and Wii U Pro Controller map as pads. Accelerometer and Wii Motion Plus gyro feed the motion pipeline. Attach or detach a Nunchuk live and it re-identifies. The IR camera drives an on-screen pointer, and a Balance Board reports weight and lean.

NFC tag triggers

Read NFC tags through a PC/SC contactless reader and fire a macro on a tap. Register and name each tag from the Devices page. Every tag is its own trigger, next to an Any NFC Tag trigger. Media keys map too: a keyboard's media row appears as its own device with named button chips, and wireless pads show a battery charge indicator with an optional idle-disconnect timer.

Screenshots

Download

Free. Open source. No installer. Single EXE. Windows 10 or 11, 64-bit.

PadForge installs HIDMaestro on first run. HIDMaestro is the driver that creates virtual controllers. When you add a slot, HIDMaestro spins up a real HID device matching the controller shape you picked. The device disappears when you delete the slot.

Two more drivers are optional. PadForge offers to install each only when you need its feature:

  • HidHide. Hides your physical controller so games only see the virtual one. Install it when a game sees both at once.
  • Windows MIDI Services. Required for MIDI input and the MIDI virtual controller type. Needs Windows 11 24H2 or later.

Free means free. PadForge will never become paid, freemium, or Patreon early-access paywalled.

Questions people ask

Will PadForge get my account banned in online games?

PadForge is a user-mode app running outside the game process. Games see PadForge's virtual controller as a real HID device, the same way they see any commercial gamepad. Nothing is injected into the game, no game memory is read or written, no anti-cheat hook is touched.

Anti-cheat policies still vary per game. The same caveat that applies to any third-party input remapper (Steam Input, reWASD, x360ce, controller-companion software) applies to PadForge. Check the game's specific anti-cheat policy if you play competitively.

Is PadForge actually free, or is the free version crippled?

PadForge is fully free. No tiered version, no feature paywall, no time-limited trial. The entire feature set ships in one EXE.

It's licensed CC BY-NC-SA 4.0. Source is on GitHub. Anyone can build it from source. The only thing PadForge asks for is that you donate to a charity if you feel like donating.

Which controllers work as a source device?

Anything Windows recognises as a HID input device. Xbox 360, Xbox One, Xbox Elite, Xbox Series, DualShock 3 (USB or in-app Bluetooth pairing), DualShock 4, DualSense, DualSense Edge, Switch Pro, 2026 Steam Controller, the Wii Remote and its Nunchuk, Classic Controller, and Wii U Pro Controller (paired in-app), any DirectInput joystick / flight stick / racing wheel / HOTAS / pedals, keyboards, mice, and even Windows Precision Touchpads.

For unrecognised gamepads, the Devices page has a one-click "Submit Mapping" button that opens a pre-filled GitHub issue with the device's VID:PID and SDL GUID. Once merged, the mapping ships to everyone on the next release.

How do I pair a Wii controller?

Open the Devices page and click Pair, next to Refresh. Pick Nintendo Wii in the dialog, then press the red SYNC button under the battery cover. PadForge finds the controller and bonds it, so it reconnects on its own the next time you press a button. To pair for one session without bonding, tick Temporary Pairing and hold 1 and 2 instead.

PadForge runs this itself because a Wii controller's pairing PIN is six raw bytes that depend on which sync button you press, not text you can type into the Windows prompt. You need a Bluetooth radio. The Bluetooth stack writes the link key, so nothing touches the registry.

Does PadForge run when PadForge isn't running?

HIDMaestro (the virtual-controller driver) stays loaded by Windows even when PadForge is closed, so already-created virtual controllers keep their device identity across launches. But the input pipeline — reading your physical pad and forwarding it — only runs while PadForge is open. Close PadForge and the virtual controllers stop receiving input.

Enable Start at login, Start minimized, and Minimize to system tray in Settings to make PadForge a persistent background service. Combined, those three give a fully silent setup that wakes when you sign in.

The game still sees my physical controller alongside the virtual one. What now?

Install HidHide from Settings → Drivers. It's a driver-level cloak that hides the physical device from every non-whitelisted process while leaving PadForge able to read it. The per-device toggle on the Devices page enables it for that controller.

HidHide is optional because not everyone needs it. Some games handle duplicate controllers fine. Some apps you want to keep seeing the physical pad (streaming overlays, controller-test tools). Install when you need the cloak.

Do I need an internet connection?

No. PadForge is local-only. It does not phone home, does not sync to a cloud, does not require an account, and never talks to a license server. Your settings live in PadForge.xml next to the EXE. Back that file up to keep your profiles.

Can I use a phone or tablet as a controller?

Yes. Enable the Web Controller on the Dashboard, open the URL it shows from any browser on the same Wi-Fi network (no app to install), pick an Xbox 360 layout, a DualShock 4 layout, or a Touchpad-only layout, and start playing. The browser sends input, PadForge feeds it into the slot you assign it to, and rumble feeds back to the phone through the browser's Vibration API where supported.

What does PadForge need to run?

Windows 10 or 11, 64-bit. The .NET 10 Desktop Runtime is bundled in the single-file release so there is nothing else to install. HIDMaestro auto-installs on first launch. HidHide and Windows MIDI Services are optional and install from Settings when you need them.

For best results: a recent Windows 11 build (24H2 or newer). MIDI input and the MIDI virtual controller type need Windows MIDI Services, which is Windows 11 24H2 (build 26100) and later.

I have a controller PadForge doesn't recognise. Can I add it?

Yes, in two ways. The fast way: turn on Force Raw Joystick Mode on the device card. PadForge stops trying to interpret it as a known gamepad layout and exposes every raw button and axis directly. Map them by hand on the Mappings tab.

The better way: click the Submit Mapping button on the device's card. Your browser opens a GitHub issue pre-filled with everything PadForge can read about the device. You fill in which raw input is which named button, and once merged the mapping ships in gamecontrollerdb_padforge.txt for every PadForge user.

Can I share a controller across several PCs?

Yes, across as many as you like. Remote Link pairs PadForge PCs on the same local network. A controller, wheel, or HOTAS plugged into one PC shows up in the others' Devices lists, ready to assign to a slot and map like any local controller. One PC can be linked to several at once, both directions, and the feedback returns to the real hardware: rumble, force feedback, adaptive triggers, lightbar, player LEDs, and the controller speaker all play on the physical device wherever it is plugged in.

Pairing is a one-time six-digit code you match on both screens. After that, trusted PCs reconnect on their own. A gamepad-only switch keeps a paired PC from reaching your keyboard, mouse, and macros. Remote Link finds PCs on your local network on its own. To play across the internet, put the PCs on one virtual network with a VPN like ZeroTier and connect by address.

How does PadForge compare to reWASD, Steam Input, or DS4Windows?

See the comparison table above. reWASD is the closest paid alternative at $9.99 and up. Where PadForge takes a different approach: DualSense virtual output, Extended virtual joysticks through 225+ HIDMaestro profiles, MIDI virtual output, a built-in phone-as-controller server, and gyro that matches Steam Input's reference-frame model (Local, Player, World) with real-world calibration and cross-device Aim Engage. DS4Windows, x360ce, and XOutput each leave one or more of those out.