Ignore 2-finger scroll when fingers moved in opposite directions
I have one of those sensitive touchpads, with hysteresis enabled; and sometimes 2-fingers scroll for me is twitching. It's kind of hard to reproduce on purpose, though happens often in the wild.
I conjectured that a reason could be occasional movement of fingers in opposite directions, which is easy since scroll happens on very slight finger motion. I made the evemu record by moving vertically 2 fingers towards each other, and it does look somewhat similar to a "scroll twitching", so worth a workaround, I think.
I tried fixing it, but got stuck on seeing that, upon scrolling, (x,y)
of both touches at function tp_process_state()
are always equal — even though per evemu
they aren't. Why could that be?
laptop: SAMSUNG NP305V5GA
$ udevadm info /dev/input/event10
P: /devices/platform/i8042/serio1/input/input11/event10
N: input/event10
S: input/by-path/platform-i8042-serio-1-event-mouse
E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-1-event-mouse
E: DEVNAME=/dev/input/event10
E: DEVPATH=/devices/platform/i8042/serio1/input/input11/event10
E: ID_BUS=i8042
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=48
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_TOUCHPAD_INTEGRATION=internal
E: ID_INPUT_WIDTH_MM=94
E: ID_PATH=platform-i8042-serio-1
E: ID_PATH_TAG=platform-i8042-serio-1
E: ID_SERIAL=noserial
E: LIBINPUT_DEVICE_GROUP=11/2/7:isa0060/serio1
E: LIBINPUT_FUZZ_00=8
E: LIBINPUT_FUZZ_01=8
E: LIBINPUT_FUZZ_35=8
E: LIBINPUT_FUZZ_36=8
E: LIBINPUT_MODEL_JUMPING_SEMI_MT=1
E: LIBINPUT_MODEL_SYNAPTICS_SERIAL_TOUCHPAD=1
E: MAJOR=13
E: MINOR=74
E: SUBSYSTEM=input
E: USEC_INITIALIZED=26987147
$ cat /sys/class/dmi/id/modalias
dmi:bvnAmericanMegatrendsInc.:bvr07PW.ME06.20120112.SKK:bd01/12/2012:svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/305V5A/3415VA:pvr07PW:rvnSAMSUNGELECTRONICSCO.,LTD.:rn305V4A/305V4A:rvr07PW:cvnSAMSUNGELECTRONICSCO.,LTD.:ct9:cvrN/A: