-
Notifications
You must be signed in to change notification settings - Fork 6
Home
hifihedgehog edited this page Mar 3, 2026
·
63 revisions
Welcome to the PadForge wiki — the complete reference for users and developers.
PadForge is a modern controller mapping utility for Windows. It maps any controller, keyboard, or mouse to virtual Xbox 360, DualShock 4, or vJoy controllers that games see as real hardware.
Everything you need to get started and master PadForge.
| Page | Description |
|---|---|
| Installation | Download, requirements, and first launch |
| Dashboard | The main overview screen |
| Controller Slots | Adding and configuring virtual controllers |
| 3D and 2D Visualization | Interactive controller model and schematic |
| Button and Axis Mappings | Mapping physical inputs to virtual outputs |
| Stick Dead Zones | Thumbstick dead zone, anti-dead zone, and response curves |
| Trigger Dead Zones | Trigger dead zone and range configuration |
| Force Feedback | Rumble passthrough, haptic fallback, and vJoy FFB |
| Macros | Button combo triggers, action sequences, and custom vJoy buttons |
| Profiles | Per-application automatic profile switching |
| Devices | Physical device list and raw input state viewer |
| DSU Motion Server | Gyro and accelerometer broadcasting for emulators |
| Settings | Appearance, input engine, and window options |
| Driver Management | Installing and uninstalling ViGEmBus, HidHide, and vJoy |
| Troubleshooting | Common problems and solutions |
Deep technical documentation for contributors and developers who want to understand or fork PadForge.
| Page | Description |
|---|---|
| Architecture Overview | Solution structure, project layout, and design philosophy |
| Input Pipeline | The 6-step polling loop from physical input to virtual output |
| SDL3 Integration | SDL3 device enumeration, gamepad API, sensors, and haptics |
| Virtual Controllers | Xbox 360, DualShock 4, and vJoy output implementations |
| vJoy Deep Dive | HID descriptors, FFB, device node management, and registry |
| Settings and Serialization | PadForge.xml format, PadSetting, UserDevice, UserSetting |
| Services Layer | InputService, SettingsService, DeviceService, RecorderService |
| ViewModels | MVVM data binding, observable properties, and commands |
| XAML Views | WPF pages, controls, templates, and converters |
| 3D Model System | HelixToolkit integration, OBJ loading, and animation |
| 2D Overlay System | Controller schematic rendering and overlay positioning |
| DSU Protocol Implementation | Cemuhook UDP protocol, packet formats, and axis mapping |
| Driver Installation Internals | ViGEmBus, HidHide, and vJoy install/uninstall flow |
| Engine Library | PadForge.Engine data types, SDL3 interop, and device wrappers |
| Build and Publish | Building, publishing, and release workflow |
Built with SDL3, ViGEmBus, vJoy, HelixToolkit, .NET 8 WPF, and Fluent Design.