Synaptics custom gestures for Windows using registry
Asked Answered
Q

8

7

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:

  • Three finger left/right: Back/forth in browser
  • Four finger left/right: Switch between Virtual Desktops

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?

Quinque answered 3/8, 2015 at 20:56 Comment(0)
S
22

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:

  • Browser back - 0x00000a6
  • Browser forward - 0x000000a7
  • Switch to left desktop - 0x30115b25 (ctrl+win+arrow left)
  • Switch to right desktop - 0x30115b27 (ctrl+win+arrow right)

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"
Symphonist answered 1/3, 2016 at 9:11 Comment(16)
This is simply perfect. I managed to get the browser back/forward to work, exactly as you explained. However, I dont have any ActionIDs under 4-finger gestures, only PluginIDs. Also, how do you know which hexadecimal numbers correspond to the specific key combinations? Or which ActionID represents each gesture? Thank you very much!Quinque
You could try to create missing ActionIDs in user's settings, but they couldn't work if device doesn't support corresponding gestures. About keys: I just compared actions with descriptions, also saw that 3-key combos are done with 0x30 or 0x33 as first byte, but 0x33 acted strange (it adds Enter press in some apps I tried like Explorer and console). Key codes for WindowsSymphonist
Inside the 4FingerGestures folder, I tried to replicate the missing ActionIDs without luck. I can see 4FingerTap by looking under the root directory (where 4FingerGestures-folder is placed). This might mean that my touchpad can detect up to 4 fingers, but not detect actual 4 finger swipes. In regards to the key combos, I have actually noticed that even the 0x30 adds Enter. This is evident in Notepad as well.Quinque
I might have figured out why it keeps adding Enter, regardless of what 0x3* number is used. I changed ActionID11 (Tap according to you) from 0x60 (96) to 0x14 (20). 0x14 is the "Page Down"-plugin. I changed the KeySequence from 0x22 to 0x3A, which is an undefined virtual key. As far as I can tell, this works flawlessly. I haven't experienced anything different in changing the Tap to do nothing.Quinque
I did notice however, that when switching between desktops, the window on the previous desktop are still in focus. So if I have Skype opened, switch windows and immediately type something on the screen, the text will show up on Skype instead of on the current desktop. Anyone knows how to avoid this?Quinque
Wow that's really cool. Thank you so much. I was badly searching for this answer. I was considering to spend $5 for multiswipe program. You saved me.Anoint
@Rex, did you ever find a solution for the focus problem?Tungstic
@s.meijer: Focus isn't changing while using hotkeys either, because it's a behavior of window manager, you can try it with using hotkeys directly. Focus isn't switching in Linux too (at least in Gnome and KWin).Symphonist
@Symphonist - Where can one can find all possible valid keysequence values for actions beyond those specified in this answer? And what the valid actionIDs can be? I too have a touchpad with 4 finger gestures present in the OEM (Dell) drivers, but the registry folder for 4 fingers is empty. I would like to change some of the hardcoded actions in the GUI based Synaptics driver settings (from OEM). For example: four finger swipe up to cycle through open windows and three finger swipe up for Cortana are the defaults. I would like to change those actions to something else I may find more useful.Ratfink
@TJKV: Read other comments :) There are the link to key codes and the right first byte value to make valid keysequences for multikey press emulation. If in registry path HKCU\SOFTWARE\Synaptics\SynTP\*name-and-connection-type-of-device*` there is no 4Finger*Action` keys while others presented - device or driver doesn't support it, if it's empty - discard settings to defaults in GUI and click Apply. ActionIDs are described in answer.Symphonist
Not working for me, tried the exact same instructions. Even tried specifying the left/right windows key and the left/right control keys. Also tried restarting the synt service in the Windows service manager. Is it possible that this answer is obsolete?Themis
@Themis Very unlikely that Synaptic changed the behavior but still possible. Which version is your driver and did you applied the changes in Current_User branch of register, not System one?Symphonist
Yep! I did the same as the instructions + more, looks like this isn't possible anymore.. :(Themis
Thanks a lot @Symphonist for this, it was a very good start, but the actual ActionIDs I had to modify to get this to work were in HKEY_USERS\{bunch_of_numbers}\SOFTWARE\Synaptics\SynTP\{type_of_device} (do a Ctrl+F for "Synaptics" under HKEY_USERS). And ActionID11 (for tap action) did nothing, I had to actually modify e.g. 3FingerTapPlugInActionID in the parent folder. If all else fails, you can replace existing plugins with the one you want (e.g. replace HKLM\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\43 with 97 if you want 3 finger tap mute). Hope this helps someone out!Elfland
@AmineKchouk As you may see, Synaptics changed the settings storage around 2017 so my answer doesn't cover it precisely ever since, but it still covers the general idea how it works. Should put a disclaimer 2 years ago, fixing it.Symphonist
Yes yes that's what I said, your answer covers the general idea very very well and I thank you a lot for making this post! :)Elfland
T
2

I created a reg file starting from chupasaurus answer.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Synaptics\SynTP\*edit here*\3FingerGestures]
"ActionID1"=dword:00000017
"ActionID3"=dword:00000019
"ActionID5"=dword:00000018
"ActionID7"=dword:0000001A

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\23]
"KeySequence"=dword:000000a6

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\24]
"KeySequence"=dword:000000a7

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\25]
"KeySequence"=dword:3A115b25

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\26]
"KeySequence"=dword:3A115b27

