Skip to content

History / Home

Revisions

  • 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.

    @hifihedgehog hifihedgehog committed May 20, 2026
  • Rewrite Home: simple-English pitch + What's new in 3.2 + reorganized navigation - Lead "Make any input look like any controller." with three concrete pairings - Add "New in PadForge 3.2" with six user-visible changes - Group nav into Get started / Pick a type / Tune the feel / Power features / Behind the scenes / Developer reference tables - Plainer voice across descriptions

    @hifihedgehog hifihedgehog committed May 20, 2026
  • v3.1.4: refresh screenshots + Xbox Series Share + per-profile asset notes

    @hifihedgehog hifihedgehog committed May 10, 2026
  • v3.1.0: Adaptive Triggers + Lighting pages, refreshed screenshots New pages: - Adaptive-Triggers.md — seven trigger effect modes for slots with a DualSense assigned (Off, Feedback, Weapon, Vibration, Multi-Position Feedback, Slope, Multi-Position Vibration), the live effect-profile preview shape per mode, parameter semantics, and the wire-format crosswalk to the firmware's 0x01 / 0x02 / 0x06 / 0x21 / 0x26 trigger opcodes. - Lighting.md — thirteen lightbar modes for slots with a DS4 / DualSense / DualSense Edge assigned (Static, Breathing, Rainbow, palette-based Color Cycle, three Audio Pulse variants, three Audio Bands variants, two Input Reactive variants), audio sensitivity / thresholds / crossfade width, palette controls, pulse decay slider, and the Indicator LEDs card. Home.md — added a v3.1.0 callout summarizing the AT and Lighting tabs, the theme-aware icons, and the localization sweep across nine languages. Added new Tuning rows for [[Adaptive Triggers]] and [[Lighting]]. Trigger-Deadzones.md — Related Pages now links to [[Adaptive Triggers]] since they share the same physical triggers. capture.ps1 / convert-screenshots.ps1 — capture pipeline learns the new Adaptive Triggers and Lighting tabs (PlayStation slot only) and the PNG → JPG converter maps them into adaptive-triggers.jpg / lighting.jpg for both PadForge/screenshots and padforge.org/assets. images/ — refreshed all 16 screenshots from a v3.1.0 build with a DualSense assigned to a virtual slot so the AT/Lighting tabs are visible. Theme-aware icon changes are now reflected on the sticks / triggers / extended-schematic captures.

    @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
  • Home: drop <picture>; GitHub Wiki Gollum strips <source> elements The dual prefers-color-scheme swap rendered as the light (black-silhouette) logo only on the dark wiki background, making the badge invisible. Use the white-silhouette variant directly so it shows up against the wiki's default dark theme. Light-theme readers get a faint badge instead of an invisible one.

    @hifihedgehog hifihedgehog committed Apr 26, 2026
  • 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
  • Rewrite Home page

    @hifihedgehog hifihedgehog committed Apr 18, 2026
  • 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
  • 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
  • Replace text logo with text-less icon on Home page

    @hifihedgehog hifihedgehog committed Mar 21, 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
  • 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
  • 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
  • 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
  • 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
  • Update wiki for audio bass rumble, source dropdown, macro volume options, DS3 raw mode User docs: Audio Bass Rumble section in Force-Feedback, source input dropdown in Button-and-Axis-Mappings, InvertAxis/ShowVolumeOsd in Macros, DS3/DsHidMini raw mode in Devices, audio rumble troubleshooting. Dev docs: AudioBassDetector in Architecture-Overview/Engine-Library, Step 2 audio combination in Input-Pipeline, detector lifecycle in Services-Layer, PadSetting audio properties in Settings-and-Serialization, PadViewModel/ MappingItem updates in ViewModels, PadPage UI changes in XAML-Views, NAudio.Wasapi in Build-and-Publish. Retake all 24 screenshots. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 19, 2026
  • Fix Home.md descriptions: add language, localization, and Keyboard+Mouse - Settings: mention language selection - Architecture Overview: mention localization section - Virtual Controllers: add missing Keyboard+Mouse type Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 16, 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
  • Update wiki: combo triggers, Always mode, mouse actions, retake all screenshots Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 15, 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
  • Add Input Precision wiki page with flight-sim-grade analysis Covers polling architecture, axis value pipeline at each stage, dead zone math precision, POV hat support, and output throughput. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 7, 2026
  • Update Home.md: Services Layer description lists all 7 services Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 6, 2026
  • Update wiki for Web Controller, Force Raw Mode, stick calibration, and retake all screenshots - Add Web Controller page: getting started, layouts, touch controls, connection, rumble, technical details - Add Home.md entry for Web Controller - Update Devices: device detail pane (GUID/instance path marquee), Force Raw Joystick Mode, stick calibration - Update Stick Dead Zones: center offset calibration, max range per axis - Update Architecture Overview: WebControllerServer service, Web Controller Server Thread, WebAssets directory - Update Services Layer: WebControllerServer section, update service count to 7 - Update Build and Publish: WebAssets directory in project structure - Update Troubleshooting: buttons map to wrong outputs (force raw mode solution) - Update 3D Model System and 3D/2D Visualization for touch gesture details - Retake all 12 screenshots with latest UI Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    @hifihedgehog hifihedgehog committed Mar 6, 2026