From 84644eeda1a2406fe532cd5c0458d179164356ab Mon Sep 17 00:00:00 2001 From: fakebob2004 <283658828+fakebob2004@users.noreply.github.com> Date: Thu, 30 Jul 2026 13:42:21 +0800 Subject: [PATCH 1/2] publish Windows click validation handoff --- handoff/README.md | 36 +++++++++++++++++++++++++++ handoff/windows-runtime.json | 30 ++++++++++++++++++++++ windows/driver/MtpVhfTouchpad.inf | 2 +- windows/driver/MtpVhfTouchpad.vcxproj | 2 +- windows/shared/TouchpadIoctl.h | 2 +- 5 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 handoff/README.md create mode 100644 handoff/windows-runtime.json diff --git a/handoff/README.md b/handoff/README.md new file mode 100644 index 0000000..6d3fc0f --- /dev/null +++ b/handoff/README.md @@ -0,0 +1,36 @@ +# Agent integration handoff + +Runtime coordination between the Windows and macOS agents is exchanged through +versioned files in this directory instead of manual copy/paste. + +## Windows to macOS + +The Windows agent owns `windows-runtime.json`. The macOS agent should pull the +latest integration branch, read that file, and use its exact address, port, +minimum commit, and startup marker. Values such as `WINDOWS_IP` in general +documentation are placeholders and must never be passed literally. + +## macOS to Windows + +After a real-device run, the macOS agent should create or update +`mac-validation.json` with this shape: + +```json +{ + "schema_version": 1, + "tested_windows_runtime_updated_at": "copy from windows-runtime.json", + "mac_source_commit": "full Git commit", + "connected": true, + "physical_button_enabled": true, + "button_events": 2, + "physical_drag": "passed", + "notes": [] +} +``` + +`button_events` must increase for physical press and release. Use +`"physical_drag": "failed"` and place exact symptoms in `notes` if Windows +does not drag despite nonzero button events. + +Do not put credentials, certificate private keys, tokens, or public-network +addresses in handoff files. diff --git a/handoff/windows-runtime.json b/handoff/windows-runtime.json new file mode 100644 index 0000000..1b3694b --- /dev/null +++ b/handoff/windows-runtime.json @@ -0,0 +1,30 @@ +{ + "schema_version": 1, + "updated_at": "2026-07-30T13:45:00+08:00", + "source_commit": "5334a7363c9a6db5693b3e498e14e8da2a6173b8", + "windows": { + "ipv4": "192.168.31.115", + "tcp_port": 39871, + "receiver_executable": "out/windows/Release/mtp-receiver.exe", + "receiver_listening": true, + "driver_version": "0.1.0.8", + "ioctl_abi_version": 2, + "driver_installed": true + }, + "mac": { + "minimum_source_commit": "5334a7363c9a6db5693b3e498e14e8da2a6173b8", + "connectivity_command": "nc -vz 192.168.31.115 39871", + "agent_command": "./build/mac-touch-agent 192.168.31.115 39871", + "required_startup_marker": "physical button=enabled" + }, + "validation": { + "windows_receiver_tests": "passed", + "synthetic_button_frame": "passed", + "real_mac_physical_drag": "pending" + }, + "notes": [ + "Do not pass the literal placeholder WINDOWS_IP to mac-touch-agent.", + "Physical press validation requires button_events to increase on both press and release.", + "Write the Mac result to handoff/mac-validation.json and commit it for the Windows agent." + ] +} diff --git a/windows/driver/MtpVhfTouchpad.inf b/windows/driver/MtpVhfTouchpad.inf index 2fca6f4..09a8c10 100644 --- a/windows/driver/MtpVhfTouchpad.inf +++ b/windows/driver/MtpVhfTouchpad.inf @@ -3,7 +3,7 @@ Signature="$WINDOWS NT$" Class=HIDClass ClassGuid={745A17A0-74D3-11D0-B6FE-00A0C90F57DA} Provider=%ManufacturerName% -DriverVer=07/23/2026,0.1.0.7 +DriverVer=07/30/2026,0.1.0.8 CatalogFile=MtpVhfTouchpad.cat PnpLockdown=1 diff --git a/windows/driver/MtpVhfTouchpad.vcxproj b/windows/driver/MtpVhfTouchpad.vcxproj index b223eec..400c96a 100644 --- a/windows/driver/MtpVhfTouchpad.vcxproj +++ b/windows/driver/MtpVhfTouchpad.vcxproj @@ -27,7 +27,7 @@ Level4true4005;4083;%(DisableSpecificWarnings)$(ProjectDir)..\shared;%(AdditionalIncludeDirectories) VhfKm.lib;%(AdditionalDependencies) - 0.1.0.7 + 0.1.0.8 diff --git a/windows/shared/TouchpadIoctl.h b/windows/shared/TouchpadIoctl.h index ddc70fa..206bea5 100644 --- a/windows/shared/TouchpadIoctl.h +++ b/windows/shared/TouchpadIoctl.h @@ -13,7 +13,7 @@ #define MTP_INT32 int32_t #endif -#define MTP_IOCTL_ABI_VERSION 1u +#define MTP_IOCTL_ABI_VERSION 2u #define MTP_HID_MAX_CONTACTS 5u #define MTP_COORDINATE_LOGICAL_MAX 32767u From 9b25be700e982cf4302b0c7af5c42c2cf3ea01f1 Mon Sep 17 00:00:00 2001 From: fakebob2004 <283658828+fakebob2004@users.noreply.github.com> Date: Thu, 30 Jul 2026 13:50:58 +0800 Subject: [PATCH 2/2] request Mac held-button trace --- handoff/README.md | 16 +++++++++++++--- handoff/windows-runtime.json | 19 ++++++++++++++++--- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/handoff/README.md b/handoff/README.md index 6d3fc0f..b9d7fbc 100644 --- a/handoff/README.md +++ b/handoff/README.md @@ -23,14 +23,24 @@ After a real-device run, the macOS agent should create or update "connected": true, "physical_button_enabled": true, "button_events": 2, - "physical_drag": "passed", - "notes": [] + "physical_drag": "failed", + "raw_button_callbacks": [ + {"pressed": 1, "released": 0}, + {"pressed": 0, "released": 1} + ], + "emitted_button_transitions": [ + {"sequence": 100, "button": true, "contact_count": 1}, + {"sequence": 350, "button": false, "contact_count": 1} + ], + "notes": ["Add exact symptoms here."] } ``` `button_events` must increase for physical press and release. Use `"physical_drag": "failed"` and place exact symptoms in `notes` if Windows -does not drag despite nonzero button events. +does not drag despite nonzero button events. For a two-second hold, the +frame-level button value must remain true for every intervening contact frame; +a short true/false pulse is only a click and cannot drag. Do not put credentials, certificate private keys, tokens, or public-network addresses in handoff files. diff --git a/handoff/windows-runtime.json b/handoff/windows-runtime.json index 1b3694b..2362a25 100644 --- a/handoff/windows-runtime.json +++ b/handoff/windows-runtime.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "updated_at": "2026-07-30T13:45:00+08:00", + "updated_at": "2026-07-30T14:20:00+08:00", "source_commit": "5334a7363c9a6db5693b3e498e14e8da2a6173b8", "windows": { "ipv4": "192.168.31.115", @@ -20,11 +20,24 @@ "validation": { "windows_receiver_tests": "passed", "synthetic_button_frame": "passed", - "real_mac_physical_drag": "pending" + "real_mac_click": "passed", + "real_mac_physical_drag": "failed", + "observed_symptom": "A physical press activates the target window, but holding the press while moving does not select text." + }, + "requested_mac_diagnostics": { + "scenario": "Place one finger on the trackpad, press and hold for two seconds while moving, then release.", + "required_trace": [ + "Every raw MTRegisterButtonStateCallback invocation with pressed and released integer arguments.", + "Every emitted button transition with sequence, frame flags, and contact_count.", + "Final button_events count." + ], + "acceptance_condition": "TP_FRAME_BUTTON remains set on every contact frame from physical down until physical release.", + "response_file": "handoff/mac-validation.json" }, "notes": [ "Do not pass the literal placeholder WINDOWS_IP to mac-touch-agent.", "Physical press validation requires button_events to increase on both press and release.", - "Write the Mac result to handoff/mac-validation.json and commit it for the Windows agent." + "The current symptom is consistent with a short button pulse rather than a held level.", + "Write the Mac trace and result to handoff/mac-validation.json and commit it for the Windows agent." ] }