RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 873721 - two-finger scrolling not working on hp8470p
Summary: two-finger scrolling not working on hp8470p
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: xorg-x11-drv-synaptics
Version: 6.4
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Peter Hutterer
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On: 903081
Blocks: 960058
TreeView+ depends on / blocked
 
Reported: 2012-11-06 14:47 UTC by Tomas Pelka
Modified: 2013-09-23 07:46 UTC (History)
0 users

Fixed In Version:
Doc Type: Known Issue
Doc Text:
Two-finger scrolling is default for devices that announce two-finger capability. However, on certain machines, although the touchpad announces two-finger capability, events generated by the device only contain a single finger position at a time and two-finger scrolling therefore does not work. To work around this problem, use edge scrolling instead.
Clone Of:
Environment:
Last Closed: 2013-05-22 22:31:12 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
xorg.log (149.41 KB, text/plain)
2012-11-06 14:55 UTC, Tomas Pelka
no flags Details
evemu-describe (826 bytes, text/plain)
2012-11-19 11:52 UTC, Tomas Pelka
no flags Details
edge-horizontal (121.86 KB, text/plain)
2012-11-19 13:12 UTC, Tomas Pelka
no flags Details
edge-vertical (33.35 KB, text/plain)
2012-11-19 13:18 UTC, Tomas Pelka
no flags Details
two-horizontal (30.93 KB, text/plain)
2012-11-19 13:19 UTC, Tomas Pelka
no flags Details
two-vertical (20.21 KB, text/plain)
2012-11-19 13:20 UTC, Tomas Pelka
no flags Details
twofinger-vertical-event.log (41.00 KB, text/plain)
2013-01-22 11:00 UTC, Tomas Pelka
no flags Details
tmview-twofinger-scroll video (432.14 KB, video/ogg)
2013-01-23 11:08 UTC, Tomas Pelka
no flags Details

Description Tomas Pelka 2012-11-06 14:47:49 UTC
Description of problem:
two-finger scrolling not working on hp8470p

Version-Release number of selected component (if applicable):
kernel-2.6.32-338.el6.x86_64
xorg-x11-drv-synaptics-1.6.2-11.el6.x86_64
xorg-x11-server-Xorg-1.13.0-7.el6

How reproducible:
100%

Steps to Reproduce:
1. system-preferences-mouse
2. touchpad tab
3. check Two-finger scrolling 
  
Actual results:
not able to scroll with two fingers

Expected results:
should be able to scroll

Additional info:
xinput list-props 'SynPS/2 Synaptics TouchPad'
Device 'SynPS/2 Synaptics TouchPad':
	Device Enabled (136):	1
	Coordinate Transformation Matrix (138):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (261):	1
	Device Accel Constant Deceleration (262):	2.500000
	Device Accel Adaptive Deceleration (263):	1.000000
	Device Accel Velocity Scaling (264):	12.500000
	Synaptics Edges (282):	1769, 5431, 1653, 4671
	Synaptics Finger (283):	25, 30, 256
	Synaptics Tap Time (284):	180
	Synaptics Tap Move (285):	242
	Synaptics Tap Durations (286):	180, 180, 100
	Synaptics ClickPad (287):	0
	Synaptics Tap FastTap (288):	0
	Synaptics Middle Button Timeout (289):	75
	Synaptics Two-Finger Pressure (290):	282
	Synaptics Two-Finger Width (291):	7
	Synaptics Scrolling Distance (292):	110, 110
	Synaptics Edge Scrolling (293):	1, 1, 0
	Synaptics Two-Finger Scrolling (294):	0, 0
	Synaptics Move Speed (295):	1.000000, 1.750000, 0.036265, 40.000000
	Synaptics Edge Motion Pressure (296):	30, 160
	Synaptics Edge Motion Speed (297):	1, 441
	Synaptics Edge Motion Always (298):	0
	Synaptics Off (299):	1
	Synaptics Locked Drags (300):	0
	Synaptics Locked Drags Timeout (301):	5000
	Synaptics Tap Action (302):	0, 0, 0, 0, 1, 3, 2
	Synaptics Click Action (303):	1, 1, 1
	Synaptics Circular Scrolling (304):	0
	Synaptics Circular Scrolling Distance (305):	0.100000
	Synaptics Circular Scrolling Trigger (306):	0
	Synaptics Circular Pad (307):	0
	Synaptics Palm Detection (308):	0
	Synaptics Palm Dimensions (309):	10, 200
	Synaptics Coasting Speed (310):	0.000000, 50.000000
	Synaptics Pressure Motion (311):	30, 160
	Synaptics Pressure Motion Factor (312):	1.000000, 1.000000
	Synaptics Grab Event Device (313):	1
	Synaptics Gestures (314):	1
	Synaptics Capabilities (315):	1, 1, 1, 1, 1, 1, 1
	Synaptics Pad Resolution (316):	1, 1
	Synaptics Area (317):	0, 0, 0, 0
	Synaptics Noise Cancellation (318):	27, 27
	Device Product ID (256):	2, 7
	Device Node (257):	"/dev/input/event7"

