From: Stefan Sperling Subject: Re: Please help me test/review my imt(4) patch for touchpads To: Thomas Dettbarn Cc: "tech@openbsd.org" , "jcs@jcs.org" , "jcs@openbsd.org" Date: Mon, 16 Jun 2025 16:58:25 +0200 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