|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0 |
|
| #
1097f2f4 |
| 15-Sep-2021 |
John Baldwin <[email protected]> |
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
(cherry pic
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
(cherry picked from commit d99c87c8d54a02a229cbeaa19ec8784b1d5afbb9)
show more ...
|
| #
45fd5fe9 |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Add support for automatic MT protocol type A to type B conversion.
(cherry picked from commit d056693d7bc6c1b5f2c1612e5b34807f173e21c7)
|
| #
4174302b |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
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.
(cherry picked from commit f76051c7dabe952b75127a8031d87d78b603be20)
show more ...
|
| #
b79de251 |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
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
(cherry picked from commit 4c0a134e32a7f4dec556fea15c8de22f69864492)
show more ...
|
| #
f160aa0d |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Make MT tracking IDs monotonically increasing sequence.
(cherry picked from commit 66bd52f5e241bd2548015f847f12cdff69176c40)
|
| #
759a5cd1 |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
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.
(cherry picked from commit 059360287e3344f48f5a7839e2d6d54016b18b19)
show more ...
|
| #
de6d60ee |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Normalize width and pressure of single touch compat events
to match Synaptics touchpad reporting range.
(cherry picked from commit 127e54deb6d8899e1dc1bc6251d512e19f21b0f1)
|
| #
de20578e |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
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.
(cherry picked from commit 314913ed7c6e6e1b7c80a1063620f478961419b7)
show more ...
|
| #
f7d9821c |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Send first active rather than 0-th slot state as ST report
(cherry picked from commit fbe17f9017e785dd564ce7fc5553a9136d3a0b03)
|
| #
5bf6cf0f |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Use bitsets to track active touches and slots changed in current report
Obtained from: OpenBSD
(cherry picked from commit 2dc7188e532f0147b36a44ce5c033d9f59cbd9f4)
|
| #
a437dfa5 |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
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.
(cherry picked from commit 98a7606b85e05132f328a2498dccab78df31cb7e)
show more ...
|
|
Revision tags: release/13.0.0 |
|
| #
5af73ad5 |
| 30-Nov-2020 |
Vladimir Kondratyev <[email protected]> |
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 |
|
| #
e6502802 |
| 23-Jul-2017 |
Vladimir Kondratyev <[email protected]> |
Change my email address to [email protected] in copyright headers.
Approved by: gonzo (mentor) MFC after: 2 weeks
|
| #
4c0a4665 |
| 23-Jul-2017 |
Vladimir Kondratyev <[email protected]> |
evdev: Macroize common locking sequences
Reviewed by: gonzo Approved by: gonzo (mentor) MFC after: 2 weeks
|
| #
ea2e26b1 |
| 23-Jul-2017 |
Vladimir Kondratyev <[email protected]> |
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 |
|
| #
c736a757 |
| 08-Oct-2016 |
Oleksandr Tymoshenko <[email protected]> |
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 <[email protected]>
show more ...
|
| #
bfbd1bb7 |
| 08-Oct-2016 |
Oleksandr Tymoshenko <[email protected]> |
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 <[email protected]>
show more ...
|
|
Revision tags: release/11.0.1, release/11.0.0 |
|
| #
2b3f6d66 |
| 11-Sep-2016 |
Oleksandr Tymoshenko <[email protected]> |
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 <[email protected]> Reviewed by: adrian, hans Differential Revision: https://reviews.freebsd.org/D6998
show more ...
|