Getting Synaptics trackpad to send actual scroll-wheel events

32

Solution 1

From Scrolling in GTK+ apps with synaptics driver :

When using a Windows laptop, you might be stuck with a synaptic touchpad.

Those crappy drivers with their so-called virtual scrolling create a fake window below the cursor to display their custom scrolling icon.

That window interfere with the signal sent to the application under, and GTK for some reason can’t detect that (most likely the devs don’t care about us). The result is being unable to scroll in popular GTK apps like Wireshark or Pidgin.

After playing with Spy++ and Procmon for some time, I found an interesting registry key that solved my problem. This setting will disable the custom cursor when you scroll, effectively fixing the scrolling problem in GTK apps.

First you have to open regedit. Navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh
and create a new DWORD called UseScrollCursor with a value of 0.

Restart SynTPEh (or reboot).

Scrolling should work in GTK apps now, but you won’t see the scrolling cursor anymore.

Solution 2

Let me explain it this way. The touch-pad itself has absolutely 0 concept of scrolling. it senses a touch... and reports back an X and Y. The driver takes that information... and determines how to interpret it as various mouse-ish gestures. So... in short... it's up-to the driver to determine WTF a scroll is. So the problem here is the driver... or the driver configuration. And since you didn't specify what flavor of linux... your results might be rather mixed. Synaptics did create a suite for common flavors of Linux... but what you need to acquire them... or if it's available for your distro... is beyond me.

Share:
32

Related videos on Youtube

Ahmad Mohammadi
Author by

Ahmad Mohammadi

Updated on September 18, 2022

Comments

  • Ahmad Mohammadi
    Ahmad Mohammadi almost 2 years

    I have a calss like this :

    class Datagetterclass {
    var datatest = [ "Detergent" :
        [ "tazh" , "Golrang" , "something" ] ,
        "Drinks" :
            [ "hype" , "RedBull" , "Sprite" , "Coca" ],
        "SmallStuff" :
            [ "Gum" , "Pastil" , "Chips" , "Olive" , "Sausage" ]
        ]
    

    I made a tableview using this class's elements and it's working ok But when I want to active swipe deleting function because there is no indexpath for this dictionary I can't use the method "remove at index". How can I do it ???

    Actually I've tried to use "remove at index(indexpath.row)" and faced with this error :
    Cannot convert value of type 'Int' to expected argument type 'DictionaryIndex' (aka 'DictionaryIndex>')

    • Admin
      Admin over 12 years
      Does the Synaptics driver have any configuration under Control Panel - Mouse?
    • Admin
      Admin over 12 years
      Sure, that's the first place I looked, but found nothing helpful there.
  • TheCompWiz
    TheCompWiz over 12 years
    GTK isn't native to windows... there may be issues in translating windows-scroll messages to something GTK understands.
  • TheCompWiz
    TheCompWiz over 12 years
    Try updating drivers in windows for your touch-pad. synaptics.com/resources/drivers You might have better luck.
  • Ram Rachum
    Ram Rachum over 12 years
    I checked the drivers page, and weirdly I have a more advanced version. I have 15.3.22.0 while the drivers page offers 15.2.20.
  • Laurent
    Laurent about 12 years
    Thank you so much, I had the same problem and it was very annoying!
  • unrelativity
    unrelativity about 12 years
    This works a treat as well for apps like Zune, thanks!
  • kumarharsh
    kumarharsh almost 9 years
    works with Synaptics 17, but not with version 15 (atleast on my Dell XPS L501x). Good advice though, as I installed the version 17 even when Windows said it might permanently mutilate my hardware :P Works like a charm!
  • Ahmad Mohammadi
    Ahmad Mohammadi about 8 years
    Can you give me an example of how can I write the code to solve this problem of mine ?