Messages in this thread | | | Subject | Synaptics touchpad + external mouse with Linux 2.6? | From | Krzysztof Halasa <> | Date | Sun, 21 Mar 2004 23:52:31 +0100 |
| |
Hi,
I have a notebook PC (an old Fujitsu-Siemens Liteline, celeron 600 etc) with a Synaptics touchpad:
Synaptics Touchpad, model: 1 Firmware: 4.6 Sensor: 19 new absolute packet format Touchpad has extended capability bits -> multifinger detection -> palm detection input: SynPS/2 Synaptics TouchPad on isa0060/serio1
This notebook has external mouse+keyboard connector. Is it possible to have both the touchpad and the external mouse simultaneously active in their native modes? The hardware (keyboard controller) doesn't seem to support the active multiplexing mode (by Synaptics and others):
drivers/input/serio/i8042.c: d3 -> i8042 (command) [3] drivers/input/serio/i8042.c: f0 -> i8042 (parameter) [3] drivers/input/serio/i8042.c: 0f <- i8042 (return) [3] drivers/input/serio/i8042.c: d3 -> i8042 (command) [3] drivers/input/serio/i8042.c: 56 -> i8042 (parameter) [3] drivers/input/serio/i8042.c: a9 <- i8042 (return) [3] drivers/input/serio/i8042.c: d3 -> i8042 (command) [3] drivers/input/serio/i8042.c: a4 -> i8042 (parameter) [3] drivers/input/serio/i8042.c: 5b <- i8042 (return) [3]
It looks the keyboard controller just forwards all data from both devices. I can set them (i.e. Linux and XFree86 driver) to IM PS/2 mode and they will both work (Linux treats them as one device), but I can't use touchpad's special features.
I was thinking about setting them to IM PS/2 mode first (both would go IM PS/2) then switching to Synaptics mode (the mouse should ignore it). On the receiving side, I could check if the packet is valid for IM or Synaptics mode and pass it to the respective driver. Not sure if the keyboard controller is fully transparent, though - it could be changing data as outlined in the Synaptics PS2-MUX paper ("legacy hidden multiplexing").
If I set Linux to Synaptics mode (i.e. modprobe psmouse without any parameters), I can't use the external mouse as it produces 3-byte packets by default (the kernel = synaptics.c prints "Synaptics driver lost sync at byte 1").
What do you think? -- Krzysztof Halasa, B*FH - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |