[gpm] flaky movement and buttons when using both stick and
touchpad (ultranav)
Peter Berg Larsen
pebl@math.ku.dk
Wed Nov 26 18:20:13 CET 2003
On Wed, 26 Nov 2003, Tavin Cole wrote:
> On Sun, 2003-11-23 at 06:17, Peter Berg Larsen wrote:
> > > > Could you sent the info/debug messages? with name, model, firmware
> > > > version.
> > >
> > > no problem, see attached file. in this run of gpm i tapped the touchpad
> > > and caused the pointer to drift off towards the upper-right. i then
> > > pressed the left touchpad button, the left stick button, and then pushed
> > > towards the bottom-left with the stick.
*** debug [synaptics.c(1780)]: A tap? 0 < 14 < 16 && (18)^2 + (-17)^2 < 10000
*** info [synaptics.c(1945)]: dx: -18.0 dy: -17.0 tdist^2: 613.0
*** info [synaptics.c(1964)]: tossx: -3 tossy: -3
You push the pad for a tap. (first line; both conditions are true). The
finger motion on the pad, while doing the tap, is large/moved enough for
it to also be consideret a toss. A toss stops when you touch the pad
again; so you are tossing while pressing the stick and pushing the
buttons. To stop this behaviour:
A) Disable toss, dooh. See the question below.
B) Set a higher constant for min_toss_dist or min_toss_time.
C) Apply following patch, which prevent a tap and a toss to be activated
at the same time.
diff -uR gpm-1.20.1 gpm_my
--- gpm-1.20.1/src/synaptics.c
+++ gpm_my/src/synaptics.c
@@ -1933,6 +1933,7 @@
/* No finger on the pad */
/* Start the tossing action if enabled */
if (tossing_enabled && was_fingers == 1 &&
+ !time_to_forget_tap &&
!was_tossing &&
!is_scrolling &&
(packet_num > min_toss_packets) &&
> btw, gpm doesn't compile when you define DEBUG in synaptics.c unless you
> also comment out L1156:
It didnt matter.
> > > i tried adding [tossing_enabled] FALSE. with that, taps don't work at
> > > all (i only had them set up to left click or left click + drag) and
> > > neither do the touchpad buttons. the random motion problems are gone,
> > > but i suppose that's because taps do nothing now.
So why does disabling tossing stop taps/buttons? (It should not influence
it at all). Could you send some output where you press a button and do a
tap.
> > set them up to left click + drag ?? Could you elaborate on this.
> i just meant the usual behavior: a single tap is equivalent to a left
> click, a double tap where you hold the finger down on the second tap is
> equivalent to holding the left button down so you can drag things.
Ok. I understand now: You have not coded a new "left-click-drag" action,
but uses the "left-click" action. (I read it as drag-lock)
Peter
More information about the gpm
mailing list