<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/evdev, branch releng/12.2</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC r362260:</title>
<updated>2020-06-25T00:00:04+00:00</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2020-06-25T00:00:04+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=25cb5edfe050e59735d19969f9f675514c4ce182'/>
<id>25cb5edfe050e59735d19969f9f675514c4ce182</id>
<content type='text'>
evdev: Add AT translated set1 scancodes for 'Eisu' &amp; 'Kana' keys.

PR:		247292
Submitted by:	Yuichiro NAITO &lt;naito.yuichiro@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
evdev: Add AT translated set1 scancodes for 'Eisu' &amp; 'Kana' keys.

PR:		247292
Submitted by:	Yuichiro NAITO &lt;naito.yuichiro@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r360624:</title>
<updated>2020-06-15T22:32:59+00:00</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2020-06-15T22:32:59+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c987ed87663f172d587985b2c55ab305677e0014'/>
<id>c987ed87663f172d587985b2c55ab305677e0014</id>
<content type='text'>
[evdev] Add AT translated set1 scancodes for F-unlocked F1-12 keys.

"F lock" is a switch between two sets of scancodes for function keys F1-F12
found on some Logitech and Microsoft PS/2 keyboards [1]. When "F lock" is
pressed, then F1-F12 act as function keys and produce usual keyscans for
these keys. When "F lock" is depressed, F1-F12 produced the same keyscans
but prefixed with E0.
Some laptops use [2] E0-prefixed F1-F12 scancodes for non-standard keys.

[1] https://www.win.tue.nl/~aeb/linux/kbd/scancodes-6.html
[2] https://reviews.freebsd.org/D21565

MFC r360625:

[evdev] Sync event codes with Linux kernel 5.6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[evdev] Add AT translated set1 scancodes for F-unlocked F1-12 keys.

"F lock" is a switch between two sets of scancodes for function keys F1-F12
found on some Logitech and Microsoft PS/2 keyboards [1]. When "F lock" is
pressed, then F1-F12 act as function keys and produce usual keyscans for
these keys. When "F lock" is depressed, F1-F12 produced the same keyscans
but prefixed with E0.
Some laptops use [2] E0-prefixed F1-F12 scancodes for non-standard keys.

[1] https://www.win.tue.nl/~aeb/linux/kbd/scancodes-6.html
[2] https://reviews.freebsd.org/D21565

MFC r360625:

[evdev] Sync event codes with Linux kernel 5.6
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r360126, r360132: Change kern.evdev.rcpt_mask to 12 by default</title>
<updated>2020-05-04T18:40:56+00:00</updated>
<author>
<name>Niclas Zeising</name>
<email>zeising@FreeBSD.org</email>
</author>
<published>2020-05-04T18:40:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4e5309dd6b0974a0e5877dee5a4668146bc10ae9'/>
<id>4e5309dd6b0974a0e5877dee5a4668146bc10ae9</id>
<content type='text'>
Original commit messages:
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.

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.

Approved by:	wulf (implicit, mfc)
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D24370
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Original commit messages:
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.

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.

