From: Thomas Dettbarn Subject: Re: Please help me test/review my imt(4) patch for touchpads To: "tech@openbsd.org" , "jcs@jcs.org" , "jcs@openbsd.org" Date: Mon, 16 Jun 2025 18:11:36 +0200 Hello Stefan. Agreed, breaking a machine that was working before is something we should avoid. SInce you have one of those machines: I would like to send you a kernel patch, which would print out the communication coming from the touchpad, if you do not mind becoming a beta-tester? Thomas On 6/16/25 4:58 PM, Stefan Sperling wrote: > On Wed, Jun 11, 2025 at 11:28:35AM +0200, Thomas Dettbarn wrote: >> I am hereby following up on my patch for the imt(4) submodule of the >> OpenBSD kernel. (This time with a new subject) > >> You can find the latest version here: >> >> https://marc.info/?l=openbsd-tech&m=174841257723328&w=2 > I have tested this patch on a Z13 gen1 thinkpad. > > I was planning to chime in with some positive feedback, but unfortunately > all I have to report is that 2-finger scrolling breaks on this machine. > Sometimes even trying to use a scrollbar instead fails. It seems something > goes wrong with processing concurrent button-press and motion events. > > This machine has quite a few ims(4) devices, most of which I don't even > know how to use. > > wsmouse0 is the red trackpoint knob on the keyboard: > > pms0 at pckbc1 (aux slot) > wsmouse0 at pms0 mux 0 > > As expected it is unaffected by your diff. It doesn't seem to have any > clickable buttons associated. Those are all handled by the clickpad. > > wsmouse4 is the touchscreen, which remains perfectly usable with your diff. > > There is one imt(4) clickpad which shows up as wsmouse5. This is the device > which provides touchpad mouse pointer movement and all clickable buttons. > And this is where two-finger scrolling breaks. > > In the occasional problem case where I try to use a scrollbar and the bar > does not react, the pointer does not react to touchpad movement and it > seems that the button-click event is also failing to register. > > > ihidev0 at iic1 addr 0xa gpio 32, vendor 0x56a product 0x52e8, WACF2200 > ihidev0: 255 report ids > ims0 at ihidev0 reportid 1: 2 buttons > wsmouse1 at ims0 mux 0 > hid at ihidev0 reportid 2 not configured > hid at ihidev0 reportid 3 not configured > hid at ihidev0 reportid 4 not configured > hid at ihidev0 reportid 5 not configured > hid at ihidev0 reportid 7 not configured > hid at ihidev0 reportid 8 not configured > hid at ihidev0 reportid 9 not configured > hid at ihidev0 reportid 10 not configured > hid at ihidev0 reportid 11 not configured > hid at ihidev0 reportid 12 not configured > hid at ihidev0 reportid 13 not configured > hid at ihidev0 reportid 14 not configured > hid at ihidev0 reportid 15 not configured > hid at ihidev0 reportid 16 not configured > hid at ihidev0 reportid 17 not configured > hid at ihidev0 reportid 18 not configured > hid at ihidev0 reportid 19 not configured > ims1 at ihidev0 reportid 20: 3 buttons, tip, barrel, eraser > wsmouse2 at ims1 mux 0 > ims2 at ihidev0 reportid 27: 0 buttons > wsmouse3 at ims2 mux 0 > ims3 at ihidev0 reportid 28: 1 button, tip > wsmouse4 at ims3 mux 0 > hid at ihidev0 reportid 31 not configured > hid at ihidev0 reportid 255 not configured > dwiic2 at acpi0 I2CC addr 0xfedc4000/0x1000 irq 4 > iic2 at dwiic2 > ihidev1 at iic2 addr 0x15 gpio 8, vendor 0x4f3 product 0x3231, ELAN06A0 > ihidev1: 115 report ids > imt0 at ihidev1: clickpad, 5 contacts > wsmouse5 at imt0 mux 0 > ims4 at ihidev1 reportid 1: 2 buttons > wsmouse6 at ims4 mux 0 > hid at ihidev1 reportid 5 not configured > hid at ihidev1 reportid 6 not configured > hid at ihidev1 reportid 7 not configured > hid at ihidev1 reportid 9 not configured > hid at ihidev1 reportid 10 not configured > hid at ihidev1 reportid 11 not configured > hid at ihidev1 reportid 12 not configured > hid at ihidev1 reportid 13 not configured > ims5 at ihidev1 reportid 14: 0 buttons > wsmouse7 at ims5 mux 0 > hid at ihidev1 reportid 44 not configured > hid at ihidev1 reportid 92 not configured > hid at ihidev1 reportid 115 not configured