Skip to content

History / Touchpad

Revisions

  • Document the PTP reader: tip-switch, frame assembly, slot stability Adds a full PrecisionTouchpadReader section to Engine-Library with the four spec-mandatory behaviors (tip-switch usage 0x42, multi-report frame assembly via contact-count, HID-contact-id-stable slot assignment, staleness clear), per-device state fields, and the public API. The four behaviors are what made 3- to 5-finger taps reliable on PTP hardware. Also: - Engine-Library RawInputListener: note the MOUSE_MOVE_ABSOLUTE skip. - Architecture-Overview: extend PrecisionTouchpadReader.cs line. - Touchpad: add a PTP-reader development subsection that summarizes the four behaviors and links to the Engine-Library field reference. Drop a pseudo-period semicolon in the recorder paragraph. - Input-Pipeline Step 2: show both newState paths (PTP via _ptpReader.ReadInto, SDL via ud.Device.GetCurrentState). The prior text only showed the SDL path.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: Algorithms and credits section with + GestureSign BSD-3 attribution The page already cited each recognizer's source paper in the body but didn't surface the copyright + license posture. Added a new 'Algorithms and credits' section above 'See also' with: - paper citation (Vatavu / Anthony / Wobbrock 2018) and the canonical JS reference link, naming the four copyright holders - GestureSign's PointPatternAnalyzer attribution - Both flagged BSD 3-Clause Sibling-commit on the PadForge repo adds the same attribution to README + About page + source-file headers.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: drop CircleCCW jargon, write it like a human The prior iteration introduced 'CircleCCW' in user-facing docs, which reads as an internal descriptor name leaking into prose. The frontend shows the two circle bindings as 'Circle (Clockwise)' and 'Circle (Counter-Clockwise)' - users never see 'CircleCCW' on screen. The docs now phrase it the same way: five shapes, with Circle binding clockwise and counter-clockwise separately.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: catalog claim is 6 in-box shapes, not 5 Tier 3 description said 'Five built-in shapes' and omitted CircleCCW, but InBoxShapeTemplates registers six entries: Circle, CircleCCW, Square, Triangle, Z, Checkmark. CW and CCW circles are bindable independently so a clockwise loop can fire a different mapping from a counter-clockwise one. Updated the count and the list, added one clarifying sentence about the CW/CCW split since users wouldn't otherwise notice the two-template-per-circle design.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: drop the residual $P-recognizer jargon in Tier 3 A prior cleanup pulled $P out of the article but missed the In-Box Gestures Tier 3 line. Replaced the algorithm name with the property users actually care about — scale, position, and rotation invariance — so 'small in the corner matches large in the centre' is plain. Threshold semantics unchanged.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: fix custom-gesture descriptor format (Custom_<name>, not CustomGesture <name>) The page said custom-gesture descriptors take the form 'Touchpad N CustomGesture <name>'. Source-verified: InputService.cs emits them as `Descriptor = $"Touchpad {padIdx} Custom_{cg.Name}"` (underscore between Custom and the gesture's user-chosen name, no 'Gesture' suffix). Updated to match.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: correct StickX/StickY descriptor format The picker emits descriptors via AddGesture's `$"Touchpad {padIdx} {name}"` template with name=`StickX` / `StickY` (no spaces between the word and the axis letter). Wiki page had "Touchpad N Stick X" / "Touchpad N Stick Y", which doesn't match what the user types in the mapping table. Spot-checked README and padforge.org — neither references those two descriptors with the wrong spacing.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: drop pseudo-colon em-dashes in tier headers "Tier 1 — single-finger fires." reads as the classic AI-prose em-dash pattern (bolded label, em-dash, gloss). Replaced with colons. Also broke the parenthetical "(devices that support multi-touch deep enough; Windows PTP carries all five)" into two short sentences to drop the inline semicolon.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: capture pipeline + screenshot embed at top of page - capture.ps1: add Touchpad to the first-slot tab sequence (between Gyro and the slot-walk). Skips with a yellow warning if the active slot's source doesn't expose a touchpad surface. - convert-screenshots.ps1: map pad-touchpad.png to "touchpad" so the PadForge/screenshots and padforge.org/assets writes pick it up. - Touchpad.md: embed images/pad-touchpad.png at the top of the page matching every other Pad-page wiki entry.

    @hifihedgehog hifihedgehog committed May 26, 2026
  • Touchpad: drop pseudo-colon em-dashes in initial draft Down from 12 em-dashes to 3 (the conventional 'Tier 1 —', 'Tier 2 —', 'Tier 3 —' section labels remain since they're true parentheticals in heading-style labels, not pseudo-colons attaching an explanation to a clause).

    @hifihedgehog hifihedgehog committed May 25, 2026
  • Add Touchpad wiki page; link from Home 3.3 added a real Touchpad tab with five cards (Stick / D-Pad Output, Mouse Output, Gesture Detection, In-Box Gestures, Custom Gestures) and a per-slot architecture — none of which had a wiki page. New Touchpad.md documents every card's knobs, the per-slot fan-out semantics, and the PTP-no-click caveat. Home gets a 'Touchpad' row in the 'Tune the feel' table alongside Gyro.

    @hifihedgehog hifihedgehog committed May 25, 2026