-
Notifications
You must be signed in to change notification settings - Fork 6
3D and 2D Visualization
The Controller tab shows a real-time visualization of every button press, stick movement, trigger pull, key press, and MIDI note. PadForge picks the view automatically based on virtual controller type.


| Controller Type | Condition | View | 2D/3D Toggle |
|---|---|---|---|
| Xbox 360 | Default | 3D model | Yes |
| Xbox 360 | "Use 2D View" enabled | 2D overlay | Yes |
| DualShock 4 | Default | 3D model | Yes |
| DualShock 4 | "Use 2D View" enabled | 2D overlay | Yes |
| DirectInput | Xbox 360 or DualShock 4 preset | 3D or 2D (matches preset) | Yes |
| DirectInput | Custom preset | Procedural schematic | . |
| Keyboard+Mouse | Always | Keyboard + mouse layout | . |
| MIDI | Always | Piano keyboard + CC sliders | . |
When a view has no toggle, the button is hidden automatically.
A detailed 3D model rendered with HelixToolkit.WPF. Xbox 360 slots show the Xbox model; DualShock 4 slots show the DualShock 4 model; DirectInput slots with a gamepad preset show the matching model.
| Action | Mouse | Touch |
|---|---|---|
| Rotate | Left-click + drag | Single-finger drag |
| Zoom | Scroll wheel | Two-finger pinch |
| Pan | Right-click + drag | Two-finger drag |
| Reset View | Button (top-right) | Button (top-right) |
Rotation is turntable-style: horizontal drag controls yaw, vertical drag controls pitch (clamped to +/-60 degrees). Sensitivity is 0.5 degrees per pixel.
Default camera: FOV 55 degrees, position (0, -172, 132), look direction (0, 0.793, -0.609). Reset View restores these exact values, matching the startup angle.
Tip: Zoom in before using click-to-map so you can target small buttons accurately. Right-click drag to re-center after zooming. Click Reset View to snap back to the default angle.
| Element | Behavior |
|---|---|
| Buttons | Swap to accent color when pressed. Multi-mesh buttons highlight together. |
| Thumbsticks | Tilt proportionally to deflection. Ring blends toward accent color based on distance from center. |
| Triggers | Rotate downward proportionally to pull depth. Material blends toward accent color (0--1). |
| D-Pad | Active direction swaps to accent color. |
Click any button, trigger, D-Pad direction, or stick ring to start recording a mapping. Press or move an input on your physical controller and PadForge assigns it. This is a quick alternative to the Button and Axis Mappings grid.
Stick ring quadrant detection. Click position determines the axis:
| Click Position | Maps To |
|---|---|
| Center | Stick button (L3/R3) |
| Right / Left | X axis positive / negative |
| Top / Bottom | Y axis negative / positive |
During "Map All" (from Button and Axis Mappings), outputs flash orange in sequence at 400 ms intervals. For stick axes, a directional arrow and quadrant wedge appear on the ring. The flash holds until the mapping is recorded, then advances.
Toggle between 3D and 2D with the view-mode button in the top-right corner of the Controller tab. The 2D view uses PNG overlays on a flat controller diagram and supports the same interactions: live highlighting, click-to-map, hover previews, and Map All flash.
Your choice persists across sessions.
| Element | Behavior |
|---|---|
| Sticks | Slide to follow input (no tilt). Hovering shows a quadrant wedge indicating which axis a click would map. |
| Triggers | Fill rises from the bottom as you pull. Zero = empty; full pull = solid highlight. |
| Buttons / D-Pad | Same accent-color highlighting as the 3D view. |
Tip: The 2D view is lighter on GPU. Use it on low-end hardware or if you prefer a flat diagram.
DirectInput slots using the Custom preset show a procedurally generated schematic instead of a controller model. The layout rebuilds when you change axis, button, or POV counts.
| Element | Appearance | Max |
|---|---|---|
| Thumbsticks | Crosshair circle with position dot. Each stick uses two axes (X + Y). | 4 |
| Triggers | Vertical bar filling bottom-to-top. | 8 |
| POV hats | Compass with rotating arrow. One POV is labeled "D-Pad"; extras are numbered. | 4 |
| Buttons | Numbered circles in rows of 8, accent-filled when pressed. | 128 |
Sticks and triggers share a pool of 8 axes.
Click-to-map, Map All flash, stick quadrant detection, and POV cardinal detection all work the same as in the 3D/2D views.
Tip: DirectInput slots using an Xbox 360 or DualShock 4 preset show the standard controller model with the 2D/3D toggle. Switch to the Custom preset only when you need non-standard axis or button counts.
Keyboard+Mouse slots show a full ANSI QWERTY keyboard and mouse diagram. The 2D/3D toggle is hidden.
| Element | Description |
|---|---|
| Keyboard | Full layout including numpad. Keys show labels, mapping tooltips, and accent highlighting when active. |
| LMB / RMB | Shaped around the scroll wheel gap. Accent highlight on press. |
| Scroll wheel | Center pill for middle-click. Up/down arrows highlight during scroll output. |
| Movement circle | Dot deflects to show mouse movement. Click a quadrant to map MouseX, MouseXNeg, MouseY, or MouseYNeg. |
| Side buttons | X1 and X2 on the left edge (back/forward). |
Click any key or mouse element to record a mapping. Same workflow as click-to-map on the 3D model.
Tip: Hover over a key to see its current mapping target in the tooltip before clicking to remap.

MIDI slots show a piano keyboard and CC slider panel. The 2D/3D toggle is hidden.
| Element | Description |
|---|---|
| CC sliders | Vertical bars filling bottom-to-top (0--127). CC number labeled below each slider. Click to map. |
| Piano keyboard | Standard layout with note labels (e.g., "C4", "F#5"). Keys highlight on active note output. Black keys appear raised. Click to map. |
The layout rebuilds when you change MIDI configuration (note count, start note, CC count, start CC). If no notes are configured, only sliders appear, and vice versa. Click-to-map and Map All flash work on all elements.
Tip: Adjust the start note and note count in the MIDI config bar first. The piano keyboard resizes to match, making click-to-map targets larger and easier to hit.
- Button and Axis Mappings: Map inputs using the grid instead of click-to-map
- Controller Slots: Change the controller type shown in the visualization
- Stick Deadzones: See a circular preview of stick deadzones
- Trigger Deadzones: Trigger range and deadzone settings
- Macros: Macro triggers and action sequences