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

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Jan 3 12:32:19 UTC 2021


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

--- Comment #2 from Vladimir Kondratyev <wulf at freebsd.org> ---
(In reply to Greg V from comment #1)
> atp needs a patch similar to https://cgit.freebsd.org/src/commit/?id=54d2dfc4b24db110c8a4b75e2f02a2360fd9fc8c

Unfortunately, patch should be more complex.

According to Linux and OpenBSD sources Apple's touchpad protocol does not
contain touch tracking information so we have to solve so-called 'Euclidean
bipartite matching problem'.

After some searching in the internet I found 3 realization of such a solver:
1. Kuhn (hungarian) algorithm from libmtdev:
https://github.com/rydberg/mtdev/blob/master/src/match.c#L33
2. Lagrange relaxation method from Linux kernel:
https://github.com/torvalds/linux/blob/master/drivers/input/input-mt.c#L315
3. Dinitz-Kronrod algorithm from OpenBSD:
https://github.com/openbsd/src/blob/master/sys/dev/wscons/wsmouse.c#L1233

One of them have to be imported in to evdev as prerequisite for atp driver.
IMO OpenBSD code suits us better.

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


More information about the freebsd-bugs mailing list