>On Tue, Mar 18, 2003 at 12:00:28PM +0100, Andreas Metzler wrote: >> Branden, would you accept a patch[1] for Debian's packages of XFree86 >> to include this driver? I can give it a shot. >> cu andreas >> [1] I have not tried to build it yet, but afaict it wouldn't be a >> real patch but a aimple addition, the driver simply needs internal >> X headers to build. > > > >Let me think on this. I'm pondering the pros and cons of putting a >GPL'ed driver into Debian's XFree86 packages, which contain no GPL'ed >code apart from some independent, standalone stuff.
As distributed at: http://tuxmobile.org/software/synaptics/synaptics-0.11.3.tar.gz the driver builds in its own directory, separate from the XFree86 sourcetree, though it does need access to XFree86 source headers. The result is just a single binary driver file, synaptics_drv.o, which is supposed to be placed in /usr/X11R6/lib/modules/input/. The synaptics_drv.o file which is produced clearly falls under the GPL, but I don't think that building it from the same source package as XFree86 would cause the rest of the Debian Xfree86 binaries to be under the GPL. To make the legal situation even clearer, we could create a separate "synaptics" source package with a build-depends on xfree86. We could then make xserver-xfree86 depend on the synaptics package. Since the interface for input modules is fairly stable, changes in xfree86 should not require that synaptics be rebuilt nor should changes in synaptics require that xfree86 be rebuilt. xserver-xfree86 needs to depend on synaptics, I think, for the sake of making configuration through dexconf simple. I have attached suggested patches to xserver-xfree86.config and the dexconf script in order to allow this. I would be happy to prepare either a separate synaptics package or a patch to xfree86 which builds the synaptics driver, whichever course you think is best. It would be a very good thing for Debian to seamlessly support this common piece of laptop hardware. Neil
--- xserver-xfree86.config.orig 2003-04-30 17:56:48.000000000 -0700 +++ xserver-xfree86.config 2003-04-30 18:00:14.000000000 -0700 @@ -903,7 +903,7 @@ db_get xserver-xfree86/config/inputdevice/mouse/port case "$RET" in *psaux) - MOUSE_PROTOCOL_CHOICES="PS/2, ImPS/2, GlidePointPS/2, NetMousePS/2, NetScrollPS/2, ThinkingMousePS/2, MouseManPlusPS/2, ExplorerPS/2" + MOUSE_PROTOCOL_CHOICES="PS/2, ImPS/2, GlidePointPS/2, NetMousePS/2, NetScrollPS/2, ThinkingMousePS/2, MouseManPlusPS/2, ExplorerPS/2, Synaptics" DEFAULT_PROTOCOL="PS/2" ;; *ttyS*|*tts/*)
--- dexconf.orig 2003-04-30 18:02:00.000000000 -0700 +++ dexconf 2003-05-01 17:50:12.000000000 -0700 @@ -359,15 +359,32 @@ printf "Section \"InputDevice\"\n" > "$DEXCONFTMPDIR/InputDeviceMouse" printf "\tIdentifier\t\"Configured Mouse\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" - printf "\tDriver\t\t\"mouse\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + if [ "$MOUSE_PROTOCOL" = "Synaptics" ]; then + printf "\tDriver\t\t\"synaptics\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + else + printf "\tDriver\t\t\"mouse\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + fi printf "\tOption\t\t\"CorePointer\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" printf "\tOption\t\t\"Device\"\t\t\"$MOUSE_PORT\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" - printf "\tOption\t\t\"Protocol\"\t\t\"$MOUSE_PROTOCOL\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" - if [ -n "$DO_EMULATE3BUTTONS" ]; then - printf "\tOption\t\t\"Emulate3Buttons\"\t\"true\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" - fi - if [ -n "$DO_ZAXISMAPPING" ]; then - printf "\tOption\t\t\"ZAxisMapping\"\t\t\"4 5\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + if [ "$MOUSE_PROTOCOL" = "Synaptics" ]; then + printf "\tOption\t\t\"Edges\"\t\t\t\"1900 5400 1800 3900\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "\tOption\t\t\"Finger\"\t\t\"25 30\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "\tOption\t\t\"MaxTapTime\"\t\t\"20\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "\tOption\t\t\"MaxTapMove\"\t\t\"220\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "\tOption\t\t\"VertScrollDelta\"\t\"100\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "\tOption\t\t\"MinSpeed\"\t\t\"0.02\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "\tOption\t\t\"MaxSpeed\"\t\t\"0.18\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "\tOption\t\t\"AccelFactor\"\t\t\"0.0010\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "#\tOption\t\t\"Repeater\"\t\t\"/dev/ps2mouse\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + printf "#\tOption\t\t\"SHMConfig\"\t\t\"on\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + else + printf "\tOption\t\t\"Protocol\"\t\t\"$MOUSE_PROTOCOL\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + if [ -n "$DO_EMULATE3BUTTONS" ]; then + printf "\tOption\t\t\"Emulate3Buttons\"\t\"true\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + fi + if [ -n "$DO_ZAXISMAPPING" ]; then + printf "\tOption\t\t\"ZAxisMapping\"\t\t\"4 5\"\n" >> "$DEXCONFTMPDIR/InputDeviceMouse" + fi fi printf "EndSection\n" >> "$DEXCONFTMPDIR/InputDeviceMouse"