Red Hat Bugzilla – Bug 1071697
synaptics MT axes are initialized with the wrong axis number
Last modified: 2014-10-14 00:53:02 EDT
Description of problem: Synaptics on RHEL 6 unconditionally undefines SMOOTH_SCROLLING because of limitations of the rest of the xorg stac. The DeviceInitTouch function relies on SMOOTH_SCROLLING to be defined when multitouch is present (which is the historical sequence). With it missing, the number of axes the device has is not high enough to initialize multitouch axes. Specifically: int axnum = 4 + i; /* Skip x, y, and scroll axes */ Should be 2 + i, because the two smooth scrolling axes are missing. Version-Release number of selected component (if applicable): xorg-x11-drv-synaptics-1.6.2-13.el6 How reproducible: 1. Start up an X server with a multitouch-capable touchpad. Run xinput list "SynPS/2 Synaptics TouchPad" and look at the axis description for multitouch axes. It'll show -1, -1 as axis range 2. disable all gestures in the driver: synclient VertTwoFingerScroll=0 ClickFinger1=0 ClickFinger2=0 ClickFinger3=0 TapAndDragGesture=0 TapButton1=0 TapButton2=0 TapButton3=0 3. run xinput test-xi2, move into the window, then use two fingers. The touch updates will have axes 0, 1, and 4+ set. Actual results: The MT axes are not initialized with the correct axis ranges, the server will refuse such axes on init. Events still have the axis values in them though. Expected results: Correct number of axes on the device. Additional info: This bug is unlikely to be an issue for clients, since RHEL6 does not support multi-touch, and to get touch events client would have to disable scrolling, tapping, etc. on the touchpad driver. This bug is more visible on newer servers that print a warning to the log if a driver tries to initialize an axis that exceeds the number of axes on the device.
MODIFIED xorg-x11-drv-synaptics-1.7.5.901-2.el6 is available in brew
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2014-1376.html