GNOME Bugzilla – Bug 143237
gdk_device_get_state not implemented for extended input devices (tablets) on win32
Last modified: 2004-12-22 21:47:04 UTC
The function gdk_device_get_state in gdk/win32/gdkinput-win32.c is not implemented for extended input devices (tablets) (gdk-2-4 branch from anoncvs updated today). This causes problems, for example in The GIMP 2.0.1 when holding down the Ctrl key to use the eyedropper, or when holding the Shift key to draw straight lines (the line extends from the upper left corner of the window instead of from the last clicked point). A very simple way of implementing this function is to use the last known device button and axes state in the GdkDevicePrivate structure. I have implemented this and it seems to work well for me (because tablets send frequent updates as soon as the stylus/puck is in proximity so the last known axes info is never old). This has been tested using a Wacom Graphire 3 USB tablet on Windows XP. A patch will be attached. Note that even after this has been patched there is another problem with using the shift key for the pen tool, but that is a separate bug which will be filed later.
Created attachment 28045 [details] [review] Patch to implement gdk_device_get_state for extended input devices in the Win32 port of GTK+ Suggested patch (against gtk-2-4 branch from anoncvs).
Thanks again. Patch applied to HEAD and gtk-2-4.