Page MenuHomeFreeBSD

psm(4), evdev support part 3: EVDEV support itself
ClosedPublic

Authored by wulf_cicgroup.ru on Apr 3 2017, 10:15 PM.

Details

Summary

Add EVDEV support to psm(4).

Both relative and absolute multitouch modes are supported.
Requires "options EVDEV_SUPPORT" in kernel config

Part of: https://reviews.freebsd.org/D10207

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

I've added some inline comments about Linux device names, IDs and properties.
Here is a patch that I'm using on top of this series right now:

sys/dev/atkbdc/psm.c
923 ↗(On Diff #26996)

This is now also used for the Evdev device names. Maybe it would be better to expose the same devices names as Linux does in a seperate function and use that for Evdev devices? Then, scripts that use those names would be compatible.

1663 ↗(On Diff #26996)

This should probably be 0x0007 to match the value defined in psmouse.h from Linux.

1724 ↗(On Diff #26996)

For a TrackPoint, "INPUT_PROP_POINTING_STICK" should also be set.

1813 ↗(On Diff #26996)

This duplicates the MOUSE_MODEL_TRACKPOINT name from above.

Device names and product IDs of supported touchpads and trackpoints are updated to match Linux

Giant-locked version of the patch.
After some discussion with bde@ (on arch@ and private) it is turned out that nothing but Giant can be used to serialize access to I8042 ports currently.
This version obsoletes part1 and part2 and can be applied to unmodified CURRENT (and 11STABLE as well).

gonzo accepted this revision.May 29 2017, 7:21 AM

Looks good to me

This revision is now accepted and ready to land.May 29 2017, 7:21 AM
This revision was automatically updated to reflect the committed changes.