Bug 873721
| Summary: | two-finger scrolling not working on hp8470p | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Tomas Pelka <tpelka> | ||||||||||||||||||
| Component: | xorg-x11-drv-synaptics | Assignee: | Peter Hutterer <peter.hutterer> | ||||||||||||||||||
| Status: | CLOSED CANTFIX | QA Contact: | Desktop QE <desktop-qa-list> | ||||||||||||||||||
| Severity: | unspecified | Docs Contact: | |||||||||||||||||||
| Priority: | unspecified | ||||||||||||||||||||
| Version: | 6.4 | ||||||||||||||||||||
| Target Milestone: | rc | ||||||||||||||||||||
| Target Release: | --- | ||||||||||||||||||||
| Hardware: | Unspecified | ||||||||||||||||||||
| OS: | Unspecified | ||||||||||||||||||||
| Whiteboard: | |||||||||||||||||||||
| 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.
|
Story Points: | --- | ||||||||||||||||||
| Clone Of: | Environment: | ||||||||||||||||||||
| Last Closed: | 2013-05-22 22:31:12 UTC | Type: | Bug | ||||||||||||||||||
| Regression: | --- | Mount Type: | --- | ||||||||||||||||||
| Documentation: | --- | CRM: | |||||||||||||||||||
| Verified Versions: | Category: | --- | |||||||||||||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||||||||
| Embargoed: | |||||||||||||||||||||
| Bug Depends On: | 903081 | ||||||||||||||||||||
| Bug Blocks: | 960058 | ||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||
|
Description
Tomas Pelka
2012-11-06 14:47:49 UTC
Created attachment 639407 [details]
xorg.log
(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 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
(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. $ 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.
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/ Created attachment 647712 [details]
evemu-describe
(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. (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. Created attachment 647749 [details]
edge-horizontal
Created attachment 647751 [details]
edge-vertical
Created attachment 647753 [details]
two-horizontal
Created attachment 647754 [details]
two-vertical
(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) (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. I really need a new recording from this device, the two-finger vertical scroll recording only shows one touchpoint show up. Created attachment 685042 [details]
twofinger-vertical-event.log
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? (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. Created attachment 685830 [details]
tmview-twofinger-scroll video
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. OK so moving to 6.5. |