Skip to content

History / Driver Installation Internals

Revisions

  • Wiki: bump HIDMaestro version refs from 1.3.12 to 1.3.13 The shipping HIDMaestro.Core.dll at Resources\HIDMaestro\ has FileVersion 1.3.13.0 (confirmed via Get-Item VersionInfo). Two wiki pages still cited the prior 1.3.12 tag: - HIDMaestro-Deep-Dive.md:18 'PadForge ships with HM 1.3.12...' - Driver-Installation-Internals.md:86 'PadForge currently ships HIDMaestro 1.3.12.' Both updated to 1.3.13.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Polish: more pseudo-period semicolons fixed; correct stale v2-dev branch refs in Build-and-Publish

    @hifihedgehog hifihedgehog committed May 21, 2026
  • Strip em-dash pseudo-colons and pseudo-period semicolons across wiki prose

    @hifihedgehog hifihedgehog committed May 21, 2026
  • Driver-Installation-Internals: don't suggest Device Manager removal for HM The 'remove HIDMaestro driver' paragraph told readers to 'remove it manually via Device Manager.' Per project memory rule hidmaestro-not-a-normal-driver-removal.md, HM doesn't behave like an ordinary user-mode driver and Device Manager / pnputil /delete-driver removal is not supported. Same guidance now lives in Driver-Management.md's Uninstall section. Replaced with: deleting PadForge leaves HM registered but inert (no virtual-device creation requests = nothing for the driver to service).

    @hifihedgehog hifihedgehog committed May 21, 2026
  • Driver-Installation-Internals: drop 'Note that' AI-tell preamble 'Note that X is Y' reads as scaffolding. Direct 'X is Y' is shorter and matches the surrounding terse style.

    @hifihedgehog hifihedgehog committed May 21, 2026
  • Dev wiki: more prose semicolons -> periods (4 more pages) DSU-Motion-Server: slots 1-4 vs 5-16 contrast. DSU-Protocol-Implementation: SDL coord system contrast, axis-invert note, subscriber-resolution algorithm steps, GetSubscribers gloss. SDL3-Integration: 7 prose constructions across marshaling, haptic strategy, raw-button mapping, BT-serial priority note, ISdlInputDevice interface description, ClearRuntimeState side effects, WinUSB notes. Driver-Installation-Internals: 8 prose constructions across v2/v3 backend swap, UAC-prompt aside, MIDI Services download notes, GitHub-asset parser, async-void try/catch, ViGEmBus MSI lookup, HID-class-key cleanup, and v2-relaunch removal note.

    @hifihedgehog hifihedgehog committed May 21, 2026
  • 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
  • Wiki Pass 3: dev-deep-dive accuracy corrections ViewModels: HMaestro SDK assembly is HIDMaestro.Core (not Microsoft.HIDMaestro.SDK); user-mode driver still needs first-run installation, not just an embedded assembly. SDL3-Integration: drop the _filteredVigemInstanceIds field documentation. That field is gone from current InputService.cs. HM virtuals are filtered upstream by the SDL3 fork's patched SDL_GetJoysticks (walks container ID to the HM root enumerator and drops matches before returning the list), so the engine no longer needs the rumble-killing-close guard. Architecture-Overview / Driver-Installation-Internals / Build-and-Publish / HIDMaestro-Deep-Dive: OpenXInput corrections. xinput1_4.dll is bundled inside the single-file EXE via Content + IncludeNativeLibrariesForSelfExtract, not "copied adjacent to PadForge.exe". devobj.dll is deliberately NOT shipped (a bundled stub would hijack setupapi.dll's own DevObj* imports and crash HID class enumeration per PadForge #69). System devobj.dll resolves from System32 unaided. Also: refresh pad-playstation-configbar.jpg to match the canonical PS slot screenshot (DualSense (PS5, Bluetooth) profile, dualsense-bt).

    @hifihedgehog hifihedgehog committed May 20, 2026
  • Lighting tab reset buttons + v3 terminology sweep Refreshes pad-lighting screenshot to capture the four new reset buttons (Lightbar Mode, LED Brightness, Player Pattern, Mute LED Mode) plus the rest of the slot-0 PadPage tabs and slot-type config bars against the post-deploy build. Wiki prose: drops residual v2 phrasing (ExtendedConfig.IsGamepadPreset, DualShock4 / Xbox 360 enum names, "Microsoft" / "Sony") and routes through the v3 OutputType / VirtualControllerType vocabulary instead.

    @hifihedgehog hifihedgehog committed May 4, 2026
  • Deep v3 resync: vJoy purge, Microsoft→Xbox terminology, current features Sweep residual v2 vJoy / ViGEmBus content out of user-facing pages and replace stale dev-page class names with the v3 unified HIDMaestro pipeline. Restore correct family-name terminology (Xbox / PlayStation / Extended, not Microsoft / Sony — those enum identifiers exist purely for v2 PadForge.xml back-compat per the in-source enum comment). User-facing pages (Home, Dashboard, Controller-Slots, Devices, Settings, Driver-Management, Troubleshooting, Force-Feedback, Web-Controller, 3D-and-2D-Visualization, 2D-Overlay-System, Installation, Stick-Deadzones, Trigger-Deadzones, Input-Precision): - vJoy slot type, "vJoy driver limit", and vJoy install steps removed - Troubleshooting: "vJoy Phantom Controllers" section deleted (v2 N²-bug, doesn't exist in HIDMaestro), other vJoy sections rewritten for HM - Force-Feedback: HID PID 1.0 framing for Extended; new Sony Report 0x01 rumble passthrough section - 3D-and-2D-Visualization: PlayStation touchpad preview (live finger spheres) and click-to-map TouchpadClick documented - 2D-Overlay-System: touchpad highlight visual spec (sampled colors) - Web-Controller: DS4 layout button-11 collapse for TouchpadClick Dev pages (Architecture-Overview, Engine-Library, Build-and-Publish, HIDMaestro-Deep-Dive, Input-Pipeline, SDL3-Integration, Services-Layer, Settings-and-Serialization, Driver-Installation-Internals, ViewModels, XAML-Views, Virtual-Controllers, Button-and-Axis-Mappings): - Stale Xbox360VirtualController / DS4VirtualController / ExtendedVirtualController / VJoyRawState references replaced with the v3 unified HMaestroVirtualController + ExtendedRawState - Step 5 prose updated to HMContext.SubmitState / SubmitRawReport with Sony Report 0x01 passthrough - HIDMaestro-Deep-Dive: HM 1.1.x → 1.2.0 - Services-Layer: false claim that Extended slots reset to "Microsoft (Xbox 360) gamepad preset" replaced with the actual behavior (ProfileId = GetDefaultProfileId(type), Custom "PadForge Game Controller" for Extended) - Three broken [[vJoy Deep Dive]] links retargeted to [[HIDMaestro Deep Dive]] - Virtual-Controllers gets a top-of-page editor's note flagging it for a full hand-rewrite (the deep sections still describe deleted v2 classes) Microsoft references kept where they are real: NuGet package Microsoft.Windows.Devices.Midi2, registry paths under SOFTWARE\Microsoft\, ".NET runtime download from Microsoft", literal VirtualControllerType.Microsoft enum-value citations, MaxXbox360Slots constant name (preserved from v2), [XmlEnum("Sony")] attribute string, OpenXInput Microsoft-trademark disclaimer.

    @hifihedgehog hifihedgehog committed Apr 27, 2026
  • Driver-Installation-Internals: correct UAC story PadForge requires elevation unconditionally via app.manifest (requestedExecutionLevel=requireAdministrator). Windows shows the UAC shield on the icon and prompts once at launch. The previous v2-era 'auto-elevates when vJoy is installed' / 'one UAC prompt per driver install' framing is wrong — every driver install/uninstall runs inside the already-elevated process, so no further prompts. Fixed: - Architecture mermaid: removed the four 'UAC Prompt' nodes; replaced with a single 'PadForge process (already elevated via app.manifest)' sink and a paragraph explaining the launch-time UAC. - HIDMaestro install / vJoy install / vJoy uninstall flowchart annotations: '(UAC elevation via runas)' / '(UAC prompt)' replaced with 'inherits elevation from PadForge'. - RunElevated description: clarifies the child does NOT prompt for UAC because the parent is already elevated. - Elevation Strategy table: rewritten — 1 UAC prompt at launch, 0 for every install/uninstall, vJoy rows removed. - CreateExtendedDevices comparison row: now says 'inherits PadForge's elevation' instead of describing two separate UAC behaviors.

    @hifihedgehog hifihedgehog committed Apr 26, 2026
  • Fix mojibake throughout the wiki + rewrite Input-Precision Stage 5 for v3 Mojibake sweep: 1067 sequences across 17 .md files. Earlier passes had round-tripped UTF-8 punctuation through a CP1252 layer, baking the literal three-character mojibake into the files (em-dash → â + € + ", en-dash, right arrow, box-drawing chars, middle dot, multiplication sign, etc.). Restored to the proper Unicode codepoints: — – → ↔ ← │ ├ └ · ×. Input-Precision Stage 5 rewrite: the page still described 'Stage 5: vJoy Output (15-bit unsigned)' which doesn't exist in v3. v3 has a single HIDMaestro Output stage with three sub-cases: - Microsoft (Xbox 360): signed 16-bit sticks, 8-bit triggers - PlayStation (DS4): 8-bit sticks AND triggers (DS4 protocol) - Extended (HM custom HID): 16-bit unsigned sticks, 8-bit triggers by default, raisable to 16-bit per profile Verified against HIDMaestro's HidDescriptorBuilder.cs (AddStick default bits=16, AddTrigger default bits=8) and PadForge's HMaestroVirtualController.cs (SubmitGamepadState normalizes through float at the SDK boundary). Output Throughput section: dropped the vJoy single-IOCTL note, replaced with HIDMaestro single-call SubmitState description. Summary table axis-resolution rows now reflect per-VC-type wire bit depth. Stage 3 callout pointing at Stage 5. Pseudo-colon em-dash converted to period per the project style rule.

    @hifihedgehog hifihedgehog committed Apr 26, 2026
  • Driver-Installation-Internals: rewrite top sections for v3 (HM + HidHide + MIDI; vJoy gone, ViGEmBus gone) - Intro: 'four drivers/services' -> three (HIDMaestro, HidHide, Windows MIDI Services). vJoy and ViGEmBus are no longer install targets in v3. - Contents TOC: drop the vJoy Single-Node Architecture and vJoy Device Lifecycle sections; add Legacy v2 driver cleanup. - Architecture Mermaid diagram refreshed: HM via pnputil + HM SDK profile registration, HidHide via WiX bootstrapper, MIDI Services via GitHub API, legacy cleanup as a separate dashed branch. Adds a short note that OpenXInput is NOT managed by DriverInstaller — it's bundled inside the EXE as flat Content files. - Embedded Resources table reflects what's actually embedded in v3 (HIDMaestro driver bundle, HidHide EXE, OpenXInput DLLs as Content, Windows MIDI Services downloaded on demand). Deeper sections (vJoy device-node lifecycle, single-node architecture, SetupAPI mechanics) still describe v2 implementation and need a follow-up content rewrite or removal.

    @hifihedgehog hifihedgehog committed Apr 26, 2026
  • Architecture-Overview: refresh Mermaid diagram for v3 (HM thread pool, OpenXInput, 5 categories) + add v3 caveat banner to 7 dev pages The Mermaid diagram now reflects: - 5 controller categories (Microsoft / PlayStation / Extended / KBM / MIDI) instead of v2's Xbox360 / DualShock4 / vJoy. - HM lifecycle thread pool as a separate node feeding the three HM-backed categories (Microsoft, PlayStation, Extended). - OpenXInput shim as a sibling to SDL3.dll under External Systems. - HIDMaestro driver as the single virtual-HID-output driver (replacing ViGEm + vJoy nodes). - Windows MIDI Services as the MIDI backend. The 7 deeper dev pages (Driver-Installation-Internals, Input-Pipeline, Virtual-Controllers, Engine-Library, ViewModels, XAML-Views, Settings-and-Serialization) get a 'Note for v3' banner pointing readers to HIDMaestro-Deep-Dive as the canonical source for v3 implementation detail. The terminology in those pages was already swept; the implementation-detail sections still describe v2 mechanics until a follow-up content rewrite.

    @hifihedgehog hifihedgehog committed Apr 26, 2026
  • 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
  • Sweep em-dash pseudo-colons across developer reference pages

    @hifihedgehog hifihedgehog committed Apr 18, 2026
  • 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
  • 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
  • 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
  • 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
  • Professional polish: proper typography, concise writing, 33 agents Replace all 590+ double-hyphen (--) instances with proper em dashes (—) and en dashes (–) for numeric ranges. Remaining -- only inside code blocks. Rewrite every page for professional conciseness: - Simple English, short sentences, active voice - Prose converted to tables and bullet lists - Filler words and AI-tell phrases eliminated - Parallel structure in descriptions - Every section scannable in seconds Net result: 632 fewer lines across 32 files while preserving all detail. Verified: 0 broken cross-references, all 9 Mermaid diagrams valid, all 21 image references valid, README fully synchronized. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
  • Comprehensive wiki rewrite: 22 agents, 2M+ tokens, all 31 pages improved Every wiki page deeply rewritten by dedicated agents that read full source files (not commit history). Total: ~2 million input tokens across 22 agents. User guide pages (17): - Home: all 32 descriptions rewritten with specific subsection details - Force-Feedback: motor physics, pipeline flow, haptic/condition/audio sections - Macros: 12 action type subsections, 6 practical recipes, fire mode guide - Devices: card layout, raw input viz, GUID persistence, 7 troubleshooting items - Stick-Dead-Zones: per-shape subsections, anti-DZ tuning, 5 genre recommendations - Trigger-Dead-Zones: floor/ceiling examples, 4 genre recommendations - Controller-Slots: "What Is a Slot?", type decision table, limits, reordering - Dashboard: engine states, VC card anatomy, power icon color table - Settings: per-setting guidance, driver comparison table, auto-save behavior - Button-and-Axis-Mappings: source dropdown, descriptor names, mapping tips - Profiles: pipe-separated exe format, 4 practical examples - DSU-Motion-Server: emulator table, sensor requirements, setup guides - Web-Controller: step-by-step setup, network requirements, latency expectations - Installation: Quick Start, auto-elevation, first-launch walkthrough - Driver-Management: graceful degradation, compatibility matrix, troubleshooting - Troubleshooting: 10 new scenarios, Quick Reference 18→33 entries - 3D-and-2D-Visualization: view selection table, MIDI preview, touch tips Developer reference pages (14): - Architecture-Overview: verified project layout, Key Design Decisions, threading - Input-Pipeline: 1538 lines, 3-thread Mermaid, dead zone algorithms, thread safety - Services-Layer: rewritten from scratch, 25+ method table, 5 interaction flows - ViewModels: 1559 lines, all 14 ViewModel classes, 70+ PadSetting properties - Engine-Library: 1811 lines, 31 types, full SDL3 P/Invoke reference - Settings-and-Serialization: 73 CopyablePropertyNames, save/load flowcharts - XAML-Views: layout trees, binding tables, 11 styles, UI Automation IDs - Virtual-Controllers: Mermaid type hierarchy, per-VC axis/button tables - SDL3-Integration: 1133 lines, enumeration flow, rumble, haptic, custom mappings - Build-and-Publish: all build modes, CI/CD, versioning, local NuGet - vJoy-Deep-Dive: HID descriptors, FFB, device lifecycle, restart strategies - Driver-Installation-Internals: Mermaid flowcharts, SetupAPI P/Invoke, registry - DSU-Protocol-Implementation: corrected byte offsets, sequence diagrams, CRC32 - 2D-Overlay-System: MIDI preview, verified file counts, flash timer corrected - 3D-Model-System: material system, coordinate transforms, touch gestures Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
  • Deep audit: fix 30+ discrepancies, add Mermaid diagrams, correct DSU offsets Deep source-code audit with 9 parallel agents reading full source files against all 32 wiki pages. Verification pass with 4 additional agents. Fixes: - Engine-Library: remove stale XInputState struct, trim ObjectAspect/ EffectParameterFlags enums to match code, delete nonexistent GetSlidersMask(), fix MidiRawState.Create() CC init description - Settings-and-Serialization: fix *Neg range defaults (nullable, not "100"), add MaxPads=16 note - Services-Layer: fix Start() (RemoveAllDeviceNodes not called), fix Stop() order (11 steps including web/audio), add Mermaid service diagram - Input-Pipeline: fix "seven" → "eight" files, add Mermaid pipeline diagram - vJoy-Deep-Dive: fix DisableDeviceNode (full removal, not keep-in-PnP), add RestartDeviceNode DICS_PROPCHANGE vs full restart strategies - ViewModels: add KeyboardMouseControllerIcon, fix SlotNumber (settable), add KBM to OutputTypeIndex mapping - Build-and-Publish: add missing Microsoft.Windows.Devices.Midi2 NuGet, fix AssemblyVersion (App=2.1.0 vs Engine=2.0.0) - Architecture-Overview: add CurveLut.cs, CurveEditor, fix MaxVJoySlots note, add Mermaid architecture diagram - SDL3-Integration: add VIDEO_ALLOW_SCREENSAVER hint, haptic skip note - DSU-Protocol-Implementation: fix motion data offsets (were 4 bytes off) - 2D-Overlay-System: fix schematic flash timer (400ms, not 170ms) - Driver-Installation-Internals: fix IsMidiServicesInstalled description - Devices: fix Instance Path label to HidHide Instance Path - Virtual-Controllers: add Mermaid VC type hierarchy diagram Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
  • Replace -- with em dashes (—) in prose text across wiki pages Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 15, 2026
  • Sync wiki with v2-dev: KBM, MIDI switcher, sensitivity curves, dead zones, screenshots - 23 wiki pages updated (+823 lines) covering KBM virtual controller, MIDI type switcher, sensitivity curves, dead zone shapes, 3-tier polling timer, auto-idle engine, HidHide whitelist - 21 screenshots retaken/added: all pages, all 4 slot types (Xbox360, KBM, vJoy, MIDI), MIDI piano keys, KBM keyboard+mouse preview, vJoy config bar + schematic - New screenshots: pad-kbm-preview, pad-midi-configbar, pad-vjoy-configbar, pad-vjoy-schematic, settings-hidhide - Strict content boundary enforcement: zero developer jargon in user guide pages Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 13, 2026
  • Update wiki: trigger precision, uninstall guards, decimal precision, screenshots - Input-Precision: Fix trigger resolution from byte to ushort (16-bit internally) - Driver-Management: Add MIDI uninstall steps, HidHide/MIDI uninstall guard notes - Settings: Add auto-save description - Virtual-Controllers: Fix trigger types, add MIDI auto-mapping section - Stick-Dead-Zones: Add decimal precision, digit values, rectangular preview - Trigger-Dead-Zones: Add setting values section with precision details - Retake stick and trigger screenshots showing new digit value fields - Developer docs: updated by audit agents Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 8, 2026
  • Update wiki: MIDI virtual controller type, .NET 10, retake all screenshots - Add MIDI output type documentation across all relevant pages - Update .NET 8 → .NET 10 references (Architecture, Build, Installation, Engine) - Add Windows MIDI Services to Driver Management and Settings - Add MIDI troubleshooting section - Update slot counts from "three types" to "four types" - Retake all 15 screenshots with current UI (wider sidebar) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 8, 2026
  • Replace double dashes with em dashes in all wiki pages

    @hifihedgehog hifihedgehog committed Mar 6, 2026
  • Document input hiding: HidHide management and low-level hooks - Devices.md: Add Input Hiding section (HidHide, hooks, auto-enable, master switch) - Settings.md: Add "Hide Devices from Games" master switch subsection - Driver-Management.md: Add built-in device management subsection under HidHide - Architecture-Overview.md: Add HidHideController.cs, InputHookManager.cs, 5th thread, thread safety - Services-Layer.md: Add device hiding lifecycle, DeviceHidingStateChanged, auto-enable defaults - Settings-and-Serialization.md: Add HidHideEnabled, ConsumeInputEnabled, EnableInputHiding - Driver-Installation-Internals.md: Add HidHideController IOCTL API section - Engine-Library.md: Add InputHookManager class documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 4, 2026
  • Add complete PadForge wiki documentation (31 pages)

    @hifihedgehog hifihedgehog committed Mar 3, 2026