linuxwacom / xf86-input-wacom

X.Org driver for Wacom devices
356 stars 45 forks source link

Add option SmoothPanscrollingEnabled #309

Closed whot closed 1 year ago

whot commented 1 year ago

This is a backwards-compatibility option similar to the Pressure2K option. GDK2 applications are effectively limited to 7 axes (value of GDK_AXES_LAST in GDK2) and adding smooth panscrolling gives our device 8 axes total. This can cause issues when the driver, GDK and the application don't agree on the number of axes in the device.

This is an application/GDK bug but as for the Pressure2K option we expect there to be applications that cannot be updated easily. To work around this, provide a driver option to disable this new feature altogether and effectively return to 6 axes for the pen device.

This is a partial revert of https://github.com/linuxwacom/xf86-input-wacom/commit/fe923e927a8ddf4d2e82ef4757c885b06d47fa03 "Implement smooth panscrolling" for the implementation. Minor changes though, the implementation now relies more on local variables than pointers.

This is in response to #307, Gimp crashing with xf86-input-wacom 1.2.0 because we now have 8 axes on the pen.

cc @Greenscreener, @jigpu, @Pinglinux


Note: not fully tested yet, just throwing this out as FYI and so there's no duplication of effort.

Pinglinux commented 1 year ago

I am ok with this patchset, especially since it fixes the Gimp crash issue. The X driver is for old systems anyway.

whot commented 1 year ago

Added a test case for vertical scrolling since that was broken thanks to a typo, fixed now.