git: kernel - Bring in evdev from FreeBSD

Peeter Must peeterm at crater.dragonflybsd.org
Fri Dec 8 03:10:31 PST 2017


commit d3d1dd3e4513b2ab753f8ba52f144dc916420ba6
Author: Peeter Must <karu.pruun at gmail.com>
Date:   Fri Dec 8 12:43:27 2017 +0200

    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.

Summary of changes:
 sys/conf/files                         |   4 +
 sys/conf/options                       |   4 +
 sys/config/LINT64                      |   5 +
 sys/dev/misc/evdev/Makefile            |   6 +
 sys/dev/misc/evdev/cdev.c              | 887 ++++++++++++++++++++++++++++++
 sys/dev/misc/evdev/evdev.c             | 978 +++++++++++++++++++++++++++++++++
 sys/dev/misc/evdev/evdev.h             | 210 +++++++
 sys/dev/misc/evdev/evdev_mt.c          | 285 ++++++++++
 sys/dev/misc/evdev/evdev_private.h     | 221 ++++++++
 sys/dev/misc/evdev/evdev_utils.c       | 331 +++++++++++
 sys/dev/misc/evdev/freebsd-bitstring.h | 358 ++++++++++++
 sys/dev/misc/evdev/input-event-codes.h | 819 +++++++++++++++++++++++++++
 sys/dev/misc/evdev/input.h             | 271 +++++++++
 13 files changed, 4379 insertions(+)
 create mode 100755 sys/dev/misc/evdev/Makefile
 create mode 100644 sys/dev/misc/evdev/cdev.c
 create mode 100644 sys/dev/misc/evdev/evdev.c
 create mode 100644 sys/dev/misc/evdev/evdev.h
 create mode 100644 sys/dev/misc/evdev/evdev_mt.c
 create mode 100644 sys/dev/misc/evdev/evdev_private.h
 create mode 100644 sys/dev/misc/evdev/evdev_utils.c
 create mode 100644 sys/dev/misc/evdev/freebsd-bitstring.h
 create mode 100644 sys/dev/misc/evdev/input-event-codes.h
 create mode 100644 sys/dev/misc/evdev/input.h

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d3d1dd3e4513b2ab753f8ba52f144dc916420ba6


-- 
DragonFly BSD source repository


More information about the Commits mailing list