[Bug 252236] atp(4): Need EVDEV support for modern input stack

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Mar 15 15:31:54 UTC 2021


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252236

--- Comment #31 from Greg V <greg at unrelenting.technology> ---
(In reply to Vladimir Kondratyev from comment #30)
The number field always matches the calculated value from lengths.

But indeed touch_major 0 is key. This fixes that problem:

@@ -1109,7 +1109,7 @@ wsp_intr_callback(struct usb_xfer *xfer, usb_error_t
error)
                        sc->pos_y[i] = -f->abs_y;
                        sc->index[i] = f;
 #ifdef EVDEV_SUPPORT
-                       if (evdev_rcpt_mask & EVDEV_RCPT_HW_MOUSE) {
+                       if ((evdev_rcpt_mask & EVDEV_RCPT_HW_MOUSE) &&
f->touch_major != 0) {
                                union evdev_mt_slot slot_data = {
                                        .id = i,
                                        .x = f->abs_x,


Also interesting: Y is `c->y.min + c->y.max - raw2int(f->abs_y)` in Linux,
`params->y.max + params->y.min - f->abs_y` in wsp (min and max are swapped).
But that doesn't matter at all??? Somehow o_0

Another strange problem: libinput for some reason rejects any movement when the
button is clicked (that doesn't happen with hmt).

Other than that, the only remaining bug is the device opening thing.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list