From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262170AbTFOMPQ (ORCPT ); Sun, 15 Jun 2003 08:15:16 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262171AbTFOMPQ (ORCPT ); Sun, 15 Jun 2003 08:15:16 -0400 Received: from twilight.ucw.cz ([81.30.235.3]:26023 "EHLO twilight.ucw.cz") by vger.kernel.org with ESMTP id S262170AbTFOMPD (ORCPT ); Sun, 15 Jun 2003 08:15:03 -0400 Date: Sun, 15 Jun 2003 14:28:38 +0200 From: Vojtech Pavlik To: Peter Osterlund Cc: Vojtech Pavlik , Kernel Mailing List , Joseph Fannin , Jens Taprogge Subject: Re: [PATCH] Synaptics TouchPad driver for 2.5.70 Message-ID: <20030615142838.A3291@ucw.cz> References: <20030615001905.A27084@ucw.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from petero2@telia.com on Sun, Jun 15, 2003 at 02:18:57PM +0200 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jun 15, 2003 at 02:18:57PM +0200, Peter Osterlund wrote: > Vojtech Pavlik writes: > > > > * Multi finger tapping. > > > * Vertical and horizontal scrolling. > > > * Edge scrolling during drag operations. > > > * Palm detection. > > > * Corner tapping. > > > > ... you may want to put these nice features into the mousedev.c driver > > for now, so that the touchpad works with standard XFree without the > > event based driver. > > No need. There is now a working XFree86 driver here: > > http://w1.894.telia.com/~u89404340/touchpad/index.html Cool. > diff -u -r -N --exclude='.*' --exclude='*.o' --exclude='*.ko' --exclude='*~' ../../linus/main/linux/drivers/input/mouse/Kconfig linux/drivers/input/mouse/Kconfig > --- ../../linus/main/linux/drivers/input/mouse/Kconfig Sun Jun 15 14:10:15 2003 > +++ linux/drivers/input/mouse/Kconfig Sun Jun 15 13:53:38 2003 > @@ -37,7 +37,7 @@ > This touchpad is found on many modern laptop computers. > Note that you also need a user space driver to interpret the data > generated by the kernel. A compatible driver for XFree86 is available > - from http://... > + from http://w1.894.telia.com/~u89404340/touchpad/index.html Perfect. >> > - if (hw.w != priv->old_w) { > - input_event(dev, EV_MSC, MSC_GESTURE, hw.w); > - priv->old_w = hw.w; > - } > + /* > + * This will generate an event even if w is unchanged, but that is > + * exactly what we want, because user space drivers may depend on > + * this for gesture decoding. > + */ > + input_event(dev, EV_MSC, MSC_GESTURE, hw.w); This assumption is not nice. It should instead rely on input_sync() / EV_SYN, SYN_REPORT events for complete packet decoding. Can you do something about that? --- By the way, obviously you're skilled in X driver programming. Could you possibly also implement an /dev/input/event mouse and tablet/touchscreen drivers so that mousedev.c would be replaced completely? -- Vojtech Pavlik SuSE Labs, SuSE CR