Bug 64103 - synaptic cursor jumps when connected to power source
Summary: synaptic cursor jumps when connected to power source
Status: RESOLVED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/synaptics (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Peter Hutterer
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-01 09:33 UTC by blegat
Modified: 2016-11-28 04:39 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Output of `sudo evemu-record /dev/input/event10 > mydevice.events` (91.45 KB, text/plain)
2013-05-13 10:16 UTC, blegat
no flags Details
Output of `sudo evemu-describe /dev/input/event10 > mydevice.desc` (2.94 KB, text/plain)
2013-05-13 10:17 UTC, blegat
no flags Details

Description blegat 2013-05-01 09:33:31 UTC
I'm using a laptop (Dell XPS 14z) and when I'm connected to a power source, my pointer shakes up and down when I keep my finger on the touchpad and stop moving.

This bug has already been reported in Arch Linux (https://bugs.archlinux.org/task/32872) and Ubuntu (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/1028617) where I have submitted the content of `/var/log/Xorg.0.log`, `/proc/bus/input/devices`, `xinput --list`.
Comment 1 Peter Hutterer 2013-05-01 22:15:33 UTC
save the below as xorg.conf.d snippet, restart the server and run evemu-record against the device when this happens. Then attach the recording here.

Section "InputClass"
	Identifier "Don't grab synaptics"
	MatchDriver "synaptics"
	Option "GrabEventDevice" "off"
EndSection

Please use evemu from git, _not_ the one shipped in your distribution. http://cgit.freedesktop.org/evemu/
Comment 2 blegat 2013-05-13 10:16:12 UTC
Created attachment 79237 [details]
Output of `sudo evemu-record /dev/input/event10 > mydevice.events`

I ran
sudo evemu-record /dev/input/event10 > mydevice.events
and then reproduced the bug by putting my finger (enough surface of it) on the touchpad and then hit Ctrl+C for the output not being to long.
Comment 3 blegat 2013-05-13 10:17:20 UTC
Created attachment 79238 [details]
Output of `sudo evemu-describe /dev/input/event10 > mydevice.desc`
Comment 4 blegat 2013-05-13 12:43:59 UTC
The bug also occurs when I'm on battery but connected through an ethernet cable.
Comment 5 Peter Hutterer 2013-05-14 00:57:18 UTC
whoah, that is some massive movement. We'd need some better smoothing here but that's currently not there.

The events themselves look ok in principle, it's not a single event that is the outlier. There are only two big jumps in there, the rest looks like continuous movement. Not sure how to fix this without some larger rework in the smoothing code.

Play around with the noise cancellation though, maybe you can find a setting that makes it bearable:

xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Noise Cancellation" 8 8

8 is the default, increase the numbers (x and y) until you find something useful.
Comment 6 JR 2013-06-13 18:07:17 UTC
(In reply to comment #5)
> Play around with the noise cancellation though, maybe you can find a setting
> that makes it bearable:

Not the reporter, but on this Dell Latitude E6520 (Alps pad) the cursor warps around even at a cancellation of 30 30. :<

Supplying proto=imps to psmouse obviously dumbs it down to just a generic PS/2 mouse, but the phantom movement stops.
Comment 7 JR 2013-06-14 11:42:05 UTC
Connecting the adapter to a well-grounded surge protector eliminates this on said Latitude, suggesting current leakage or other hardware design fault. Curious, then, that it only seems to occur when the pad is run with the AlpsPS/2 protocol. Is certain circuitry only used when it's requested to act like more than a generic mouse?

It would obviously be *very* nice if the behaviour could be compensated at a driver level, but solving it outright strikes me as difficult.

(In reply to comment #5)
> The events themselves look ok in principle, it's not a single event that is
> the outlier. There are only two big jumps in there, the rest looks like
> continuous movement. Not sure how to fix this without some larger rework in
> the smoothing code.

I'm not sure I understand you correctly there, so please ignore this if so.

The phantom jumps are only ever along one axis, right? During normal use and a refresh rate of 100hz, what kind of raw movement deltas are common? Based on the finger position reported by the pad, before acceleration etc.

I don't know the code, but if it's using some form of hysteresis to smooth out events then a sudden humanly impossible spike in the second-order derivative (delta of delta of position) should be obvious, aye?
Comment 8 Peter Hutterer 2016-11-28 04:39:51 UTC
This is a mass change of bugs. Bugs assigned to me that haven't been updated in the last 3 years are closed as WONTFIX, because, well, let's at least be honest about it.

Please do not re-open unless you have a really good reason to do so (e.g. you're fixing it yourself). If it hasn't been fixed in the last 3 years, it probably won't be fixed anytime soon either. Sorry.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.