Approved by:	wulf (implicit, mfc)
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D24370
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r359905:</title>
<updated>2020-04-26T19:42:40+00:00</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2020-04-26T19:42:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f7517db71ca8fb0121ed935d3454393269df519c'/>
<id>f7517db71ca8fb0121ed935d3454393269df519c</id>
<content type='text'>
[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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[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.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r360104: Use LIST_FOREACH_SAFE instead of LIST_FOREACH as we are</title>
<updated>2020-04-22T05:08:42+00:00</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2020-04-22T05:08:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4cb16818ec33199ca58095b4cb4a58d73aabac86'/>
<id>4cb16818ec33199ca58095b4cb4a58d73aabac86</id>
<content type='text'>
removing elements in the middle.

This fixes a panic when detaching USB mouse.

PR:		245732
Reviewed by:	wulf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
removing elements in the middle.

This fixes a panic when detaching USB mouse.

PR:		245732
Reviewed by:	wulf
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r359428:</title>
<updated>2020-04-13T22:18:49+00:00</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2020-04-13T22:18:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=be965bfdff8c6b7480b4f47fa37bfe5a27264130'/>
<id>be965bfdff8c6b7480b4f47fa37bfe5a27264130</id>
<content type='text'>
evdev: Add COMPAT_FREEBSD32 support for amd64 arch

Incompatibility between i386 and amd64 evdev ABIs was caused by presence of
'struct timeval' in evdev protocol. Replace it with 'struct timeval32' for
32 bit binaries.

Big-endian platforms may require additional work due to bitstr_t (array of
unsigned longs) usage in ioctl interface.

MFC r359429:
evdev: return error rather than zero-length data on blocked read()
if blocked process has been woken up by evdev device destruction.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
evdev: Add COMPAT_FREEBSD32 support for amd64 arch

Incompatibility between i386 and amd64 evdev ABIs was caused by presence of
'struct timeval' in evdev protocol. Replace it with 'struct timeval32' for
32 bit binaries.

Big-endian platforms may require additional work due to bitstr_t (array of
unsigned longs) usage in ioctl interface.

MFC r359429:
evdev: return error rather than zero-length data on blocked read()
if blocked process has been woken up by evdev device destruction.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r344494,r344495:</title>
<updated>2019-03-10T20:43:08+00:00</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2019-03-10T20:43:08+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4a919ad3a21126cde96acb565786baf1898764f8'/>
<id>4a919ad3a21126cde96acb565786baf1898764f8</id>
<content type='text'>
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 &lt;greg@unrelenting.technology&gt;
Reviewed by:	wulf, imp
Differential Revision:	https://reviews.freebsd.org/D18694
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;greg@unrelenting.technology&gt;
Reviewed by:	wulf, imp
Differential Revision:	https://reviews.freebsd.org/D18694
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r340926:</title>
<updated>2019-01-18T21:25:10+00:00</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2019-01-18T21:25:10+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7061e596bc140266bcb9de590fe9779b539425cc'/>
<id>7061e596bc140266bcb9de590fe9779b539425cc</id>
<content type='text'>
evdev: Fix pause key release event in AT keyboard set 1 to evdev xlat-or.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
evdev: Fix pause key release event in AT keyboard set 1 to evdev xlat-or.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r339823:</title>
<updated>2018-11-17T20:18:15+00:00</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2018-11-17T20:18:15+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=04a7a36d95a6948ec1b1b86fe098b9fc71168bdc'/>
<id>04a7a36d95a6948ec1b1b86fe098b9fc71168bdc</id>
<content type='text'>
evdev: Use console lock as evdev lock for all supported keyboard drivers.

Now evdev part of keyboard drivers does not take any locks if corresponding
input/eventN device node is not opened by userland consumers.

Do not assert console lock inside evdev to handle the cases when keyboard
driver is called from some special single-threaded context like shutdown
thread.

MFC r339824:

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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
evdev: Use console lock as evdev lock for all supported keyboard drivers.

Now evdev part of keyboard drivers does not take any locks if corresponding
input/eventN device node is not opened by userland consumers.

Do not assert console lock inside evdev to handle the cases when keyboard
driver is called from some special single-threaded context like shutdown
thread.

MFC r339824:

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.
</pre>
</div>
</content>
</entry>
<entry>
<title>evdev: Remove evdev.ko linkage dependency on kbd driver</title>
<updated>2018-08-13T19:05:53+00:00</updated>
<author>
<name>Vladimir Kondratyev</name>
<email>wulf@FreeBSD.org</email>
</author>
<published>2018-08-13T19:05:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=48f2b006486019a1a238238ba32875a2c1ce16a0'/>
<id>48f2b006486019a1a238238ba32875a2c1ce16a0</id>
<content type='text'>
Move evdev_ev_kbd_event() helper from evdev to kbd.c as otherwise evdev
unconditionally requires all keyboard and console stuff to be compiled
into the kernel. This dependency happens as evdev_ev_kbd_event() helper
references kbdsw global variable defined in kbd.c through use of
kbdd_ioctl() macro.

While here make all keyboard drivers respect evdev_rcpt_mask while setting
typematic rate and LEDs with evdev interface.

Requested by:	Milan Obuch &lt;bsd@dino.sk&gt;
Reviewed by:	hselasky, gonzo
Differential Revision:	https://reviews.freebsd.org/D16614
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move evdev_ev_kbd_event() helper from evdev to kbd.c as otherwise evdev
unconditionally requires all keyboard and console stuff to be compiled
into the kernel. This dependency happens as evdev_ev_kbd_event() helper
references kbdsw global variable defined in kbd.c through use of
kbdd_ioctl() macro.

While here make all keyboard drivers respect evdev_rcpt_mask while setting
typematic rate and LEDs with evdev interface.

Requested by:	Milan Obuch &lt;bsd@dino.sk&gt;
Reviewed by:	hselasky, gonzo
Differential Revision:	https://reviews.freebsd.org/D16614
</pre>
</div>
</content>
</entry>
</feed>
