为 Windows 精确式触摸板带来类似 macOS 的三指拖移体验。
ThreeFingerDrag 通过 Windows HID Raw Input API 读取触摸点。当触摸板上恰好有三个触点时,程序会按住鼠标左键,并根据三个触点的平均位置移动指针,从而实现窗口、文件和其他对象的三指拖移。
这是一个独立开源工具,与 Apple 或 Microsoft 无关。
从 GitHub Releases 下载最新版:
ThreeFingerDragInstaller.exeSHA256SUMS.txt
当前安装器尚未进行代码签名,因此 Windows SmartScreen 可能显示安全提醒。运行前可使用同一 Release 中的 SHA-256 文件校验安装器。
- Windows 10 或 Windows 11
- 能够提供兼容 HID 数字化器报告的精确式触摸板
- .NET Framework 4.x,受支持的 Windows 通常已经内置
不同厂商的触摸板 HID 报告结构可能不同。本工具已经在开发设备上验证可用,但无法保证兼容所有笔记本电脑。
- 从 Releases 下载
ThreeFingerDragInstaller.exe。 - 双击运行安装器。
- 选择安装目录,默认路径为
D:\MyApp\ThreeFingerDrag。 - 安装完成后,从桌面快捷方式启动程序。
安装器支持直接覆盖更新,无需先卸载旧版本。
- 将三根手指同时放到触摸板上。
- 移动三根手指,即可拖动当前窗口、文件或选中的对象。
- 抬起任意一根手指即可释放拖移。
- 使用“灵敏度”调节指针移动幅度。
- 点击“隐藏到托盘”会关闭并释放设置窗口,但三指拖移核心仍然运行。
- 双击托盘图标可重新显示设置窗口。
- 可在主窗口或托盘菜单中启用、暂停或退出程序。
ThreeFingerDrag 启用时,可能与 Windows 自带的三指切换应用等手势冲突。需要使用 Windows 原生三指手势时,请先暂停 ThreeFingerDrag。
- 程序不会上传遥测信息或触摸数据。
- 普通运行信息只保存在有上限的内存缓冲区中。
- 只有发生错误或手动启用“诊断日志”时才会写入磁盘日志。
- 内存日志最多保留最近 300 行。
- 磁盘日志达到 512 KiB 后会自动截断。
日志位于所选安装目录下的 logs\ThreeFingerDrag.log。
- 单实例后台进程
- 复用 Raw Input 非托管缓冲区
- 设备断开或程序退出时释放 HID preparsed data
- 只在拖移期间运行释放检测定时器
- 设置窗口隐藏时不刷新状态和日志
- 隐藏到托盘时销毁设置窗口
程序基于 .NET Framework 和 WinForms,因此空闲内存会高于原生 Win32 小工具,但空闲 CPU 占用应接近零。
在仓库根目录打开 Windows PowerShell:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\build.ps1构建产物:
build\ThreeFingerDrag.exe
dist\ThreeFingerDragInstaller.exe
dist\SHA256SUMS.txt
构建脚本使用以下 .NET Framework 编译器:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
- 从托盘菜单退出 ThreeFingerDrag。
- 删除桌面快捷方式。
- 删除安装时选择的目录。
程序不会安装驱动或系统服务,也不会修改注册表。
- 兼容性取决于触摸板的 HID 报告结构。
- 当前安装器尚未进行代码签名。
- 三指拖移与 Windows 原生三指手势无法可靠地同时使用。
- 多显示器环境使用 Windows 虚拟屏幕尺寸,混合 DPI 显示器上的移动手感可能有所不同。
Bring macOS-style three-finger window dragging to a Windows precision touchpad.
ThreeFingerDrag reads touch contacts through the Windows HID Raw Input API. When exactly three contacts are present, it holds the left mouse button and moves the pointer using the average position of those contacts. This makes it possible to drag windows, files, and other objects with three fingers.
This is an independent open-source utility. It is not affiliated with Apple or Microsoft.
Download the latest release from GitHub Releases:
ThreeFingerDragInstaller.exeSHA256SUMS.txt
The installer is currently unsigned, so Windows SmartScreen may display a warning. Verify the installer with the SHA-256 file attached to the same Release before running it.
- Windows 10 or Windows 11
- A precision touchpad that exposes compatible HID digitizer reports
- .NET Framework 4.x, normally included with supported Windows installations
Touchpad HID layouts vary by manufacturer. The utility is tested on the hardware it was developed for, but compatibility with every laptop is not guaranteed.
- Download
ThreeFingerDragInstaller.exefrom Releases. - Run the installer.
- Choose an installation directory. The default is
D:\MyApp\ThreeFingerDrag. - Start the app from the desktop shortcut.
The installer supports in-place updates. You do not need to uninstall an older version first.
- Place exactly three fingers on the touchpad.
- Move all three fingers to drag the focused window, file, or selected object.
- Lift any finger to release the drag.
- Use Sensitivity to adjust pointer movement.
- Use Hide to tray to close and dispose the settings window while keeping the drag engine active.
- Double-click the tray icon to show the settings window again.
- Enable, pause, or exit the app from the main window or tray menu.
When ThreeFingerDrag is enabled, it may compete with native Windows three-finger gestures such as switching apps. Pause ThreeFingerDrag when you want to use the native Windows gesture.
- The app does not upload telemetry or touch data.
- Normal informational messages stay in a bounded in-memory buffer.
- Disk logs are written only for errors or when Diagnostics is enabled.
- The in-memory log is limited to the latest 300 lines.
- Disk logs are truncated after reaching 512 KiB.
Logs are stored under the selected installation directory in logs\ThreeFingerDrag.log.
- Single-instance background process
- Reused unmanaged Raw Input buffer
- HID preparsed data released when devices disconnect or the app exits
- Drag release timer runs only while a drag is active
- Hidden settings UI does not receive status or log updates
- Settings UI is disposed when hidden to the tray
The app uses .NET Framework and WinForms, so its idle memory is higher than a native Win32 utility. Idle CPU usage should remain near zero.
Open Windows PowerShell in the repository root:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\build.ps1Build outputs:
build\ThreeFingerDrag.exe
dist\ThreeFingerDragInstaller.exe
dist\SHA256SUMS.txt
The build uses the .NET Framework compiler at:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
- Exit ThreeFingerDrag from the tray menu.
- Delete the desktop shortcut.
- Delete the selected installation directory.
The app does not install a driver or system service and does not modify the registry.
- Compatibility depends on the touchpad's HID report layout.
- The installer is not currently code-signed.
- Three-finger drag and native Windows three-finger gestures cannot reliably operate at the same time.
- Multi-monitor movement uses the Windows virtual-screen dimensions and may feel different across mixed-DPI displays.