History log of /freebsd/sys/dev/evdev/evdev.c (Results 1 – 25 of 55)
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
# 18308893 19-Nov-2022 Vladimir Kondratyev <wulf@FreeBSD.org>

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 <wulf@FreeBSD.org>

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 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 ...


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

evdev: Make MT tracking IDs monotonically increasing sequence.

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 ...


# 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 ...


# 5f99ae56 16-Aug-2021 Vladimir Kondratyev <wulf@FreeBSD.org>

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 <wulf@FreeBSD.org>

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 <wulf@FreeBSD.org>

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 <wulf@FreeBSD.org>

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 <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.


# d6dbbdea 08-Oct-2020 Hans Petter Selasky <hselasky@FreeBSD.org>

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 <zeising@FreeBSD.org>

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 <zeising@FreeBSD.org>

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 <delphij@FreeBSD.org>

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 14-Apr-2020 Vladimir Kondratyev <wulf@FreeBSD.org>

[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.


# 75dfc66c 27-Feb-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r358269 through r358399.


# 7029da5c 26-Feb-2020 Pawel Biernacki <kaktus@FreeBSD.org>

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
# 18b18078 25-Feb-2019 Enji Cooper <ngie@FreeBSD.org>

MFhead@r344527


# a8fe8db4 25-Feb-2019 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r344178 through r344512.


# dd3a67a0 24-Feb-2019 Vladimir Kondratyev <wulf@FreeBSD.org>

Fix build when EVDEV_SUPPORT is option disabled after r344494

MFC with: 344494


# f99e7b1a 24-Feb-2019 Vladimir Kondratyev <wulf@FreeBSD.org>

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 <greg@unrelenting.technology>
Reviewed by: wulf, imp
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D18694

show more ...


Revision tags: release/12.0.0
# 2a22df74 04-Nov-2018 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r339813 through r340125.


123