It works for me, just find out the proper name of your folder HKEY_CURRENT_USER\SOFTWARE\Synaptics\SynTP*this-one*.

Mine is a 5 years old laptop, its not fluid, and sometimes it opens the windows menu for no reason. I cannot ask more but other solutions are welcome.

Turki answered 30/4, 2016 at 17:45 Comment(3)
I should add that for unknown reasons it stops working after the laptop goes into hybernation.Turki
I have the same problem after closing the lid on my laptop. A quick fix is to to go Task Manager and end the task "Synaptics Touchpad 64-bit Enhancements". The task should automatically restart and the gestures should work again.Quinque
@Turki How do i reverse the swipe gestures? I want to swipe right to go back and swipe left to go forward.Cypher
L
2

The original answer didn't work on my Windows 10 HP Spectre but azote's answer led me to the solution.

I modified actionid's 3 and 7 under Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTP\Win10\3FingerGestures

Then restarted with the powershell command from chupasaurus (below) and voila! Works like a charm and the 3 finger up and down swipes still work too.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTP\Win10\3FingerGestures]
"ActionID3"=dword:00000018
"ActionID7"=dword:00000017

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\23]
"KeySequence"=dword:000000a6

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\24]
"KeySequence"=dword:000000a7

Run PowerShell as Admin:

Stop-Service "SyntpEnhService"; kill -name SynTPEnh; kill -name SynTPHelper; Start-Service "SynTPEnhService"
Lunation answered 13/4, 2018 at 18:29 Comment(0)
Q
1

Confirming this actually worked on Windows 10 HP Spectre with Synaptics driver v19.3.11.41. For the *editme* flag I had to use the "TouchPadSMB2cTM3257" option (TouchPadPS2TM3257 was also installed but did not work)

My contribution (just setting navigate back and forth):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Synaptics\SynTP\*editme*\3FingerGestures]
"ActionID3"=dword:00000018
"ActionID7"=dword:00000017

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\23]
"KeySequence"=dword:000000a6

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\24]
"KeySequence"=dword:000000a7

Do set the "current user" part in the correct user hive :-)

Quartziferous answered 11/4, 2017 at 14:54 Comment(1)
Thanks for this - I missed the 'HKEY_CURRENT_USER' part for the 3FingerGesture - there is the same registry in HKLM, which is confusing. I can't believe Windows users have to do all this to get something so simple to work. :/Quiroz
A
1

How to map changing browser-tabs to 3-finger swipe left and right

This isn't so much an answer for the first question (as I feel that's been sufficiently answered), but some information for future reference and others who may want to do the same thing:

ChromeOS has a feature I like of using 3-finger swipe to change between tabs. I spent a few days googling around before I realized all the information I needed was in the comments here.

I didn't change the behavior of 3-swipe up or down, so I only editted ActionID3 and 7. In HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\25 I changed KeySequence to 20001122 (2-key combo of ctrl+Page Down), and similarly HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\26\KeySequence to 20001121 (ctrl+PageUp). I was going to use ctrl+tab and ctrl+shift+tab, but none of the pre-existing macros used the tab key so I was unsure what its keysequence-value would be.

With these edits, I then changed ActionID3 to 19 (25 in hex) [i.e. swipe-right = ctrl+Page Down] and ActionID7 to 1A (26 in hex) [i.e. swipe-left = ctrl+Page Up] under the registry entry [HKEY_CURRENT_USER\SOFTWARE\Synaptics\SynTP\ <Your trackpad> \3FingerGestures]

Hopefully someone else finds this useful!

Analogy answered 12/6, 2017 at 15:46 Comment(0)
C
1

This reg key allowed my lenovo t50 touchpad 3 finger back/forward work again on windows 10:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTP\Win10]

Note: this will also disable the 3 finger up/down gesture.

Reboot after applying regkey.... this works on explorer, chrome, etc

Cresa answered 20/6, 2017 at 20:26 Comment(1)
Thanks, that worked for me. By only changing Action3 and Action7, the up/down gestures still work on my Lenovo x240.Vandalize
P
1

The 4-finger horizontal scrolling settings are in a key not mentioned in any of the other answers (at least for my ThinkPad T460s running Windows 10).

I had the exactly the same query and this is the reg file that solved the problem for me:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTP\Win10\3FingerGestures]
"ActionID3"=dword:00000018
"ActionID7"=dword:00000017

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\23]
"KeySequence"=dword:000000a6

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPPlugIns\SynTP\24]
"KeySequence"=dword:000000a7

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh\ZoneConfig\Win10\4FHorizontal Scrolling]
"NegativeCustomZoneID"=dword:00000087
"PositiveCustomZoneID"=dword:00000088

And as chupasaurus's answer, run this in PowerShell (admin):

Stop-Service "SyntpEnhService"; kill -name SynTPEnh; kill -name SynTPHelper; Start-Service "SynTPEnhService"
Pomeroy answered 4/12, 2018 at 4:26 Comment(0)
C
0

Not at the registry level. I have tried everything. This has to be implemented at the driver level.

The problem is most of the synaptics track pads are do not follow Microsoft's "precision track pad specifications." Hence Microsoft is blocking synaptics ability to enable this feature on their track pads.

Cofsky answered 25/10, 2015 at 3:37 Comment(1)
I start to hate win10 even more than 8. Did not think that could ever be possible - thanks Microsoft for teaching meAtalanta

© 2022 - 2024 — McMap. All rights reserved.