Skip to content

History

Revisions

  • Bulk v3 terminology sweep across remaining wiki pages (23 files) Mechanical s/// pass on the names that don't depend on architectural context: ViGEmBus -> HIDMaestro, ViGEmClient -> HIDMaestro SDK, VJoy -> Extended (the C# enum value name appearing in narrative text), 'DirectInput (vJoy)' -> 'Extended (HIDMaestro)', 'Xbox 360 / DualShock 4' (slot type pair) -> 'Microsoft / PlayStation', etc. Pages already hand-rewritten upstream were left alone (Home, Installation, Driver-Management, HIDMaestro-Deep-Dive). Virtual-Controllers got the same pass since it's a central reference. Caveat: many of the deeper architecture pages (Driver-Installation- Internals, Input-Pipeline, ViewModels, XAML-Views, Engine-Library, etc.) still describe v2-era *implementation* (vjoy.sys SetupAPI device-node creation, ViGEm.Client P/Invoke surface, etc.). The TERMINOLOGY now matches v3 but the IMPLEMENTATION DETAILS in those pages are still v2 and need a follow-up content pass to reflect the HIDMaestro SDK surface, the OpenXInput shim, the HM thread-pool lifecycle, the bubble-up cascade, etc. See HIDMaestro-Deep-Dive.md for the v3-correct version of that material.

    @hifihedgehog hifihedgehog committed Apr 26, 2026
    751c904
  • Reframe HIDMaestro as the required runtime, not a parallel optional driver User feedback: HIDMaestro is not an optional install in the traditional sense. PadForge uses HIDMaestro to dynamically instantiate virtual HID devices based on the controller 'shape' you mimic (Xbox Series, DualSense, Logitech wheel, etc.). It's the runtime engine, not a checkbox parallel to HidHide / MIDI Services. - Installation.md: dedicated 'HIDMaestro: the runtime PadForge ships with' section explaining the dynamic per-slot device lifecycle. The Optional add-ons section is now strictly HidHide + MIDI Services + OpenXInput (the bundled shim). - Driver-Management.md: replaces the flat 4-driver overview table with a Required-vs-Optional table that calls out HIDMaestro as required and bundled, OpenXInput as bundled-no-setting, and only HidHide and MIDI Services as user-installable add-ons.

    @hifihedgehog hifihedgehog committed Apr 26, 2026
    6844dd0
  • v3 wiki refresh: drop vJoy-Deep-Dive, add HIDMaestro-Deep-Dive, refresh images, rewrite Home - Home.md: rewrite for v3 — Microsoft / PlayStation / Extended / MIDI / KB+M categories, HIDMaestro replaces ViGEmBus + vJoy, OpenXInput shim filters PadForge's own slots from its own XInput view, HM-lifecycle thread-pool model + bubble-up cascade. Adds 'Powered by HIDMaestro' badge with light/dark-mode logo swap via <picture>. - HIDMaestro-Deep-Dive.md: new analogous page replacing vJoy-Deep-Dive (deleted). Documents the HM SDK surface PadForge talks to (HMContext / HMProfile / HMController), the OpenXInput filter, and the three Step 5 invariants (lifecycle off polling thread, inactivity destroy timeout, bubble-up cascade). Explicitly enumerates the v2 vJoy bugs that no longer apply. - Image refresh from 2560x1600 build, including PlayStation / Extended / MIDI / KBM slot type variants. Drops pad-vjoy-* screenshots (replaced by pad-extended-configbar + pad-playstation-configbar). - Adds the HIDMaestro logo (light + dark variants) and convert-screenshots.ps1 helper that renames + JPGs into PadForge/screenshots and padforge.org/assets.

    @hifihedgehog hifihedgehog committed Apr 26, 2026
    3b844dd
  • capture.ps1: refresh for v3 — fix OutputDir, slot-type-specific captures, dashboard-card fallback, ViewModeToggle UIA hook

    @hifihedgehog hifihedgehog committed Apr 26, 2026
    986fcd2
  • Sweep em-dash pseudo-colons across developer reference pages

    @hifihedgehog hifihedgehog committed Apr 18, 2026
    01a5556
  • Rewrite Installation and Troubleshooting pages

    @hifihedgehog hifihedgehog committed Apr 18, 2026
    a8dd9a2
  • Rewrite Home page

    @hifihedgehog hifihedgehog committed Apr 18, 2026
    9ff573e
  • Document profile shortcuts, switch flyout, and toggle window User docs: - Profiles.md: Controller Shortcuts section (modes, recording, axis direction, cross-device combos), Switch Notification flyout section, new tips - Home.md: Updated Profiles description Developer docs: - Services-Layer.md: ToggleMainWindow, overlay callbacks, shortcut recording - Input-Pipeline.md: Global macro evaluation, HandleGlobalMacroAction, TriggerButtonEntry, PendingToggleWindow - Settings-and-Serialization.md: GlobalMacroData, TriggerButtonEntry, AxisTriggerDirection, SwitchProfileMode.ToggleWindow - ViewModels.md: ProfileShortcutViewModel - XAML-Views.md: ProfileSwitchOverlay, Controller Shortcuts card Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Apr 12, 2026
    632b7ac
  • Standardize "dead zone" spelling to "deadzone" per Microsoft convention Rename Stick-Dead-Zones.md → Stick-Deadzones.md and Trigger-Dead-Zones.md → Trigger-Deadzones.md. Update all wiki content and internal links to use one-word "deadzone" spelling. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Apr 12, 2026
    c89302d
  • Restore clean web controller screenshots

    @hifihedgehog hifihedgehog committed Mar 21, 2026
    60c1bb4
  • Replace text logo with text-less icon on Home page

    @hifihedgehog hifihedgehog committed Mar 21, 2026
    3f1bbdb
  • Refresh all screenshots with correct dropdown captures

    @hifihedgehog hifihedgehog committed Mar 21, 2026
    4c64dac
  • Refresh all screenshots with correct vJoy Custom preset

    @hifihedgehog hifihedgehog committed Mar 21, 2026
    c81722c
  • Fix all wiki image references from .jpg to .png

    @hifihedgehog hifihedgehog committed Mar 21, 2026
    94dcc11
  • Remove old JPG screenshots (replaced by PNGs)

    @hifihedgehog hifihedgehog committed Mar 21, 2026
    b2c4d01
  • Wiki sync: per-mapping dead zone, BLE HidHide, async enumeration, UI polish 16 pages updated across 7 parallel agents: - Button-and-Axis-Mappings: source dropdown raw buttons, clear resets DZ - Input-Pipeline: async Raw Input, MapToButtonPressed params, half-axis math - Settings-and-Serialization: MappingDeadZones dict, DeviceObjects serialized - Engine-Library: raw button count, DeviceObjects, FindInstanceIdsByVidPid BLE - Dashboard: TypeSwitchButton, driver gating, red stopped indicators, drag fix - Home: feature highlights updated - XAML-Views: branding bar, SyncBarBackgrounds, theme-aware brushes - Architecture-Overview: branding bar, async enumeration, stable 1000 Hz - Services-Layer: async enumeration, offline dropdowns, popup dismiss - Driver-Installation-Internals: removed methods, merge-based cache - Controller-Slots, ViewModels, Force-Feedback, Troubleshooting, SDL3-Integration, 3D-and-2D-Visualization: targeted updates - All 25 screenshots refreshed

    @hifihedgehog hifihedgehog committed Mar 21, 2026
    b273fdf
  • Wiki sync: per-mapping dead zone, logo, screenshots refresh - Button-and-Axis-Mappings: new Axis-to-Button Dead Zone section with slider/percentage UI, half-axis guide for centered joystick axes, troubleshooting entries, updated mapping grid table - Input-Pipeline: updated MapToButtonPressed signatures with deadZonePercent and globalThresholdPercent params, configurable threshold table, half-axis threshold note, TryParseIntStatic helper - Settings-and-Serialization: MappingDeadZones dictionary, XML example, checksum, JSON key, CopyFrom deep copy - Engine-Library: MappingDeadZoneEntries property, dictionary methods, DeviceObjects no longer XmlIgnore - Home: updated release callout and Button-and-Axis-Mappings description - All 24 screenshots refreshed with new title bar icon and UI changes - Added logo.png Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 20, 2026
    4325bf1
  • Wiki sync for v2.2.1: BLE HidHide, async Raw Input, dead code cleanup - Driver-Installation-Internals: Remove deleted AddToBlacklist/RemoveFromBlacklist, add VID/PID format matching section (USB + BLE), update FindInstanceIdsByVidPid desc - Input-Pipeline: Document async Raw Input enumeration (Task.Run background thread) - Engine-Library: Remove deleted GameFileName property and section - Settings-and-Serialization: Remove all GameFileName references (5 locations)

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    53eb97b
  • Web controller max clients 10 → 16 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    1c527e5
  • Reconvert ALL 24 wiki JPGs from latest PNG captures All wiki JPGs were stale — PNGs were updated by the latest capture run but JPGs were never reconverted. Force feedback now shows audio rumble. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    882dae3
  • Fix em dash spacing: space-emdash-nospace → space-emdash-space Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    c171ba7
  • Fix remaining prose -- to em dashes in Home.md and 3D-and-2D-Visualization.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    cf3cb24
  • Wave 5: Visual overhaul, second polish, cross-page consistency, TOCs, diagrams Home.md: Hero section with centered about.jpg, "New in this release" callout, 6 themed sub-sections, Unicode symbols, verb-led descriptions. Visual: 3 unused dropdown screenshots added to Sticks/Triggers pages. TOCs added to 5 long dev docs. 3 new Mermaid diagrams (save/load flow, class relationships, device discovery). Cross-page consistency (user + dev): Bidirectional Related Pages across all 31 pages (94 dev cross-links, 60+ user cross-links). Feature naming standardized ("Force Raw Joystick Mode", "DualShock 4", "DirectInput (vJoy)"). Setting names matched to UI labels. 9 screenshot alt texts made descriptive. Dev doc links removed from user pages. Second polish (all pages): 200+ edits tightening prose, removing AI voice ("robust", "This ensures", "you can"), standardizing See Also sections, cutting filler. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    8d7d249
  • Final accuracy fixes from last 5 agents Home.md: triggers "up to 4" → "up to 8" Trigger-Dead-Zones: custom DI trigger range "3–4" → "3–8" Macros: Axis Set range "0 to 65535" → "0 to 32767" (AxisValue is short) vJoy-Deep-Dive: clarified 32-bit field width vs 15-bit value resolution, added stick/trigger axis budget table Settings-and-Serialization: 10 fixes — CapType value, InputDeviceType constants, group counts, enum member names, XML attribute types XAML-Views: 9 fixes — OpenPaneLength, IsSettingsVisible, sidebar order, controller insertion point, line count, flash timer, margins Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    1a63963
  • Numeric accuracy sweep: 18 agents verified every number against source code Fixes found by accuracy agents: - Virtual-Controllers: Xbox/DS4 max instances 4→16 (3 locations), 5 Gamepad button bit values corrected (A=0x1000, B=0x2000, X=0x4000, Y=0x8000, GUIDE=0x0400) - Controller-Slots: per-type limit reasons now explain XInput 4-slot visibility vs ViGEm 16-slot creation, SDL/DirectInput see all 16 - Input-Pipeline: VJoyRawState axes "up to 16" → "up to 8" - 3D-and-2D-Visualization + Button-and-Axis-Mappings: triggers "up to 4" → "up to 8" (MaxAxes=8, sticks consume 2 each) - Dashboard: Xbox/DS4 per-type limits 4→16 - Build-and-Publish: removed phantom LICENSE.txt from publish output - SDL3-Integration: added missing padding fields to SDL_HapticCondition and SDL_HapticRamp structs - ViewModels: DeadZoneShape.ScaledRadial=2 not 0, tab order corrected, ViewModelBase code snippet fixed - Engine-Library: mouse button order L,R,M → L,M,R - Driver-Installation-Internals: removed phantom EnsureWhitelisted, added 4 missing HidHide API methods - 2D-Overlay: schematic line count 795→794 - 3D-Model: torus offset 0.4→0.8mm Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    338ef96
  • ViewModels.md final polish: 194 edits, en dash ranges, filler cut Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    123eb4d
  • Absolute final: ViewModels.md fixes from Engine-Library straggler Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    02856bd
  • Final: ViewModels.md range fixes from Input-Pipeline straggler Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    991a573
  • Last straggler polish: ViewModels.md en dash ranges Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    5855fde
  • Final straggler: ViewModels.md dash fixes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
    19fc691