After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 480477 - Laptop scroll pad doesn't scroll windows
Laptop scroll pad doesn't scroll windows
Status: RESOLVED DUPLICATE of bug 542777
Product: gtk+
Classification: Platform
Component: Backend: Win32
2.10.x
Other All
: Normal normal
: ---
Assigned To: gtk-win32 maintainers
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2007-09-26 05:57 UTC by David Grohmann
Modified: 2011-01-13 09:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Grohmann 2007-09-26 05:57:47 UTC
Please describe the problem:
Using a Dell Inspiron 6400 with its synamptics touchpad in windows doesn't scroll GTK+ applications specifically pidgin (developers claim this is a GTK+ issue) Original pidgin bug report - http://developer.pidgin.im/ticket/2113 

When trying to scroll a window using the side of the touch pad an icon appears showing the cursor dragging the scroll bar but the window doesn't actually scroll.

Steps to reproduce:
1. Run GTK+ app in windows (pidgin)
2. Try to scroll a scrollable window using the laptop touchpad
3. 


Actual results:
Window fails to scroll

Expected results:
Window should scroll

Does this happen every time?
yes

Other information:
Windows XP SP2 synamptics touchpad driver 8.2.4.6 (3/8/2006)
Comment 1 David Grohmann 2007-09-26 05:59:40 UTC
Should mention this is GTK 2.10.13 rev A that ships with pidgin 2.2.0
Comment 2 Justin 2008-09-17 18:14:40 UTC
Also experiencing this issue with a Lenovo ThinkPad T61.
Comment 3 Braden Anderson 2008-09-25 17:35:12 UTC
I can confirm this on an Dell Inspiron E1705. KatMouse can't fix it, either.
Comment 4 Tom Honermann 2008-10-03 20:31:59 UTC
I am also experiencing this on an IBM/Lenovo T40 with the builtin synaptics (IBM UltraNav) pointer device.  This deficiency is extremely frustrating.  If someone can give me a hint as to why this might not be working, I can debug/code.
Comment 5 Tom Honermann 2008-10-03 20:43:19 UTC
(In reply to comment #4)
> I am also experiencing this on an IBM/Lenovo T40 with the builtin synaptics
> (IBM UltraNav) pointer device.  This deficiency is extremely frustrating.  If
> someone can give me a hint as to why this might not be working, I can
> debug/code.
> 

I forgot to mention:  Windows 2000 SP4, GTK+ runtime 2.14.3.
Comment 6 Hans Breuer 2008-10-03 20:56:37 UTC
Just for the record: my Sony Vaio with an "Alps" touch pad and XP is working fine.
And for me no "icon appears showing the cursor dragging", if I recall correctly this is some superfluous extra software you need to switch off. 
After all this may be a configuration issue of your system, not a problem with the gtk sources. 
Comment 7 John Ehresman 2008-10-03 21:13:44 UTC
This is almost certainly due to the synaptics hardware / driver.  The first thing is to find if any native window messages are being sent when you try to scroll.  Either run under a debugger or use --gdk-debug=EVENTS (I think) to get a verbose event log.  I don't have synaptics hardware to replicate this here.
Comment 8 Tom Honermann 2008-10-05 18:47:28 UTC
(In reply to comment #7)
> This is almost certainly due to the synaptics hardware / driver.  The first
> thing is to find if any native window messages are being sent when you try to
> scroll.  Either run under a debugger or use --gdk-debug=EVENTS (I think) to get
> a verbose event log.  I don't have synaptics hardware to replicate this here.
> 

Thanks John.  I've been researching, and I think I understand what is going on here.  I used Spy++ (from a MS Visual Studio .NET 2003 installation) to monitor Windows events sent to a process that worked with the Synaptics scroll features and found that the Synaptics driver sends WM_VSCROLL amd WM_HSCROLL messages in response to scroll events (As opposed to the more typical WM_MOUSEWHEEL message).  When monitoring a GTK+ app (Pidgin), I discovered that the driver was not sending these messages at all.  I searched for other occurrences of this problem and come across the following:

http://blogs.msdn.com/markrideout/archive/2006/01/12/512359.aspx

It seems that the Synaptic driver will only send scroll events to windows that have a child window with a class name of "ScrollBar".  GTK+ creates its scroll bars with a class name of "gdkWindowChild".  This design choice on the part of the Synaptics driver seems questionable, but I can only assume there is some legitimate reason for it (Perhaps to avoid inadvertently sending scroll messages to non-scrollable windows?).

A workaround for this would be to create a hidden child window with class name "ScrollBar" that simply redirects the WM_VSCROLL and WM_HSCROLL messages.

I'll try to prototype this, but would appreciate any hints, suggestions, or alternative implementation ideas.
Comment 9 Tom Honermann 2009-04-03 04:43:25 UTC
I finally discovered that the Synaptic driver can be configured to send different types of messages depending on the class name of the target window.  The file for configuring this is named 'tp4table.dat' (perhaps 'tp4scrol.dat' depending on the version of the driver).  On my system, this file is installed in 'C:\Program Files\Synaptics\SynTP'.  To determine the installation location, open 'Device Manager', right click on 'ThinkPad UltraNav Pointing Device', and select 'Properties'.  Click on the 'Driver' tab and select 'Driver Details...'

I added the following lines to my 'tp4table.dat' file:

    ; GTK+
    *,*,*,gdkWindowTopLevel,*,gdkWindowChild,WheelStd,0,9

A reboot is required for the changes to take affect (or, you can terminate the 'SynTPEnh.exe' process in Task Manager and restart it from the installation location)

Scrolling now works for me - most of the time anyway.  Sometimes, I need to drag the scroll bar briefly before scrolling with the touchpad/trackpoint works correctly - I'm not sure why, seems to me likely to be a problem in Pidgin or GTK+ (I'm using GTK+ 2.12.6 - ancient, I know)
Comment 10 johann 2010-11-18 10:19:37 UTC
I tried out Tom's suggestion, unfortunately it did not help in my case.

Im running Windows 7 64Bit on a Thinkpad x201. Scrolling does not work in several Applications, for instance Pidgin and Lyx. I would really be interested if someone had an idea to get the scrolling to work!
Comment 11 kleingeist 2011-01-12 22:19:35 UTC
This is an duplicate of Bug 542777 

Still i can confirm it on WinXP SP3 and GTK+ 2.16.6 

As a workaround one can create a DWORD Key "UseScrollCursor" with a value of 0 in "HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh" as is explained on http://blog.alexou.net/2010/07/30/scrolling-in-gtk-apps-with-synaptics-driver/ 
While this will enable Scrolling in GTK Apps, it will always scroll the focused window and no longer the window below the cursor
Comment 12 Tor Lillqvist 2011-01-13 09:55:06 UTC
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find.

*** This bug has been marked as a duplicate of bug 542777 ***