Skip to content

History

Revisions

  • Pass 33: Home nav table enriches Web Controller (16 phones, touchpad layout) and adds Touchpad Overlay row

    @hifihedgehog hifihedgehog committed May 20, 2026
    1025793
  • Pass 32: Dashboard.md adds Touchpad Overlay section (on-screen transparent touch surface, was undocumented)

    @hifihedgehog hifihedgehog committed May 20, 2026
    58cd4cf
  • Pass 29: Settings.md documents the HM Inactivity Timeout setting (Input Engine section)

    @hifihedgehog hifihedgehog committed May 20, 2026
    47a61fd
  • Pass 28: tighten 'the user can enable' → imperative 'enable'

    @hifihedgehog hifihedgehog committed May 20, 2026
    4ad07c1
  • Pass 27: punchy-voice sweep — drop 'various', 'not just X but Y' defensive parenthetical, 'actually' filler

    @hifihedgehog hifihedgehog committed May 20, 2026
    be16237
  • Home: open the Map section by noting recognized gamepads auto-map on assign

    @hifihedgehog hifihedgehog committed May 20, 2026
    0b49184
  • Pass 24: Architecture-Overview mermaid OpenXInput label drops devobj (only xinput1_4.dll is bundled; devobj resolves from System32)

    @hifihedgehog hifihedgehog committed May 20, 2026
    e354668
  • Pass 23: SDL3-Integration mermaid drops dead FILTER/SKIP1/SKIP2/SKIP3 style refs (nodes were removed when HM filter moved fork-side); Step1 source-files line corrected

    @hifihedgehog hifihedgehog committed May 20, 2026
    8bbec5f
  • Pass 17: Engine-Library TOUCHPAD button-flag row clarifies output-side bitmask (Gamepad.Buttons) vs input-side array index (CustomInputState.Buttons[16])

    @hifihedgehog hifihedgehog committed May 20, 2026
    55c1d1a
  • Pass 16: Engine-Library CustomInputState adds TouchpadFingers + TouchpadDown fields (live in v3) and notes Buttons[16] is SDL_GAMEPAD_BUTTON_TOUCHPAD

    @hifihedgehog hifihedgehog committed May 20, 2026
    57887aa
  • Pass 15: Services-Layer InputService section adds TestRumbleTargetGuidProvider per-device gating + ToggleVCsDisabled bulk-toggle flow (both new in 3.2)

    @hifihedgehog hifihedgehog committed May 20, 2026
    cc2c6b8
  • Pass 14: ViewModels.md PadViewModel adds v3.2 properties (MappingSet/CurrentLayerMask/ActiveLayers, TestRumbleTargetGuid, TouchpadClickPressed/Touchpad fingers)

    @hifihedgehog hifihedgehog committed May 20, 2026
    6848243
  • Pass 13: XAML-Views Tab Visibility Rules — add Impulse/Adaptive/Lighting/Gyro tabs and the per-device capability gates that drive their visibility The table only covered the always-visible tabs (Controller / Macros / Mappings / Sticks / Triggers / Force Feedback). The capability-gated tabs introduced or revamped in 3.2 (Impulse Triggers, Gyro) and their predecessors (Adaptive Triggers, Lighting) were missing, even though PadPage.xaml.cs lines 306-313 control their visibility on every mapped-device change.

    @hifihedgehog hifihedgehog committed May 20, 2026
    104a029
  • Pass 10: Input-Pipeline 'Custom vJoy' / 'vJoy state' renamed to 'Extended Custom HID' / 'Extended-raw state' v3 uses HIDMaestro for Extended profiles. The wiki kept calling those 'Custom vJoy' / 'vJoy mapping' / 'vJoy button words' which is wrong on the driver name. Renamed throughout the active code-flow sections. Historical-narrative sections (lines 225, 1263) still use 'v2 vJoy' to describe what's removed; those stay.

    @hifihedgehog hifihedgehog committed May 20, 2026
    2cef0c2
  • Pass 10: 3D-Model-System architecture diagram includes ControllerModelXboxOne and ControllerModelDualSense (added since the page was last updated)

    @hifihedgehog hifihedgehog committed May 20, 2026
    9e3bee0
  • Pass 9: Virtual-Controllers HMaestroFfbDecoder dispatch list — break the run-on semicolon clause into a bulleted list

    @hifihedgehog hifihedgehog committed May 20, 2026
    2d92bd9
  • Pass 9: HIDMaestro bundled version is 1.3.12, not 1.2.0/1.2.1 (FileVersion read from HIDMaestro.Core.dll)

    @hifihedgehog hifihedgehog committed May 20, 2026
    a578e9a
  • Pass 8: assembly versioning lives in repo-root SharedVersion.cs, not Properties/AssemblyInfo.cs App and Engine share one version via the linked SharedVersion.cs at the repo root. Wiki claimed AssemblyInfo.cs held the version (and listed stale 2.1.0.0 / 2.0.0.0 values), which is wrong on three counts: wrong file, wrong version numbers, wrong drift model (versions are shared now, not independent). Also fix the release-workflow step that pointed at AssemblyInfo.cs.

    @hifihedgehog hifihedgehog committed May 20, 2026
    7895621
  • Pass 6: remove fabricated 'per-slot DSU toggle' + Motion-tab references; Trigger-Deadzones related-pages cleanup DSU-Motion-Server: there is no per-slot DSU broadcast on/off switch and no separate 'Motion' tab. Gyro tuning lives on the Gyro tab. Rewrote the per-slot section to point at the Gyro tab and to state plainly that the Dashboard switch is the only DSU enable. Trigger-Deadzones: point trigger-motor rumble settings to the Impulse Triggers tab (where they live in 3.2), not Force Feedback. Fix the 'dualSense' casing in the Adaptive Triggers link.

    @hifihedgehog hifihedgehog committed May 20, 2026
    ef7c70b
  • SDL3-Integration: button layout table now covers SDL extended range (11-21) and shows raw passthrough starts at 22, not 11 The page was a few SDL revisions out of date. Indices 11-21 are SDL's standardized extended gamepad buttons (Misc1, paddles, Touchpad, Misc2-6), which PadForge fills in via SDL_GAMEPAD_BUTTON_* lookups. Only after those do the device-specific raw buttons start (index 22+). The TouchpadClick correction at Buttons[16] now lines up with this table.

    @hifihedgehog hifihedgehog committed May 20, 2026
    b0958a0
  • Web-Controller: TouchpadClick code is 16 (SDL canonical), not 11 (the old collapsed-numbering scheme)

    @hifihedgehog hifihedgehog committed May 20, 2026
    92af16b
  • Pass 4: drop final stale ViGEm/vJoy references (vigem_target_free, _vigemClientLock, PreInitializeVigemCounts)

    @hifihedgehog hifihedgehog committed May 20, 2026
    afaec8f
  • Drop stale _vigemClientFailed + preserveExtendedNodes references in dev-deep-dive pages

    @hifihedgehog hifihedgehog committed May 20, 2026
    b0f6c1e
  • Input-Pipeline: drop ExtendedSyncLock + _createCooldown + vJoy descriptor sync (v2 fields, removed in v3)

    @hifihedgehog hifihedgehog committed May 20, 2026
    2771952
  • Input-Pipeline: drop stale 'CleanupStaleVigemDevices' + 'PreInitializeVigemCounts' sections (methods removed from code)

    @hifihedgehog hifihedgehog committed May 20, 2026
    07de356
  • Architecture-Overview: Step 1 no longer filters HM virtuals; SDL3 fork does it upstream

    @hifihedgehog hifihedgehog committed May 20, 2026
    8b034ad
  • Input-Pipeline: align fork-filter wording with SDL3-Integration (Hardware ID parent walk, not container-ID walk)

    @hifihedgehog hifihedgehog committed May 20, 2026
    ddf0c79
  • SDL3-Integration: HIDMaestro sentinel is HIDMAESTRO, not Root\HMCOMPANION HMCOMPANION was an earlier HM enumerator name that's been replaced. Current HM PnP chain carries HIDMAESTRO in the Hardware ID list, matched via substring fast path + 4-deep PnP parent walk. The fork follows the same shape as the OpenXInput-side filter so both stay in lockstep when HM device characteristics change.

    @hifihedgehog hifihedgehog committed May 20, 2026
    50e662b
  • SDL3-Integration: rewrite Device Filtering section against current fork-side filter The in-engine IsHIDMaestroVirtualDevice classifier was removed when the SDL3 fork landed the container-ID-walk filter inside SDL_GetJoysticks. The wiki still documented the old detection-order table + counter-based heuristics + the PnP-tree-walking rationale. All of that is replaced with a brief description of the upstream fork-side filter and a pointer to the feat/hidmaestro-filter branch.

    @hifihedgehog hifihedgehog committed May 20, 2026
    460d18a
  • Input-Pipeline: drop the obsolete _filteredVigemInstanceIds + IsHIDMaestroVirtualDevice docs The in-engine filter is gone. PadForge's SDL3 fork now walks each device's container ID to the HIDMaestro root enumerator and drops matches inside SDL_GetJoysticks, so HM virtuals never reach the engine's open loop in the first place. Pruned the tracking-field row, the step that referenced the set, the cleanup IntersectWith block, and the detection-heuristics table.

    @hifihedgehog hifihedgehog committed May 20, 2026
    3bf6b02