|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
95ee2897 |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
|
Revision tags: release/13.2.0, release/12.4.0 |
|
| #
18308893 |
| 18-Nov-2022 |
Vladimir Kondratyev <[email protected]> |
evdev: Extend EVIOCGRAB ioctl scope to cover kbd interface
of various keyboard drivers. EVIOCGRAB ioctl execution on /dev/input/event# device node gains exclusive access to this device to caller. It
evdev: Extend EVIOCGRAB ioctl scope to cover kbd interface
of various keyboard drivers. EVIOCGRAB ioctl execution on /dev/input/event# device node gains exclusive access to this device to caller. It is used mostly for development purposes and remote control software. See e.g. https://reviews.freebsd.org/D30020 which is the reason of creation of this change. Keyboard grabbing is disabled in KDB and during panics.
MFC with: 4a0db5e2920c Tested by: corvink Differential revision: https://reviews.freebsd.org/D30542
show more ...
|
| #
4a0db5e2 |
| 17-Nov-2022 |
Vladimir Kondratyev <[email protected]> |
evdev: Extend EVIOCGRAB ioctl scope to cover sysmouse interface
of psm(4), ums(4) and sysmouse(4) drivers. EVIOCGRAB ioctl execution on /dev/input/event# device node gains exclusive access to this d
evdev: Extend EVIOCGRAB ioctl scope to cover sysmouse interface
of psm(4), ums(4) and sysmouse(4) drivers. EVIOCGRAB ioctl execution on /dev/input/event# device node gains exclusive access to this device to caller. It is used mostly for development purposes and remote control software. See e.g. https://reviews.freebsd.org/D30020 which is the reason of creation of this change.
MFC after: 2 weeks Tested by: corvink Differential revision: https://reviews.freebsd.org/D30542
show more ...
|
|
Revision tags: release/13.1.0, release/12.3.0 |
|
| #
d056693d |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Add support for automatic MT protocol type A to type B conversion.
MFC after: 2 weeks
|
| #
f76051c7 |
| 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.
MFC after: 2 weeks
show more ...
|
| #
66bd52f5 |
| 24-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Make MT tracking IDs monotonically increasing sequence.
MFC after: 2 weeks
|
| #
314913ed |
| 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.
MFC after: 2 weeks
show more ...
|
| #
98a7606b |
| 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.
MFC after: 2 weeks
show more ...
|
| #
5f99ae56 |
| 16-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Use bit_foreach helper macro
for traversing all bits set in the bitstring(9).
While here move bit_change() definition to common header.
MFC after: 1 week
|
| #
e40fec4e |
| 16-Aug-2021 |
Vladimir Kondratyev <[email protected]> |
evdev: Do not check maximal contact number for MT initialization
This allows singletouch devices which use multitouch protocols to work.
Reported by: Mark Kane <mark_AT_kane_DOT_mn> MFC after: 1 we
evdev: Do not check maximal contact number for MT initialization
This allows singletouch devices which use multitouch protocols to work.
Reported by: Mark Kane <mark_AT_kane_DOT_mn> MFC after: 1 week
show more ...
|
|
Revision tags: release/13.0.0 |
|
| #
3b2175fd |
| 30-Nov-2020 |
Vladimir Kondratyev <[email protected]> |
evdev: Implement fuzz.
Fuzz is used to filter noise from the event stream. Upcoming gamepad drivers use it.
Reviewed by: hselasky (as part of D27993)
|
|
Revision tags: release/12.2.0, release/11.4.0 |
|
| #
d276eae6 |
| 21-Apr-2020 |
Vladimir Kondratyev <[email protected]> |
evdev: Make open(2) and close(3) handlers sleepable.
At the beginning of evdev there was a LOR between hardware driver's and evdev client list locks as they were taken in different order at driver's
evdev: Make open(2) and close(3) handlers sleepable.
At the beginning of evdev there was a LOR between hardware driver's and evdev client list locks as they were taken in different order at driver's interrupt and evdev open()/close() handlers.
The LOR was fixed with introduction of evdev_register_mtx() function which allowed to use a hardware driver's lock as evdev client list lock. While this works good with PS/2 and USB, this does not work with I2C. Unlike PS/2 and USB, I2C open()/close() handlers do unbound sleeps while waiting for I2C bus to release and while performing IO. This change uses epoch(9) for traversing evdev client list in interrupt handler to avoid the LOR thus making possible to convert evdev client list lock to sleepable sx.
While here add brief locking protocol description.
Reviewed by: markj Differential revision: https://reviews.freebsd.org/D27865
show more ...
|
| #
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.
|
| #
d6dbbdea |
| 08-Oct-2020 |
Hans Petter Selasky <[email protected]> |
Allow evdev's rcpt_mask and sysmouse_t_axis parameters to be specified in /boot/loader.conf .
MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
| #
e3897738 |
| 20-Apr-2020 |
Niclas Zeising <[email protected]> |
Fix kern.evdev.rcpt_mask on powerpc
In r360126, I meant to have a different mask only on powerpc, not powerpc64. Update the check to check that we're not compiling for powerpc64.
Reported by: jhibb
Fix kern.evdev.rcpt_mask on powerpc
In r360126, I meant to have a different mask only on powerpc, not powerpc64. Update the check to check that we're not compiling for powerpc64.
Reported by: jhibbits Approved by: wulf (implicit) MFC after: 2 weeks X-MFC-Note: 12 only X-MFC-With: r360126 Differential Revision: D24370 (followup)
show more ...
|
| #
f8ae7340 |
| 20-Apr-2020 |
Niclas Zeising <[email protected]> |
Change kern.evdev.rcpt_mask to 12 by default
Change kern.evdev.rcpt_mask from 3 to 12 by default. This makes us much more evdev-friendly, and will prevent everyone using xorg and wayland with evdev
Change kern.evdev.rcpt_mask to 12 by default
Change kern.evdev.rcpt_mask from 3 to 12 by default. This makes us much more evdev-friendly, and will prevent everyone using xorg and wayland with evdev devices (the default) from needing to change this locally.
powerpc32 still uses the old value for the keyboard part, becaues the adb keyboard driver used there is not evdev compatible.
Reviewed by: wulf Approved by: wulf MFC after: 2 weeks X-MFC-Note: 12 only Relnotes: yes Differential Revision: https://reviews.freebsd.org/D24370
show more ...
|
| #
5396856e |
| 19-Apr-2020 |
Xin LI <[email protected]> |
Use LIST_FOREACH_SAFE instead of LIST_FOREACH as we are removing elements in the middle.
This fixes a panic when detaching USB mouse.
PR: 245732 Reviewed by: wulf MFC after: 3 days Differential Re
Use LIST_FOREACH_SAFE instead of LIST_FOREACH as we are removing elements in the middle.
This fixes a panic when detaching USB mouse.
PR: 245732 Reviewed by: wulf MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D24500
show more ...
|
| #
68cc0537 |
| 13-Apr-2020 |
Vladimir Kondratyev <[email protected]> |
[evdev] Use proper mutex reference in autorepeat callout initialization.
This fixes panic occuring when evdev key autorepeat is enabled by driver which initializes evdev with external mutex.
|
| #
7029da5c |
| 26-Feb-2020 |
Pawel Biernacki <[email protected]> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
|
Revision tags: release/12.1.0, release/11.3.0 |
|
| #
dd3a67a0 |
| 24-Feb-2019 |
Vladimir Kondratyev <[email protected]> |
Fix build when EVDEV_SUPPORT is option disabled after r344494
MFC with: 344494
|
| #
f99e7b1a |
| 24-Feb-2019 |
Vladimir Kondratyev <[email protected]> |
evdev: export event device properties through sysctl interface
A big security advantage of Wayland is not allowing applications to read input devices all the time. Having /dev/input/* accessible to
evdev: export event device properties through sysctl interface
A big security advantage of Wayland is not allowing applications to read input devices all the time. Having /dev/input/* accessible to the user account subverts this advantage.
libudev-devd was opening the evdev devices to detect their types (mouse, keyboard, touchpad, etc). This don't work if /dev/input/* is inaccessible. With the kernel exposing this information as sysctls (kern.evdev.input.*), we can work w/o /dev/input/* access, preserving the Wayland security model.
Submitted by: Greg V <[email protected]> Reviewed by: wulf, imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D18694
show more ...
|
|
Revision tags: release/12.0.0 |
|
| #
5ef24889 |
| 27-Oct-2018 |
Vladimir Kondratyev <[email protected]> |
evdev: disable evdev if it is invoked from KDB or panic context
This allow to prevent deadlock on entering KDB if one of evdev locks is already taken by userspace process.
Also this change discards
evdev: disable evdev if it is invoked from KDB or panic context
This allow to prevent deadlock on entering KDB if one of evdev locks is already taken by userspace process.
Also this change discards all but LED console events produced by KDB as unrelated to userspace.
Tested by: dumbbell (as part of D15070) Objected by: bde (as 'KDB lock an already locked mutex' problem solution) MFC after: 1 month
show more ...
|
| #
911aed94 |
| 13-Aug-2018 |
Vladimir Kondratyev <[email protected]> |
evdev: remove soft context from evdev methods parameter list.
Now softc should be retrieved from struct edvev * pointer with evdev_get_softc() helper.
wmt(4) is a sample of driver that support both
evdev: remove soft context from evdev methods parameter list.
Now softc should be retrieved from struct edvev * pointer with evdev_get_softc() helper.
wmt(4) is a sample of driver that support both KPI.
Reviewed by: hselasky, gonzo Differential Revision: https://reviews.freebsd.org/D16614
show more ...
|
|
Revision tags: release/11.2.0 |
|
| #
303dbb85 |
| 20-Nov-2017 |
Vladimir Kondratyev <[email protected]> |
evdev: Export EVDEV_SUPPORT kernel option through feature facility
Suggested by: netchild Reviewed by: gonzo Approved by: gonzo (mentor) MFC after: 1 week
|
| #
37ff3345 |
| 01-Nov-2017 |
Vladimir Kondratyev <[email protected]> |
evdev: Do not start/stop softrepeat callout if no clients attached
Reviewed by: gonzo Approved by: gonzo (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D12676
|