2015-04-17 17:48:06 +03:00
# This file is part of systemd.
#
# Pointingstick const-accel configuration, to make different brand / model
2022-12-12 07:51:38 +03:00
# laptop pointingsticks have the same speed / feel, and per model adjustment of
# the IBM TrackPoint and Dell DualPoint Stick driver's sensitivity setting.
2015-04-17 17:48:06 +03:00
#
2022-12-12 07:41:34 +03:00
# ########################### MATCHING #######################################
#
2015-04-17 17:48:06 +03:00
# The lookup keys are composed in:
# 60-evdev.rules
#
# Supported hardware matches are:
# - Generic input devices match:
2020-11-03 16:28:14 +03:00
# evdev:input:bZZZZvYYYYpXXXXeWWWW-VVVV
2015-04-17 17:48:06 +03:00
# 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
2022-12-12 07:41:34 +03:00
# is a variable-length input-modalias describing the device capabilities.
2016-12-22 12:20:02 +03:00
# The vendor, product and version ID for a device node "eventX" is listed
# in /sys/class/input/eventX/device/id.
2015-04-17 17:48:06 +03:00
#
# - Input driver device name and DMI data match:
2020-10-15 10:22:35 +03:00
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*:*
2015-04-17 17:48:06 +03:00
# <input device name> is the name device specified by the driver,
2016-12-22 12:20:02 +03:00
# <vendor> is the firmware-provided string from the kernel DMI modalias,
2022-12-12 07:41:34 +03:00
# 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.
2015-04-17 17:48:06 +03:00
#
# 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):
2016-11-23 21:21:56 +03:00
# systemd-hwdb update
2015-04-17 17:48:06 +03:00
# udevadm trigger /dev/input/eventXX
2022-12-12 07:41:34 +03:00
# where /dev/input/eventXX is the pointingstick in question. If in doubt, simply
# use /dev/input/event* to reload all input rules.
2015-04-17 17:48:06 +03:00
#
2015-08-04 07:03:55 +03:00
# 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
2015-12-24 21:34:24 +03:00
# udevadm info /dev/input/eventXX.
2015-04-17 17:48:06 +03:00
#
# Allowed properties are:
2021-08-30 11:30:42 +03:00
# ID_INPUT_POINTINGSTICK
2015-04-17 17:48:07 +03:00
# POINTINGSTICK_SENSITIVITY
2015-04-17 17:48:06 +03:00
#
2015-04-28 15:45:02 +03:00
# Entries should be sorted with growing _SENSITIVITY and _CONST_ACCEL.
#
2015-04-17 17:48:06 +03:00
#########################################
2015-04-17 17:48:07 +03:00
# POINTINGSTICK_SENSITIVITY #
#########################################
#
# TPPS/2 IBM TrackPoint driver sensitivity sysfs setting
# POINTINGSTICK_SENSITIVITY=<sensitivity>
#
# Where <sensitivity> is a number between 0 and 255, note this property
# only applies to TPPS/2 IBM TrackPoint devices, see
# drivers/input/mouse/trackpoint.c in the Linux kernel sources.
#
2015-04-17 17:48:06 +03:00
2016-07-10 15:48:23 +03:00
# Sort by brand, model
2015-04-17 17:48:08 +03:00
2021-08-30 11:30:42 +03:00
##########################################
# Generic
##########################################
evdev:name:*[tT]rack[pP]oint*:*
2022-12-12 07:51:38 +03:00
evdev:name:*[dD]ual[pP]oint [sS]tick*:*
2021-08-30 11:30:42 +03:00
ID_INPUT_POINTINGSTICK=1
2015-04-17 17:48:08 +03:00
#########################################
# Lenovo
#########################################
2017-01-16 04:41:59 +03:00
# Lenovo Thinkpad X220
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX220:*
2018-09-08 09:18:44 +03:00
# Lenovo Thinkpad X220 tablet
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX220Tablet:*
2015-08-31 07:42:02 +03:00
# Lenovo Thinkpad X230
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX230:*
2015-05-18 10:54:00 +03:00
# Lenovo Thinkpad X230 tablet
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX230Tablet:*
2017-12-19 13:22:36 +03:00
# Lenovo ThinkPad *30 series
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??30:*
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??30?:*
2016-08-03 14:12:37 +03:00
# Lenovo Thinkpad *40 series
2016-08-04 02:57:36 +03:00
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??40:*
2016-08-03 14:12:37 +03:00
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??40?:*
# Lenovo Thinkpad *50 series
2016-08-04 02:57:36 +03:00
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??50:*
2016-08-03 14:12:37 +03:00
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??50?:*
# Lenovo Thinkpad *60 series
2016-08-04 02:57:36 +03:00
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??60:*
2016-08-03 14:12:37 +03:00
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??60?:*
2019-10-02 12:38:07 +03:00
# Lenovo Thinkpad *70 series
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??70:*
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??70?:*
# Lenovo Thinkpad *80 series
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??80:*
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??80?:*
# Lenovo Thinkpad *90 series
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??90:*
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??90?:*
2015-09-14 15:16:53 +03:00
# Lenovo Thinkpad X1 Carbon 3rd gen
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX1Carbon3rd:*
2016-06-03 10:41:14 +03:00
# Lenovo Thinkpad X1 Carbon 4th gen
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX1Carbon4th:*
2016-09-12 15:29:55 +03:00
# Lenovo Thinkpad X1 Tablet
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX1Tablet:*
2016-08-05 17:52:21 +03:00
POINTINGSTICK_SENSITIVITY=200
2015-04-28 15:45:02 +03:00
2018-09-07 04:35:55 +03:00
# Lenovo Thinkpad X200/X201/X200s/X201s/X200 Tablet/X201 Tablet
2015-04-28 15:45:02 +03:00
# Note these come with 2 revisions of keyboard, with the trackpoints having a
# different sensitivity in the different revisions. 1.25 is a bit slow for the
# least sensitive revision, but it is better to be a bit slow than too fast.
2017-05-11 05:29:15 +03:00
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX20?:*
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX20??:*
2018-09-07 04:35:55 +03:00
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX20?Tablet:*
2016-08-05 17:52:21 +03:00
POINTINGSTICK_SENSITIVITY=200
2017-05-15 15:16:16 +03:00
# Lenovo UltraNav SK-8845 (USB keyboard)
Partially revert "hwdb: add trailing ":*" everywhere"
This reverts commit c0443b97b71d5f70a0622061f589307bec5502c6.
I got various cases wrong:
"usb:v04F3p2B7Cd5912dc00dsc00dp00ic03isc00ip00in00"
"usb:v0627p0001:QEMU USB Tablet"
"input:b0003v0627p0001e0001-e0,1,2,4,k110,111,112,r0,1,8,B,am4,lsfw"
OTOH:
-evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV:*
+evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV*
is OK. Other parts follow after 'pn'.
-mouse:*:name:*Trackball*:*
-mouse:*:name:*trackball*:*
-mouse:*:name:*TrackBall*:*
+mouse:*:name:*Trackball*:
+mouse:*:name:*trackball*:
+mouse:*:name:*TrackBall*:
... and anything else with :name should be OK too, because our imports always
include ":" at the end:
IMPORT{builtin}="hwdb 'joystick:$env{ID_BUS}:v$attr{id/vendor}p$attr{id/product}:name:$attr{name}:'"
Including '*' at the end makes the pattern work even if we decide to add
something to the match string later.
Fixes #17499.
2020-11-03 16:17:53 +03:00
evdev:input:b0003v06CBp0009*
2017-05-15 15:16:16 +03:00
POINTINGSTICK_SENSITIVITY=200