windowsregistrymousegestures

Synaptics custom gestures for Windows using registry


I am a huge fan of mouse gestures and the ones introduced in Windows 10 are great.

However, I used to be able to use three-finger swipe right/left as back and forth gestures in my browser in Windows 8.1 and now the same gesture is used for task switching. I can install the old drivers, but then I will loose the three-finger swipe up gesture to show all windows open.

I use a Synaptics ClickPad which can detect up to four fingers.

Is is possible to change the registry to enable to following gestures:

For instance, switching between Virtual Desktops is using the key combination CTRL + WINKEY + RIGHT/LEFT ARROW. How do I apply this combination to the registry?


Solution

  • DISCLAIMER: This answer doesn't cover current versions of the driver but the general direction of tweaking the gestures for them.

    To customize swipe behavior, you should dig in registry. Action settings are stored in HKLM\SOFTWARE\Synaptics\SynTPPlugins\SynTP\, each key's name is ID. There are some unused keys, which can be used for custom key combinations, I've edited default arrow keys (IDs 23-26) templates for this.

    To change behavior of action, you should change KeySequence value (which consist of behavior of key pressing and the keys itself). Here's the list for actions you've asked:

    After you've made changes to these "plugins", you need to assign their IDs to user settings, which are stored in HKEY_**CURRENT_USER**\SOFTWARE\Synaptics\SynTP\*name-and-connection-type-of-device*\, there are separate keys for 3- and 4-finger gestures. ActionID1,3,5,7 are matching swipe up, right, down and left, Action11 for tap, so you should assign ID (in decimal form) of customized plugins for ActionIDs 3 and 7 (note: my touch pad can't recognize 4-finger swipe, so I don't have these ActionIDs available).

    To use new settings you should stop all SynTP*.exe processes and start service named SynTPEnhService. Powershell one-liner for that:

    Stop-Service "SyntpEnhService"; kill -name SynTPEnh; kill -name SynTPHelper; Start-Service "SynTPEnhService"