Skip to content

daniel-bavrin/cirque-fix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CirqueFix

Restores TrackPoint middle-button scroll on Lenovo laptops with Cirque/Sensel touchpads after Windows lock/unlock or sleep/wake.

The problem

Lenovo ThinkPads with Cirque/Sensel touchpads have a setting "Use top zone as TrackPoint buttons" that enables middle-button scrolling via the TrackPoint. This setting is stored in the driver but resets to its default (disabled) every time the screen locks and unlocks, or the system wakes from sleep. The official Sensel Control Panel UI re-applies the setting when its window is focused — but only if the UI is open and visible.

How it works

CirqueFix watches for Windows session unlock events and re-writes the relevant HID registers directly to the touchpad firmware via the Sensel serial pipe protocol (HID report ID 9, usage page 0xFF00). It reads your current settings from the registry (HKCU\Software\Cirque\Touchpad\Current) so it always applies whatever you have configured in the Sensel UI.

The mechanism was discovered by decompiling SenselSerialDevice.dll from the Cirque Touchpad Custom Settings app, which uses the open-source HidSharp library internally.

Requirements

Installation

Option A — installer (recommended)

  1. Download CirqueFix-x.x.x-Setup.exe from Releases
  2. Run it — Windows may show a SmartScreen warning ("Windows protected your PC") because the exe is not code-signed. Click More infoRun anyway. This is expected for open-source tools without a paid certificate.
  3. UAC will prompt for admin (needed to install to Program Files) — click Yes
  4. Follow the wizard — leave "Start automatically at logon" checked
  5. Done. CirqueFix starts immediately and will restart automatically after every future logon

To uninstall: Add/Remove Programs → CirqueFix → Uninstall. To repair: run the installer again — it will offer Repair and Uninstall options.

Option B — manual (no installer)

Download CirqueFix.exe from Releases and run it directly:

# Apply once and exit
CirqueFix.exe --once

# Run in background, re-applies after every unlock/wake
CirqueFix.exe --watch

To register the startup task manually:

schtasks /create /tn "CirqueFix" /tr "\"C:\path\to\CirqueFix.exe\" --watch" /sc onlogon /ru "%USERNAME%" /f /rl limited

Compatibility

Tested on:

  • Lenovo ThinkPad with Cirque touchpad, VID 0x2C2F (Sensel) [Lenovo ThinkPad X1 2-in-1 Aura Edition 21NU-007XPG]
  • Windows 11 23H2+

Should work on any device matched by the Cirque Touchpad Custom Settings app (VID 0x2C2F or 0x17EF).

Building from source

git clone https://github.com/YOUR_USERNAME/CirqueFix
cd CirqueFix
dotnet build src/CirqueFix.csproj -c Release

# Run tests
dotnet test tests/CirqueFix.Tests.csproj

# Debug build (verbose logging)
dotnet build src/CirqueFix.csproj -c Debug

Legal

CirqueFix is an independent tool and is not affiliated with, endorsed by, or supported by Cirque Corporation, Sensel, or Lenovo. "Cirque" and "Sensel" are trademarks of their respective owners, used here solely to identify hardware compatibility.

The protocol implemented here was discovered through lawful reverse engineering for interoperability purposes, consistent with EU Directive 2009/24/EC Article 6 and established US case law (Sega v. Accolade, Sony v. Connectix). No proprietary source code or copyrighted expression from Cirque or Sensel is included in this project.

License

MIT — see LICENSE

Contributing

Issues and PRs welcome. If you have a different Cirque/Sensel device and it works (or doesn't), please open an issue with your VID/PID.

About

Restores TrackPoint middle-button scroll on Lenovo laptops with Cirque/Sensel touchpads after Windows lock/unlock

Topics

Resources

License

Stars

Watchers

Forks

Contributors