Index | Thread | Search

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

Download raw body.

Thread
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