# evemu-describe /dev/input/event7
N: SynPS/2 Synaptics TouchPad
I: 0011 0002 0007 01b1
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 07 00 00 00 00 00
B: 01 20 64 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 11 00 80 60 02
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 1472 5728 0 0
A: 01 1408 4916 0 0
A: 18 0 255 0 0
A: 1c 0 15 0 0
A: 2f 0 1 0 0
A: 35 1472 5728 0 0
A: 36 1408 4916 0 0
A: 39 0 65535 0 0

Please let me know if you need any other information.

Comment 1 Tomas Pelka 2012-11-06 14:55:37 UTC
Created attachment 639407 [details]
xorg.log

Comment 2 Peter Hutterer 2012-11-08 00:07:48 UTC
(In reply to comment #0)
> Additional info:
> xinput list-props 'SynPS/2 Synaptics TouchPad'
> Device 'SynPS/2 Synaptics TouchPad':
[...]
> 	Synaptics Edge Scrolling (293):	1, 1, 0
> 	Synaptics Two-Finger Scrolling (294):	0, 0

This makes me wonder - edge scrolling is still on, two-finger scrolling is still off. So this suggests a client-side issue.

does two-finger (vertical) scrolling work if you run
xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Edge Scrolling" 0 0 0
xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Scrolling" 0 1 0

use 1 1 if you want horiz scrolling as well

Comment 3 Tomas Pelka 2012-11-08 10:21:16 UTC
xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Scrolling" 0 1 1
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  20
  Current serial number in output stream:  21

xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Scrolling" 0 1 0
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  20
  Current serial number in output stream:  21

synclient 
Parameter settings:
    LeftEdge                = 1769
    RightEdge               = 5431
    TopEdge                 = 1653
    BottomEdge              = 4671
    FingerLow               = 25
    FingerHigh              = 30
    FingerPress             = 256
    MaxTapTime              = 180
    MaxTapMove              = 242
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    FastTaps                = 0
    EmulateMidButtonTime    = 75
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 110
    HorizScrollDelta        = 110
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0362647
    TrackstickSpeed         = 40
    EdgeMotionMinZ          = 30
    EdgeMotionMaxZ          = 160
    EdgeMotionMinSpeed      = 1
    EdgeMotionMaxSpeed      = 441
    EdgeMotionUseAlways     = 0
    TouchpadOff             = 1
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 0
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 2
    ClickFinger1            = 1
    ClickFinger2            = 1
    ClickFinger3            = 1
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 0
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 1
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 27
    VertHysteresis          = 27
    ClickPad                = 0

Comment 4 Peter Hutterer 2012-11-13 05:23:15 UTC
(In reply to comment #3)
> xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger
> Scrolling" 0 1 0
> X Error of failed request:  BadMatch (invalid parameter attributes)
>   Major opcode of failed request:  131 (XInputExtension)
>   Minor opcode of failed request:  57 ()
>   Serial number of failed request:  20
>   Current serial number in output stream:  21

sorry, my fault, this should only have two values, copy/paste error.
Try synclient VertEdgeScroll=1, that enables two-finger vertical scrolling too.

Comment 5 Tomas Pelka 2012-11-13 07:32:28 UTC
$ synclient | grep Scroll
    VertScrollDelta         = 110
    HorizScrollDelta        = 110
    VertEdgeScroll          = 1
    HorizEdgeScroll         = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0

Hmm HorizontalEdge scrolling is working now even if it is on 0, TwoFinger scrolling still not working.

Comment 6 Peter Hutterer 2012-11-13 10:39:05 UTC
weird. can I get some evemu recordings please, as separate files:
* the device description
* two-finger scrolling, vertical
* two-finger scrolling, horizontal
* edge scroll, vertical
* edge scroll, horizontal

You'll need to do those from the tty to avoid the device grab.

RHEL rpms are here: http://people.redhat.com/~phuttere/rpms/evemu/

Comment 7 Tomas Pelka 2012-11-19 11:52:36 UTC
Created attachment 647712 [details]
evemu-describe

Comment 8 Tomas Pelka 2012-11-19 12:28:48 UTC
(In reply to comment #6)
> weird. can I get some evemu recordings please, as separate files:
> * the device description
attached
> * two-finger scrolling, vertical
> * two-finger scrolling, horizontal
> * edge scroll, vertical
> * edge scroll, horizontal
> 
> You'll need to do those from the tty to avoid the device grab.
> 
> RHEL rpms are here: http://people.redhat.com/~phuttere/rpms/evemu/

Not able to record with evemu-1.0.10-1.el6, evemu-record produce empty files.

Comment 9 Tomas Pelka 2012-11-19 13:10:14 UTC
(In reply to comment #8)
> (In reply to comment #6)
> > weird. can I get some evemu recordings please, as separate files:
> > * the device description
> attached
> > * two-finger scrolling, vertical
> > * two-finger scrolling, horizontal
> > * edge scroll, vertical
> > * edge scroll, horizontal
> > 
> > You'll need to do those from the tty to avoid the device grab.
> > 
> > RHEL rpms are here: http://people.redhat.com/~phuttere/rpms/evemu/
> 
> Not able to record with evemu-1.0.10-1.el6, evemu-record produce empty files.

OK I needed to be in VT to get records.

Comment 10 Tomas Pelka 2012-11-19 13:12:40 UTC
Created attachment 647749 [details]
edge-horizontal

Comment 11 Tomas Pelka 2012-11-19 13:18:02 UTC
Created attachment 647751 [details]
edge-vertical

Comment 12 Tomas Pelka 2012-11-19 13:19:33 UTC
Created attachment 647753 [details]
two-horizontal

Comment 13 Tomas Pelka 2012-11-19 13:20:08 UTC
Created attachment 647754 [details]
two-vertical

Comment 14 Peter Hutterer 2012-11-21 04:36:01 UTC
(In reply to comment #13)
> Created attachment 647754 [details]
> two-vertical

this one doesn't appear to have two touchpoints in it? afaict the two-finger scrolling does work with two-horizontal event sequence since it gives me button 4/5 events.

To clarify again:
synclient VertEdgeScroll=0 VertTwoFingerScroll=1
synclient HorizEdgeScroll=0 HorizTwoFingerScrol1=1

Then start a plain X server, xev -root and try to scroll. Does xev register any button 4/5/6/7 events when scrolling? This is the test case here and it works fine (minus that event sequence which only shows one touchpoint)

Comment 15 Tomas Pelka 2012-11-27 15:32:32 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > Created attachment 647754 [details]
> > two-vertical
> 
> this one doesn't appear to have two touchpoints in it? afaict the two-finger
> scrolling does work with two-horizontal event sequence since it gives me
> button 4/5 events.
> 
> To clarify again:
> synclient VertEdgeScroll=0 VertTwoFingerScroll=1
> synclient HorizEdgeScroll=0 HorizTwoFingerScrol1=1
> 
> Then start a plain X server, xev -root and try to scroll. Does xev register
> any button 4/5/6/7 events when scrolling? This is the test case here and it
> works fine (minus that event sequence which only shows one touchpoint)

No output from xev.

Comment 17 Peter Hutterer 2013-01-22 04:59:41 UTC
I really need a new recording from this device, the two-finger vertical scroll recording only shows one touchpoint show up.

Comment 19 Tomas Pelka 2013-01-22 11:00:57 UTC
Created attachment 685042 [details]
twofinger-vertical-event.log

Comment 20 Peter Hutterer 2013-01-23 06:29:57 UTC
I think this is a hardware and/or kernel issue. I assume that you did try to do a two-finger scroll and while slot events show up (002f in third column), they only do so shortly and not as expected from a two-finger scroll event. The first event sequence is one finger moving down on the touchpad, then just 4 events with two fingers. On the next sequence there is only 2 overlapping events. This indicates incorrect tracking by the HW or the kernel.

A similar issue can also be found in the horizontal event sequence you submitted earlier.

You can run https://github.com/whot/mtview to show the touch events as they appear on the device.

If I replay your event sequence and record it, I get the same output, so we can rule out any issues in the re-playing (after fixing Bug 903081)

If I take a known good sequence (recorded on my touchpad) and re-play it through your device, two-finger scrolling works.

so yeah, this isn't a synaptics issue, it's hw or kernel. Has this device worked in 6.3?

Comment 21 Tomas Pelka 2013-01-23 11:05:28 UTC
(In reply to comment #20)
> I think this is a hardware and/or kernel issue. I assume that you did try to
> do a two-finger scroll and while slot events show up (002f in third column),
> they only do so shortly and not as expected from a two-finger scroll event.
> The first event sequence is one finger moving down on the touchpad, then
> just 4 events with two fingers. On the next sequence there is only 2
> overlapping events. This indicates incorrect tracking by the HW or the
> kernel.
> 
> A similar issue can also be found in the horizontal event sequence you
> submitted earlier.
> 
> You can run https://github.com/whot/mtview to show the touch events as they
> appear on the device.
> 
> If I replay your event sequence and record it, I get the same output, so we
> can rule out any issues in the re-playing (after fixing Bug 903081)
> 
> If I take a known good sequence (recorded on my touchpad) and re-play it
> through your device, two-finger scrolling works.
> 
> so yeah, this isn't a synaptics issue, it's hw or kernel. Has this device
> worked in 6.3?

Sorry Peter I'm not very clear what should I test, the machine wasn't ever tester against rhel6.3 but I can try.

Attachaing at least video with mtview, don't know what is an expected result.

Comment 22 Tomas Pelka 2013-01-23 11:08:56 UTC
Created attachment 685830 [details]
tmview-twofinger-scroll video

Comment 23 Peter Hutterer 2013-01-24 04:03:36 UTC
ok, this video definitely shows that this is a hw issue. That first two-finger horizonal movement (0:02 to 0:04) should show two lines. What you get instead is one touchpoint at a time, jumping between the two finger (and outliers as well, apparently).

This isn't something we can fix in the driver, especially not in the 6.4 timeframe.

I need to check if we can do legacy two-finger scrolling here (BTN_TOOL_DOUBLETAP) but the touchpad does announce multi-touch capabilities so the driver uses those by default.

Comment 24 Tomas Pelka 2013-01-24 09:27:44 UTC
OK so moving to 6.5.


Note You need to log in before you can comment on or make changes to this bug.