# This file is part of systemd.
#
+# ########################### MATCHING #######################################
+#
# The lookup keys are composed in:
# 60-evdev.rules
#
-# Match string formats:
-# evdev:<modalias>
-# evdev:name:<device name>:dmi:<dmi string>
+# Supported hardware matches are:
+# - Generic input devices match:
+# evdev:input:bZZZZvYYYYpXXXXeWWWW-VVVV
+# This matches on the kernel modalias of the input-device, mainly:
+# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
+# WWWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
+# is a variable-length input-modalias describing the device capabilities.
+# The vendor, product and version ID for a device node "eventX" is listed
+# in /sys/class/input/eventX/device/id.
+#
+# - Input driver device name and DMI data match:
+# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
+# <input device name> is the name device specified by the
+# driver, <vendor> is the firmware-provided string exported
+# by the kernel DMI modalias, see /sys/class/dmi/id/modalias.
+#
+# - Extended input driver device name, properties and DMI data match:
+# evdev:name:<input device name>:phys:<phys>:ev:<ev>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
+# <input device name> is the name device specified by the
+# driver, <phys> is the physical-device-path, "cat
+# /sys/class/input/input?/phys", <ev> is the event bitmask, "cat
+# /sys/class/input/input?/capabilities/ev" and <vendor> is the
+# firmware-provided string exported by the kernel DMI modalias,
+# see /sys/class/dmi/id/modalias.
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/61-evdev-local.hwdb
# This matches on the kernel modalias of the input-device, mainly:
# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
# WWWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
-# is an arbitrary length input-modalias describing the device capabilities.
+# is a variable-length input-modalias describing the device capabilities.
# The vendor, product and version ID for a device node "eventX" is listed
# in /sys/class/input/eventX/device/id.
#
# - AT keyboard DMI data matches:
# evdev:atkbd:dmi:bvn*:bvr*:bd*:svn<vendor>:pn<product>:pvr*
# <vendor> and <product> are the firmware-provided strings
-# exported by the kernel DMI modalias, see /sys/class/dmi/id/modalias
+# exported by the kernel DMI modalias, see /sys/class/dmi/id/modalias.
#
# - Input driver device name and DMI data match:
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# /sys/class/input/input?/phys", <ev> is the event bitmask, "cat
# /sys/class/input/input?/capabilities/ev" and <vendor> is the
# firmware-provided string exported by the kernel DMI modalias,
-# see /sys/class/dmi/id/modalias
+# see /sys/class/dmi/id/modalias.
+#
+# To add local entries, create a new file
+# /etc/udev/hwdb.d/61-keyboard-local.hwdb
+# and add your rules there. To load the new rules execute (as root):
+# systemd-hwdb update
+# udevadm trigger /dev/input/eventXX
+# where /dev/input/eventXX is the keyboard in question. If in doubt, simply use
+# /dev/input/event* to reload all input rules.
+#
+# If your changes are generally applicable, preferably send them as a pull
+# request to
+# https://github.com/systemd/systemd
+# or create a bug report on https://github.com/systemd/systemd/issues and
+# include your new rules, a description of the device, and the output of
+# udevadm info /dev/input/eventXX.
# ######################### KEY MAPPING ######################################
#
# Examples of such devices: Chromebooks where the top row is used for both
# media and F1-F10 keys.
-# To update this file, create a new file
-# /etc/udev/hwdb.d/70-keyboard.hwdb
-# and add your rules there. To load the new rules execute (as root):
-# systemd-hwdb update
-# udevadm trigger /dev/input/eventXX
-# where /dev/input/eventXX is the keyboard in question. If in
-# doubt, simply reload all input rules
-# udevadm trigger --verbose --sysname-match="event*"
-#
-# If your changes are generally applicable, preferably send them as a pull
-# request to
-# https://github.com/systemd/systemd
-# or create a bug report on https://github.com/systemd/systemd/issues and
-# include your new rules, a description of the device, and the output of
-# udevadm info /dev/input/eventXX.
-
##########################################
# Acer
##########################################
# laptop pointingsticks have the same speed / feel, and per model adjustment
# of the IBM TrackPoint driver's sensitivity setting
#
+# ########################### MATCHING #######################################
+#
# The lookup keys are composed in:
# 60-evdev.rules
#
# This matches on the kernel modalias of the input-device, mainly:
# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
# WWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
-# is an arbitrary length input-modalias describing the device capabilities.
+# is a variable-length input-modalias describing the device capabilities.
# The vendor, product and version ID for a device node "eventX" is listed
# in /sys/class/input/eventX/device/id.
#
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*:*
# <input device name> is the name device specified by the driver,
# <vendor> is the firmware-provided string from the kernel DMI modalias,
-# see /sys/class/dmi/id/modalias
+# see /sys/class/dmi/id/modalias.
+#
+# - Extended input driver device name, properties and DMI data match:
+# evdev:name:<input device name>:phys:<phys>:ev:<ev>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
+# <input device name> is the name device specified by the
+# driver, <phys> is the physical-device-path, "cat
+# /sys/class/input/input?/phys", <ev> is the event bitmask, "cat
+# /sys/class/input/input?/capabilities/ev" and <vendor> is the
+# firmware-provided string exported by the kernel DMI modalias,
+# see /sys/class/dmi/id/modalias.
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-pointingstick-local.hwdb
# and add your rules there. To load the new rules execute (as root):
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
-# where /dev/input/eventXX is the pointingstick in question. If in
-# doubt, simply use /dev/input/event* to reload all input rules.
+# where /dev/input/eventXX is the pointingstick in question. If in doubt, simply
+# use /dev/input/event* to reload all input rules.
#
# If your changes are generally applicable, preferably send them as a pull
# request to