kernel - Bring in evdev from FreeBSD
authorPeeter Must <karu.pruun@gmail.com>
Fri, 8 Dec 2017 10:43:27 +0000 (12:43 +0200)
committerPeeter Must <karu.pruun@gmail.com>
Fri, 8 Dec 2017 10:43:27 +0000 (12:43 +0200)
commitd3d1dd3e4513b2ab753f8ba52f144dc916420ba6
treef9a7005a8196f6c7d8c24a514253f226b1c5c804
parent758d6a9e7928c1c7ed970cdd8ea3554ae39cd238
kernel - Bring in evdev from FreeBSD

* This is a port of evdev, the generic input event interface, from
  FreeBSD. Wikipedia: "Evdev generalizes raw input events from device
  drivers and makes them available through character devices in the
  /dev/input/ directory."

* It is currently considered experimental since in rare cases it may cause
  kernel crash when a device, e.g. usb mouse or keyboard, is detached
  while a userland program reading from the corresponding input/eventX
  device.

* In order to enable evdev, kernel needs to be rebuilt with 'device evdev'
  and 'options EVDEV_SUPPORT'. For debugging, add 'options EVDEV_DEBUG'.

* At present, only ums, kbd and kbdmux can send events to their respective
  input/eventX devices. More drivers will be added in due course. The sysctl
  kern.evdev.rcpt_mask determines which drivers send events to evdev.
13 files changed:
sys/conf/files
sys/conf/options
sys/config/LINT64
sys/dev/misc/evdev/Makefile [new file with mode: 0755]
sys/dev/misc/evdev/cdev.c [new file with mode: 0644]
sys/dev/misc/evdev/evdev.c [new file with mode: 0644]
sys/dev/misc/evdev/evdev.h [new file with mode: 0644]
sys/dev/misc/evdev/evdev_mt.c [new file with mode: 0644]
sys/dev/misc/evdev/evdev_private.h [new file with mode: 0644]
sys/dev/misc/evdev/evdev_utils.c [new file with mode: 0644]
sys/dev/misc/evdev/freebsd-bitstring.h [new file with mode: 0644]
sys/dev/misc/evdev/input-event-codes.h [new file with mode: 0644]
sys/dev/misc/evdev/input.h [new file with mode: 0644]