History log of /freebsd/sys/dev/evdev/evdev_mt.c (Results 1 – 24 of 24)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/14.0.0
# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0
# d99c87c8 15-Sep-2021 John Baldwin <jhb@FreeBSD.org>

evdev: Add parentheses around '-' expression in operand of '&'.

This fixes a -Wparentheses error with GCC 9.

Reviewed by: wulf
Differential Revision: https://reviews.freebsd.org/D31947


# 35bc295b 02-Sep-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Do not export multitouch functions which are unused outside evdev


# d056693d 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Add support for automatic MT protocol type A to type B conversion.

MFC after: 2 weeks


# f76051c7 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Add implicit mode for touch tracking.

In implicit mode assignment of slot number and tracking id is performed
automatically on each synchronization requested by device driver.

This is done w

evdev: Add implicit mode for touch tracking.

In implicit mode assignment of slot number and tracking id is performed
automatically on each synchronization requested by device driver.

This is done with creation of intermediate buffer for multitouch events.
This buffer holds untracked events until synchronization is requested by
device driver. It is needed as touch assigment requires
knowledges of all touch positions pushed in current and previous reports.

MFC after: 2 weeks

show more ...


# 4c0a134e 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Import support for touch-tracking.

Touch tracking is a process of assignment of unique trackingID to each
initiated contact on the surface. Keeping the trackingIDs persistent
across multitou

evdev: Import support for touch-tracking.

Touch tracking is a process of assignment of unique trackingID to each
initiated contact on the surface. Keeping the trackingIDs persistent
across multitouch reports requires solving of so called Euclidian
Bipartite Matching problem.

This commit imports EBM-solver implementation based on Dinitz-Kronrod
algorithm to find minimum cost matching between contacts listed in two
consecutive reports.

Obtained from: OpenBSD
MFC after: 2 weeks

show more ...


# 66bd52f5 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Make MT tracking IDs monotonically increasing sequence.

MFC after: 2 weeks


# 05936028 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Give short aliases to items of evdev_mt_slot array

with using of unioned anonymous structure.

Access to the same data by using different members of union generally
works despite it is not su

evdev: Give short aliases to items of evdev_mt_slot array

with using of unioned anonymous structure.

Access to the same data by using different members of union generally
works despite it is not supported by C specs.

Also add helper function to report entire slot state.

MFC after: 2 weeks

show more ...


# 127e54de 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Normalize width and pressure of single touch compat events

to match Synaptics touchpad reporting range.

MFC after: 2 weeks


# 314913ed 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: force no fuzz for autogenerated single touch compat events.

As fuzz has already been applied on multitouch event processing.
This allows to remove existing workaround for double fuzz procesin

evdev: force no fuzz for autogenerated single touch compat events.

As fuzz has already been applied on multitouch event processing.
This allows to remove existing workaround for double fuzz procesing.

MFC after: 2 weeks

show more ...


# fbe17f90 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Send first active rather than 0-th slot state as ST report

MFC after: 2 weeks


# 2dc7188e 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Use bitsets to track active touches and slots changed in current report

Obtained from: OpenBSD

MFC after: 2 weeks


# 98a7606b 25-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Multitouch code style changes.

1. Move touch count reporting helpers to utils. They are not multitouch.
2. Use evdev_mt prefix for private multitouch support routines.
3. Use int instead of i

evdev: Multitouch code style changes.

1. Move touch count reporting helpers to utils. They are not multitouch.
2. Use evdev_mt prefix for private multitouch support routines.
3. Use int instead of int32_t where fixed size is not required.
4. Export some internal functions.

This change should be no-op.

MFC after: 2 weeks

show more ...


Revision tags: release/13.0.0
# 5af73ad5 30-Nov-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Remove useless "initial value" parameter from evdev_support_abs()

It can not be used for setting of state of multitouch events.
If necessary, use evdev_push_event() instead of it.


Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0, release/10.4.0
# 0275f9db 11-Aug-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r321383 through r322397.


# 531c2d7a 24-Jul-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r320180


# e6502802 23-Jul-2017 Vladimir Kondratyev <wulf@FreeBSD.org>

Change my email address to wulf@FreeBSD.org in copyright headers.

Approved by: gonzo (mentor)
MFC after: 2 weeks


# 4c0a4665 23-Jul-2017 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: Macroize common locking sequences

Reviewed by: gonzo
Approved by: gonzo (mentor)
MFC after: 2 weeks


# ea2e26b1 23-Jul-2017 Vladimir Kondratyev <wulf@FreeBSD.org>

evdev: style(9), sort headers alphabetically

Pointed out by: bde
Reviewed by: gonzo
Approved by: gonzo (mentor)
MFC after: 2 weeks


Revision tags: release/11.1.0
# 242b2482 09-Oct-2016 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r306412 through r306905.


# c736a757 08-Oct-2016 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Implement EVDEV_FLAG_MT_AUTOREL flag (autorelease touchpoints)

Automaticaly release (send ABS_MT_TRACKING_ID = -1) MT-slots
that has not been listed in current MT protocol type B report.

Slot is co

Implement EVDEV_FLAG_MT_AUTOREL flag (autorelease touchpoints)

Automaticaly release (send ABS_MT_TRACKING_ID = -1) MT-slots
that has not been listed in current MT protocol type B report.

Slot is counted as listed if corresponding ABS_MT_SLOT event
has been sent regardless of other MT events.

Events are sent on SYN_REPORT event.

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>

show more ...


# bfbd1bb7 08-Oct-2016 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Allow using of driver's mutex instead internal one for evdev locking.

Add new API call: evdev_register_mtx which takes lock argument that
should be used instead of internal one for evdev locking. Us

Allow using of driver's mutex instead internal one for evdev locking.

Add new API call: evdev_register_mtx which takes lock argument that
should be used instead of internal one for evdev locking. Useful for
cases if evdev_push_event() is always called with driver's lock taken
and reduces amount of lock aquisitions. This allows to avoid LOR
between ev_open/ev_close invocations and evdev_push_event() Such LOR
can happen when ev_open/ev_close methods acquire driver lock and
evdev_push_event() is called with this lock taken.

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>

show more ...


Revision tags: release/11.0.1, release/11.0.0
# 93badfa1 16-Sep-2016 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r305687 through r305890.


# 2b3f6d66 11-Sep-2016 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Add evdev protocol implementation

evdev is a generic input event interface compatible with Linux
evdev API at ioctl level. It allows using unmodified (apart from
header name) input evdev drivers in

Add evdev protocol implementation

evdev is a generic input event interface compatible with Linux
evdev API at ioctl level. It allows using unmodified (apart from
header name) input evdev drivers in Xorg, Wayland, Qt.

This commit has only generic kernel API. evdev support for individual
hardware drivers like ukbd, ums, atkbd, etc. will be committed later.

Project was started by Jakub Klama as part of GSoC 2014. Jakub's
evdev implementation was later used as a base, updated and finished
by Vladimir Kondratiev.

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
Reviewed by: adrian, hans
Differential Revision: https://reviews.freebsd.org/D6998

show more ...