3.5.0 docs: add Wii Controllers page. Trigger routing, mouse-cursor source, queue/shift layers, mouse macros, Latch and No Button modes across pages
Wiki: drop stale 'Last updated for PadForge 3.2.0' footers (22 pages)
Every page on the wiki carried a '*Last updated for PadForge X.Y.Z.*'
italicized footer hard-coded to 3.2.0. With 3.3.0 shipped, those
footers become a lie on every page that wasn't actually re-audited
for the new version — bumping them to 3.3.0 wholesale would just
swap one lie for another since most pages haven't been touched
since 3.2.0.
Removing the footer entirely: git history of each page is the
honest source of truth for currency. Wiki contributors who need
to know whether a section reflects the latest behavior can read
the page's commit log; no in-page label needed.
Polish: drop stale v2.2.1 version markers, banned 'Essential' wording, image-caption em-dashes
Pass 10/25: refreshed screenshots for 3.2 + image refs on every user-facing page
Screenshots
- Recaptured all 21 PNGs in images/ against a 6-slot setup (Xbox + Xbox + PlayStation + Extended + KBM + MIDI) so every controller-type screenshot reflects the live 3.2 UI.
- New pad-gyro.png covers the dedicated Gyro tab (Calibration, Sensitivity, Response Shaping, Engage, Easy Aim cards).
- pad-adaptive-triggers and pad-lighting captured on slot 1 where a DualSense source makes those tabs visible. The old captures were the Controller 3D view instead of the actual tab content -- the Tab(...) Click was being called before the tab strip had switched, and on PS slot 3 the AT/Lighting tabs are hidden when a DS4 (not DualSense) is the source.
capture.ps1 + convert-screenshots.ps1
- capture.ps1 now self-elevates. PadForge runs requireAdministrator; a non-elevated UIA reader returns zero descendants (UIPI), which silently made every Nav/Tab call fall through to a no-op.
- Dropdown captures target by AutomationId (DeadZoneShapeCombo, SensitivityXCombo, TriggerPresetCombo) instead of iterating every ComboBox looking for an item by name -- the old approach kept expanding the HMaestroProfileCombo and assigned-device combo by accident.
- Tab() ScrollIntoView before Click for wrapped tab strips.
- Capture for Gyro / Adaptive Triggers / Lighting on slot 1, gated on each tab being visible (Tab returns false if collapsed, the Cap call is skipped instead of capturing whatever's stale on screen).
- convert-screenshots.ps1: added pad-gyro / pad-impulse-triggers / pad-shift-layers to the name map.
Image refs on pages that previously had none
- Gyro.md: pad-gyro.png
- Installation.md: add-controller-popup.png (first thing you reach after install)
- DSU-Motion-Server.md: dashboard.png (the Motion Server card lives there)
- Troubleshooting.md: settings.png (where most troubleshooting starts)
- Input-Precision.md: pad-sticks.png (where the precision pipeline ends up visible)
- Shift-Layers.md: pad-mappings.png (shift layers live in the mappings tab strip)
- Impulse-Triggers.md: pad-forcefeedback.png as a stand-in (Impulse Triggers tab is only visible when an Xbox One+ pad is assigned, which the dev environment doesn't have; the Force Feedback tab shares the same layout pattern).
Pass 8/25: Related-pages first-word lowercase normalization + Stick-Deadzones 'Best for:' pseudo-colon sweep
41 Related-pages bullet first-words lowercased to match the established 'Page: lowercase description.' convention. Proper nouns (Xbox, DualSense, Sony, HIDMaestro, etc.) kept capitalized. One DualSense->dualSense miss caught and restored. Stick-Deadzones 'Best for:' colon-pseudo pattern dropped on all five deadzone-shape captions.
Pass 2/25: italic hook consistency, Related pages normalization, em-dash sweep
- Italicized hook line on 12 user-facing pages that had plain hooks (Stick-Deadzones, Trigger-Deadzones, Force-Feedback, Adaptive-Triggers, Lighting, Devices, DSU-Motion-Server, Web-Controller, Settings, Driver-Management, Input-Precision, 3D-and-2D-Visualization) and Troubleshooting.
- Normalized Related-pages bullet formatting across 16 user-facing pages to one convention: '- [[Page]]: lowercase description.'
- Home.md: cut filler 'long list of smaller wins' from the 3.2 intro paragraph; replaced em-dash pseudo-colon with a period; converted em-dash pseudo-colon in Gyro motion bindings bullet.
- Controller-Slots.md: Open-a-slot tab list now reflects 3.2 reality (Gyro tab, Adaptive Triggers and Lighting on PS slots, Impulse Triggers on Xbox + PS). Related pages expanded to link the new pages.
- Devices.md and Impulse-Triggers.md: em-dash pseudo-colons converted to periods.
Wiki: add Gyro / Shift Layers / Impulse Triggers, expand Mappings + Macros for 3.2 features
New pages
- Gyro: dedicated tab covering calibration, sensitivity, response shaping, engage gates, reference frames, per-(device, slot) persistence, per-source GyroSensitivity multiplier.
- Shift Layers: per-slot mapping tables that activate while a button / chord / axis is engaged. Five activation modes, three activator kinds, per-layer color + emoji, Win11 flyout, last-engaged-wins resolution.
- Impulse Triggers: split out of Force Feedback since the app has it as its own Pad-page tab. Covers game-driven passthrough (Xbox + DualSense), Constant Trigger Force, Audio Bass Trigger Rumble.
Updated
- Home.md "New in 3.2" now covers the full 3.2.0 feature set: mapping engine rebuild, shift layers, gyro Steam Input parity, impulse triggers tab, macro custom expression, lighting additions, platform changes.
- Button-and-Axis-Mappings.md: per-VC scope, multi-source rows, six combine modes + custom formula, source kinds (Direct / Incremental / Invert On Hold), Bidirectional flag, direction badges, auto-mapping extend behavior.
- Macros.md: Custom Expression trigger mode (formula + variables + recipes), multi-device combos in triggers, per-entry axis options.
- Force-Feedback.md: trigger-motor sections moved to Impulse Triggers; cross-link added.