# This file is part of systemd.
#
# The lookup keys are composed in:
#   60-evdev.rules
#
# Note: The format of the "evdev:" prefix match key is a
# contract between the rules file and the hardware data, it might
# change in later revisions to support more or better matches, it
# is not necessarily expected to be a stable ABI.
#
# Match string formats:
# evdev:<modalias>
# evdev:name:<device name>:dmi:<dmi string>
#
# To add local entries, create a new file
#   /etc/udev/hwdb.d/61-evdev-local.hwdb
# and add your rules there. To load the new rules execute (as root):
#   udevadm hwdb --update
#   udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the device 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.
#
# Allowed properties are:
#    EVDEV_ABS_<axis>=<min>:<max>:<res>:<fuzz>:<flat>
#
# where <axis> is the hexadecimal EV_ABS code as listed in linux/input.h
# and min, max, res, fuzz, flat are the decimal values to the respective
# fields of the struct input_absinfo as listed in linux/input.h.
# If a field is missing the field will be left as-is. Not all fields need to
# be present. e.g. ::45 sets the resolution to 45 units/mm.

#
# Sort by brand, model

#########################################
# Apple
#########################################

#  Macbook2,1 (late 2006), single-button touchpad
evdev:input:b0003v05ACp021B*
 EVDEV_ABS_00=256:1471:12
 EVDEV_ABS_01=256:831:12

# Macbook5,1 (unibody), aka wellspring3
evdev:input:b0003v05ACp0236*
evdev:input:b0003v05ACp0237*
evdev:input:b0003v05ACp0238*
 EVDEV_ABS_00=::92
 EVDEV_ABS_01=::90
 EVDEV_ABS_35=::92
 EVDEV_ABS_36=::90

# Macbook8 (unibody, March 2011)
evdev:input:b0003v05ACp0245*
evdev:input:b0003v05ACp0246*
evdev:input:b0003v05ACp0247*
 EVDEV_ABS_00=::92
 EVDEV_ABS_01=::91
 EVDEV_ABS_35=::92
 EVDEV_ABS_36=::91

# Macbook8,2 (unibody)
evdev:input:b0003v05ACp0252*
evdev:input:b0003v05ACp0253*
evdev:input:b0003v05ACp0254*
 EVDEV_ABS_00=::94
 EVDEV_ABS_01=::92
 EVDEV_ABS_35=::94
 EVDEV_ABS_36=::92

# MacbookPro10,1 (unibody, June 2012)
evdev:input:b0003v05ACp0259*
evdev:input:b0003v05ACp025A*
evdev:input:b0003v05ACp025B*
# MacbookPro10,2 (unibody, October 2012)
evdev:input:b0003v05ACp0259*
evdev:input:b0003v05ACp025A*
evdev:input:b0003v05ACp025B*
 EVDEV_ABS_00=::94
 EVDEV_ABS_01=::92
 EVDEV_ABS_35=::94
 EVDEV_ABS_36=::92

#########################################
# ASUS
#########################################
# Asus K52JT
evdev:name:ETPS/2 Elantech Touchpad:dmi:bvn*:bvr*:bd*:svnASUSTeKComputerInc.:pnK52JT:*
 EVDEV_ABS_00=::18
 EVDEV_ABS_01=::16
 EVDEV_ABS_35=::18
 EVDEV_ABS_36=::16

#########################################
# Dell
#########################################

# Dell Vostro 1510
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnDellInc.:pnVostro1510*
 EVDEV_ABS_00=::14
 EVDEV_ABS_01=::18

# Dell Inspiron N5040
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnInspironN5040*
 EVDEV_ABS_00=25:2000:22
 EVDEV_ABS_01=0:1351:28
 EVDEV_ABS_35=25:2000:22
 EVDEV_ABS_36=0:1351:28

# Dell Latitude E6220
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6220*
 EVDEV_ABS_00=76:1815:22
 EVDEV_ABS_01=131:1330:30
 EVDEV_ABS_35=76:1815:22
 EVDEV_ABS_36=131:1330:30

#########################################
# Google
#########################################

# Chromebook Pixel (2015) - Samus
evdev:name:Atmel maXTouch Touch*:dmi:bvn*:bvr*:bd*:svnGOOGLE:pnSamus*
 EVDEV_ABS_00=::10
 EVDEV_ABS_01=::10
 EVDEV_ABS_35=::10
 EVDEV_ABS_36=::10

#########################################
# Lenovo
#########################################

# Lenovo X230 series
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*X230*
 EVDEV_ABS_01=::100
 EVDEV_ABS_36=::100

# Lenovo T510
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T510*
 EVDEV_ABS_00=778:6239:72
 EVDEV_ABS_01=841:5330:100
 EVDEV_ABS_35=778:6239:72
 EVDEV_ABS_36=841:5330:100