Skip to content

History / Controller Slots

Revisions

  • Semicolon → period across dev pages The "X; Y" pattern where the two clauses are separately complete reads as the AI-tell pseudo-period semicolon called out in the project's writing style notes. Replace with a period (or comma where the relation is conjunctive) across: - Architecture-Overview (PtpDeviceState description, added in this sweep) - Controller-Slots (Impulse Triggers parenthetical) - Engine-Library (three slot-assignment / template-preprocess paragraphs added in this sweep) - Home (Driver-Installation-Internals table row) - Services-Layer (move-slot-to-group-tail flow) - Settings-and-Serialization (v2 Preset enum migration note) - Troubleshooting (UAC accept step) - Virtual-Controllers (Gamepad struct dispatch note) No semantic changes.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Controller-Slots: complete the 'What a slot owns' list for v3.2 + v3.3 Old list was five bullets and stopped at Force Feedback / Macros. Slots have grown a lot since: Impulse Triggers (v3.2), Adaptive Triggers, Lighting, Gyro (with Motion Passthrough in v3.3), Touchpad outputs + gesture engine (v3.3), Shift Layers, and the multi-source mapping engine on the Button-and-Axis-Mappings link. Note that Pad-page Copy / Paste carries every per-device tuning on the list, with a link to the matching rules in the mappings page.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • 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.

    @hifihedgehog hifihedgehog committed May 25, 2026
  • Pass 5/25: VC abbreviation purge from user-facing prose Replaced "VC" with "virtual controller" or "controller" in user-visible text on Home.md (Misc 1 -> Share bullet), Controller-Slots.md (yellow power-icon explanation, disabled-slot reorder note), Driver-Management.md (HIDMaestro stuck-on-initializing troubleshooting). "Xbox virtual gamepad" and "PlayStation virtual gamepad" labels in the Add-controller type table now say "virtual controller" to match the rest of the wiki.

    @hifihedgehog hifihedgehog committed May 20, 2026
  • 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.

    @hifihedgehog hifihedgehog committed May 20, 2026
  • Pass 1/25: wiki link audit + empty-header table cleanup + 2026 Steam Controller mention - All 29 reversed [[Display|Target]] gollum links fixed - 1 broken anchor on Virtual-Controllers link to HIDMaestro Deep Dive resolved against actual heading slug - Lighting.md image path corrected (lighting.png -> pad-lighting.png) - 10 empty-header 2-col "| | |" label tables rewritten as prose paragraphs across Controller-Slots, Installation, Devices, Dashboard, Settings, Web-Controller - Home.md "New in 3.2" now lists 2026 Steam Controller support via the bundled SDL3 fork

    @hifihedgehog hifihedgehog committed May 20, 2026
  • Wiki rewrite: simple-English voice across all user-facing pages Rewrites 18 user-facing pages and adds hooks to 7 dev-deep-dive pages. Each user-facing page now opens with H1 then a one-sentence hook, strips banned vocabulary, replaces em-dash pseudo-colons with periods, and ends with a version marker. User-facing rewrites - Installation, Dashboard, Controller-Slots, Button-and-Axis-Mappings - Stick-Deadzones, Trigger-Deadzones, Force-Feedback, Adaptive-Triggers, Lighting - Macros, Profiles, Devices, DSU-Motion-Server, Web-Controller - Settings, Driver-Management, Input-Precision, Troubleshooting - 3D-and-2D-Visualization New 3.2 content woven into Force-Feedback (Impulse Triggers, Audio Bass Trigger Rumble, Constant Trigger Force) using actual in-app labels from Strings.resx. Profiles documents the new Toggle Virtual Controllers Disabled shortcut mode. Settings notes the stable-across-language-switch fix. DSU Motion Server covers the Gyro Aim Engage picker subtitle. Dev-deep-dive hooks added - Input-Pipeline, Settings-and-Serialization, ViewModels, XAML-Views, Engine-Library

    @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
  • Wiki refresh: VC reorder model (visual-position kernel-slot anchor) Reorder behavior just changed: same-profile reorders are pointer-only (no kernel teardown, no game disconnection); different-profile reorders destroy and recreate only the specific positions whose profile changed; matching positions in the same reorder still pointer-swap. Wiki refreshed to reflect this. User-facing: - Controller-Slots: rewrote "What rebuilds on reorder" with the visual-position-as-kernel-anchor model, three-bullet behavior breakdown (same-profile pointer swap, different-profile selective rebuild, disabled/awaiting invisible to kernel), and the data- identity vs kernel-slot-anchor rule. - Dashboard: tightened drag-reorder paragraph to one sentence on the pointer-swap behavior with link to Controller-Slots. Dev-facing: - Services-Layer: rewrote the Slot Reordering subsection with the five-rule spec (data identity / kernel-slot anchor / repoint-not- rebuild / same-profile zero-flicker / different-profile destroy+ recreate), per-pad vs per-VC state split, RebuildKernelOrderAfterReorder as a thin delegator, and a new RerouteVirtualControllersForReorder subsection covering the three-step implementation. Dropped v2 prose about "lowest changed position". - Input-Pipeline: cross-reference the intra-group reroute path (pointer move + same-profile reuse) vs cross-group / type-change destroy+recreate. - HIDMaestro-Deep-Dive: distinguish bubble-up cascade (deletion / inactivity-timeout) from intra-group reroute (no cascade). - Architecture-Overview: one short paragraph in Slot System covering the model + cross-reference to Services-Layer. - Virtual-Controllers: two inline corrections naming RerouteVirtualControllersForReorder (intra-group) alongside SwapSlotData (cross-group). Page-level rewrite still pending per the existing editor's note.

    @hifihedgehog hifihedgehog committed Apr 28, 2026
  • Wiki sync: drag-reorder rebuild logic + DS4/Microsoft identifier renames User-facing: documents the profile-aware drag-reorder behavior on the Dashboard. Active controllers in a group constitute their own ordering; the kernel rebuild fires only when an active VC's relative position to other actives changes such that a profile mismatch results. - Controller-Slots: new "What rebuilds on reorder" subsection. - Dashboard: drag-reorder paragraph extended with one-sentence summary. - 3D-and-2D-Visualization, Devices, Profiles, Macros, Troubleshooting: residual Xbox 360 / DualShock 4 family-name leakage replaced with Xbox / PlayStation in user-visible prose. Web-controller layout slugs and specific HM profile names left as-is. Dev pages: reflects the v2-era identifier renames in code that landed in 005ef8e + dc5b9fd: - Architecture-Overview, Settings-and-Serialization, Virtual-Controllers: MaxDS4Slots -> MaxPlayStationSlots. - ViewModels, XAML-Views: DS4Count -> PlayStationCount. - Services-Layer: rewrote SwapSlots / MoveSlot entries + added a new RebuildKernelOrderAfterReorder subsection covering the simplified single-pass live-subsequence comparison (replacing the older ShouldRebuildKernelOrder predicate). Also corrected a stale Xbox360 enum default in the CreateSlot row to Microsoft (the actual preserved enum identifier). - Input-Pipeline: cross-reference added to the Services-Layer reorder section since kernel-allocation rebuild lives in InputService. Preserved: VirtualControllerType.Microsoft enum value, MaxXbox360Slots constant, [XmlArray("MicrosoftSlotOrder")] attribute string, web layout slugs, ControllerModelDS4 / ControllerModelXbox360 class names, asset folder paths, HM JSON vendor "Microsoft"/"Sony" filter strings, all genuine Microsoft.Win32 / Microsoft.Windows.Devices.Midi2 / registry references.

    @hifihedgehog hifihedgehog committed Apr 28, 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
  • Controller-Slots: fix broken image refs (pad-vjoy-* deleted, point to pad-extended-configbar) The Extended controller's HID layout is shown as one combined view (HIDMaestro profile/customize bar + procedural sticks/triggers/buttons schematic), so we no longer need a separate -schematic image. Both old refs collapse into one.

    @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
  • 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
  • Fix all wiki image references from .jpg to .png

    @hifihedgehog hifihedgehog committed Mar 21, 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
  • 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
  • Convert all wiki images from PNG to JPG, update all references Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 15, 2026
  • Add contextual screenshot references to feature sections - Stick-Dead-Zones: screenshot at dead zone shape and sensitivity curve sections - Trigger-Dead-Zones: screenshot at sensitivity curve section - Controller-Slots: separate sections for vJoy, MIDI, KBM with type-specific screenshots Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 13, 2026
  • Add missing screenshot references to wiki pages - Controller-Slots: add-controller popup, MIDI config, vJoy config + schematic - 3D-and-2D-Visualization: KBM keyboard+mouse preview - Settings: HidHide whitelist, driver management sections - Web-Controller: landing page and gamepad controller screenshots - Home: About page screenshot - Driver-Management: use settings-drivers.png instead of generic settings.png Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 13, 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: 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
  • Note DirectInput custom controller limits across wiki Up to 8 axes (sticks and triggers combined), 128 buttons, and 4 POV hats in Controller-Slots, Button-and-Axis-Mappings, 3D-and-2D-Visualization, Stick-Dead-Zones, and Trigger-Dead-Zones. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 3, 2026
  • Emphasize DirectInput over vJoy in user-facing wiki pages Reframe custom controller descriptions to lead with "DirectInput" since most users think in terms of DirectInput joysticks/gamepads. Section headers changed from "vJoy Custom ..." to "Custom DirectInput ...". vJoy remains mentioned as the driver name where appropriate. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 3, 2026
  • Fix hallucinations and inaccuracies across 15 wiki pages Audited all 31 wiki pages against source code. Key corrections: Profiles.md: Remove fabricated "Activate" button, add actual "New"/"Load" buttons, fix executable input (Browse dialog, not typed text), fix double-click behavior (loads, not edits) Button-and-Axis-Mappings.md: Fix column names (Target->Output, Modifiers->Options), add missing Value column, fix modifier labels (I/H -> Inv/Half), fix Clear->Clear All, fix Map All description Macros.md: Fix button name (Add Macro->Add), remove fabricated up/down reorder arrows Controller-Slots.md: Remove claim of no per-type cap, fix type switching (Dashboard only, not config page), add Dashboard drag reorder Stick-Dead-Zones.md: Clarify Linear is shared per stick, fix preview to show single output dot (not raw+output) Trigger-Dead-Zones.md: Fix live bar description (single bar, not separate raw/processed) Developer pages: Fix service count (5->6), MaxPads references (8->16), missing enum values (Once, None), wrong method name (LoadObj->LoadModel), asset counts, line count estimates Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 3, 2026