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?

Rex
  • 143
  • 1
  • 3
  • 11

8 Answers8

21

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"
chupasaurus
  • 336
  • 3
  • 6
  • 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! – Rex Mar 02 '16 at 14:17
  • 1
    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 Windows](https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx) – chupasaurus Mar 03 '16 at 16:47
  • 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. – Rex Mar 03 '16 at 17:44
  • 3
    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. – Rex Mar 09 '16 at 00:21
  • 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? – Rex Mar 09 '16 at 14:10
  • 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. – SilleBille Jun 07 '16 at 15:21
  • @Rex, did you ever find a solution for the focus problem? – s.meijer Jul 05 '16 at 13:33
  • @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). – chupasaurus Jul 06 '16 at 14:58
  • @chupasaurus - 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. – TJKV Apr 06 '17 at 00:55
  • @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. – chupasaurus Apr 07 '17 at 02:14
  • 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? – NaturalBornCamper Dec 08 '17 at 02:23
  • @NaturalBornCamper 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? – chupasaurus Dec 12 '17 at 19:19
  • Yep! I did the same as the instructions + more, looks like this isn't possible anymore.. :( – NaturalBornCamper Dec 14 '17 at 15:21
  • Thanks a lot @chupasaurus 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! – Amine Kchouk Apr 02 '21 at 16:59
  • @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. – chupasaurus Apr 03 '21 at 20:53
  • 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! :) – Amine Kchouk Apr 06 '21 at 19:24
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.

Reos
  • 21
  • 3
  • I should add that for unknown reasons it stops working after the laptop goes into hybernation. – Reos May 01 '16 at 09:13
  • 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. – Rex May 26 '16 at 22:30
  • @Reos How do i reverse the swipe gestures? I want to swipe right to go back and swipe left to go forward. – Ebsan Aug 27 '16 at 20:03
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"
Mark Lilly
  • 21
  • 1
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 :-)

mendel
  • 41
  • 2
  • 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. :/ – Ambrose Leung May 09 '17 at 05:50
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!

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

azote
  • 586
  • 4
  • 6
  • 1
    Thanks, that worked for me. By only changing Action3 and Action7, the up/down gestures still work on my Lenovo x240. – jebeaudet Apr 02 '21 at 03:05
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"
paradroid
  • 219
  • 3
  • 12
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.

Alok Narasiman
  • 144
  • 1
  • 8
  • I start to hate win10 even more than 8. Did not think that could ever be possible - thanks Microsoft for teaching me – Florian Dec 06 '16 at 00:15