hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
# This file is part of systemd.
#
# Database for the DPI setting of mice, trackballs, other pointer devices that
# cannot be queried directly.
#
# The lookup keys are composed in:
# 70-mouse.rules
#
# Note: The format of the "mouse:" 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 format:
# mouse:<subsystem>:v<vid>p<pid>:name:<name>:
#
# Supported subsystems: usb, bluetooth
# vid/pid as 4-digit hex lowercase vendor/product
#
# if vid/pid is unavailable, use
# mouse:*:name:<name>:
# if name is unavailable, use
# mouse:<subsystem>:v<vid>p<pid>:*
#
# For example, the following 5 matches all match the same mouse:
# mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:
# mouse:usb:*:name:Lenovo Optical USB Mouse:
# mouse:usb:v17efp6019:*
# mouse:*:name:Lenovo Optical USB Mouse:
#
2015-01-09 02:51:40 +03:00
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-mouse-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-01-09 02:51:40 +03:00
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the mouse in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
#
2015-07-31 11:17:19 +03:00
# If your changes are generally applicable, preferably send them as a pull
# request to
2015-08-04 07:03:55 +03:00
# 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-01-09 02:51:40 +03:00
#
# Allowed properties are:
2016-08-03 13:34:56 +03:00
# ID_INPUT_TRACKBALL
2015-01-09 02:51:40 +03:00
# MOUSE_DPI
# MOUSE_WHEEL_CLICK_ANGLE
2016-08-19 16:31:36 +03:00
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
2016-10-21 13:31:32 +03:00
# MOUSE_WHEEL_CLICK_COUNT
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
2017-01-05 12:31:51 +03:00
# MOUSE_WHEEL_TILT_HORIZONTAL
# MOUSE_WHEEL_TILT_VERTICAL
2015-01-09 02:51:40 +03:00
#
#########################################
2016-08-03 13:34:56 +03:00
# ID_INPUT_TRACKBALL #
#########################################
#
# Specified *in additition* to ID_INPUT_MOUSE if the device is a trackball.
# Removing ID_INPUT_MOUSE will break backwards compatibility.
#
#########################################
2015-01-09 02:51:40 +03:00
# MOUSE_DPI #
#########################################
#
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
# DPI settings are specified as
# MOUSE_DPI=<dpi>[@<frequency>]
#
# Where <dpi> is the resolution in dots per inch, and <frequency> the
2015-01-09 00:53:55 +03:00
# sampling frequency in Hz (optional). If a device supports dynamic
# frequency scaling, the maximum frequency should be used. For devices
# supporting multiple fixed frequencies, see below.
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
#
# The value of MOUSE_DPI is:
# - a single integer for single-resolution mice, e.g.
# MOUSE_DPI=800
# or, if the frequency is known:
# MOUSE_DPI=800@120
# - a space-separated list of resolutions for multi-resolution mice.
2014-12-10 19:41:54 +03:00
# The default resolution must be prefixed by an asterisk, the resolutions
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
# in the database must be as shipped by the manufacturer. e.g.
# MOUSE_DPI=400 *800 2000
#
# The order of resolutions is as configured by the HW manufacturer or in
# ascending order, whichever appropriate.
#
# The frequency must be given to either none or all resolutions. If the
2015-01-09 00:53:55 +03:00
# device supports multiple fixed frequencies, the order of items is
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
# MOUSE_DPI=r1@f1 r2@f1 r3@f1 r1@f2 r2@f2 r3@f2
#
# If the default manufacturer-set resolution is unclear, a resolution of
# 800 or 1000 should be set as default, if available. If neither is
# available, choose the "middle" resolution value of those available.
#
# The list may contain a single item which must be marked with an
# asterisk.
#
2018-12-16 17:34:47 +03:00
# Local changes to the non-default resolution of the mouse (e.g. through
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
# third-party software) must not be entered into this file, use a local
# hwdb instead.
#
2015-01-09 02:51:40 +03:00
#########################################
# MOUSE_WHEEL_CLICK_ANGLE #
#########################################
#
# The angle in degrees per mouse wheel 'click', specified as
# MOUSE_WHEEL_CLICK_ANGLE=<degrees>
#
# Most mice have a 15 degree click stop (24 clicks per full rotation).
2016-10-21 13:31:32 +03:00
# For backwards-compatibility, the click angle must be an integer.
# Where a device has non-integer click angles, the MOUSE_WHEEL_CLICK_COUNT
# property should also be specified.
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
#
2016-08-16 08:23:42 +03:00
#########################################
2016-08-19 16:31:36 +03:00
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL #
2016-08-16 08:23:42 +03:00
#########################################
#
# Identical to MOUSE_WHEEL_CLICK_ANGLE but for the horizontal scroll wheel.
# This property may only be specified if the angle for the horizontal
# scroll wheel differs from the vertical wheel. If so, *both* click angles
# must be specified.
2016-10-21 13:31:32 +03:00
#
#########################################
# MOUSE_WHEEL_CLICK_COUNT #
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL #
#########################################
#
# The number of clicks the wheel sends per 360 degree rotation. This
# property should only be used where the click angle is not an integer.
# For backwards compatibility it must be specified in addition to
# MOUSE_WHEEL_CLICK_ANGLE.
# Clients should prefer MOUSE_WHEEL_CLICK_COUNT where available, it is more
# precise than MOUSE_WHEEL_CLICK_ANGLE.
#
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL works the same way but also follows the
# rules of MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL.
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
2017-01-05 12:31:51 +03:00
#########################################
# MOUSE_WHEEL_TILT_HORIZONTAL #
# MOUSE_WHEEL_TILT_VERTICAL #
#########################################
#
# Indicates that the respective axis is not a mouse wheel rotation but a
# tilt along that axis. Wheel tilt is most commonly used for horizontal
# scroll wheel emulation on mice with only a single vertical wheel.
#
# The vertical and horizontal Axes are independently marked as tilt axes,
# for example it is permitted to have a MOUSE_WHEEL_CLICK_COUNT or
# MOUSE_WHEEL_CLICK_ANGLE for the vertical axis and mark the horizontal axis
# marked as as MOUSE_WHEEL_TILT_HORIZONTAL.
#
# It is a bug to have either CLICK_COUNT or CLICK_ANGLE set on the same axis
# as WHEEL_TILT. Applications should give priority to WHEEL_TILT and ignore
# other settings.
#
# This is a flag only, permitted values: 0 or 1
2014-12-13 02:16:45 +03:00
#
2015-04-23 04:10:04 +03:00
# Sort by brand, type (usb, bluetooth), DPI, frequency.
2014-12-13 02:16:45 +03:00
# For mice with switchable resolution, sort by the starred entry.
2016-08-03 13:34:56 +03:00
##########################################
# Generic
##########################################
mouse:*:name:*Trackball*:
mouse:*:name:*trackball*:
mouse:*:name:*TrackBall*:
ID_INPUT_TRACKBALL=1
2015-06-04 09:05:08 +03:00
##########################################
# Apple
##########################################
# Apple MagicMouse
# Note: this device changes name once connected to a mac, the name ends up
# as $username`s mouse
mouse:bluetooth:v05acp030d:name:*:
MOUSE_DPI=1300@1000
2014-12-31 02:54:24 +03:00
##########################################
# Chicony
##########################################
# Chicony 2.4G Multimedia Wireless Kit MG-0919
mouse:usb:v04f2p0963:name:Chicony 2.4G Multimedia Wireless Kit:
MOUSE_DPI=1000@142
2014-12-08 02:17:26 +03:00
##########################################
# Dell
##########################################
2015-09-01 23:01:22 +03:00
# Dell MUAR DEL7
mouse:usb:v413cp3012:name:Dell Dell USB Optical Mouse:
MOUSE_DPI=400@166
2014-12-08 02:17:26 +03:00
# Dell USB Laser Mouse
mouse:usb:v046dpc063:name:DELL DELL USB Laser Mouse:
MOUSE_DPI=1000@125
2017-09-06 18:00:57 +03:00
# Dell MS116t
mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:
MOUSE_DPI=1000@125
2016-04-10 02:37:48 +03:00
##########################################
# Dynex
#########################################
# Dynex Wired Optical Mouse (DX-WMSE2)
mouse:usb:v0461p4d46:name:USB Optical Mouse:
MOUSE_DPI=1000@125
2014-12-31 03:03:39 +03:00
##########################################
# Fujitsu Siemens
##########################################
mouse:usb:v0461p4d16:name:USB Optical Mouse:
MOUSE_DPI=500@125
2017-07-02 23:59:44 +03:00
##########################################
# Future Technology Devices International
##########################################
# SNES Mouse plugged into a Retrode 2
mouse:usb:v0403p97c1:name:Retrode SNES Mouse:
MOUSE_DPI=235@126
2017-08-29 01:32:59 +03:00
##########################################
# Generic
##########################################
# FM-901 Wireless Mouse
mouse:usb:v1ea7p000b:name:2.4G RF Mouse:
MOUSE_DPI=*800@125 1600@125
# WK-727
mouse:usb:v04d9p0499:name:*
MOUSE_DPI=800@125
2015-08-24 03:47:30 +03:00
##########################################
# HandShoe Mouse
##########################################
# HandShoe Mouse
mouse:usb:v192fp0916:name:USB Optical Mouse:
MOUSE_DPI=1000@128
##########################################
# HoverStop
##########################################
# Hoverstop active ergonomic mouse
mouse:usb:v088dp1234:name:HoverStop NL Hoverstop active ergonomic mouse:
MOUSE_DPI=400@129
2015-04-23 03:44:30 +03:00
##########################################
# HP
##########################################
2015-07-28 21:09:54 +03:00
# HP USB 1000dpi Laser Mouse
mouse:usb:v0458p0133:name:Mouse Laser Mouse:
MOUSE_DPI=1000@125
MOUSE_WHEEL_CLICK_ANGLE=15
2015-04-23 03:44:30 +03:00
# HP X1000
2017-09-06 18:00:57 +03:00
# Dell MS111-T
2015-04-23 03:44:30 +03:00
mouse:usb:v093ap2510:name:PixArt USB Optical Mouse:
2015-08-24 03:47:30 +03:00
mouse:usb:v093ap2510:name:PIXART USB OPTICAL MOUSE:
2015-04-23 03:44:30 +03:00
MOUSE_DPI=1000@125
2017-08-29 01:32:59 +03:00
# HP X1200 Optical Mouse
mouse:usb:v03f0p0641:name:PixArt HP X1200 USB Optical Mouse:
MOUSE_DPI=1100@125
2017-04-25 00:02:09 +03:00
##########################################
# IBM
##########################################
# IBM USB Travel Mouse (MO32BO)
mouse:usb:v04b3p3107:name:*
MOUSE_DPI=800@125
2018-09-18 23:17:08 +03:00
##########################################
# Kensington
##########################################
# Kensington Expert Mouse trackball
mouse:usb:v047dp1020:*Kensington Expert Mouse*
ID_INPUT_TRACKBALL=1
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
##########################################
# Lenovo
##########################################
2014-12-08 02:17:26 +03:00
# Lenovo Optical USB Mouse
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:
MOUSE_DPI=1000@125
2015-08-29 00:42:39 +03:00
# Lenovo M-U0025-O
mouse:usb:v17efp6019:name:Logitech Lenovo USB Optical Mouse:
MOUSE_DPI=1000@166
2018-11-30 11:14:30 +03:00
# Lenovo USB mouse model MO28UOL
mouse:usb:v04b3p310c:name:USB Optical Mouse:
MOUSE_DPI=400@142
2014-12-10 19:38:47 +03:00
2015-08-24 03:47:30 +03:00
# Lenovo Precision USB Mouse
mouse:usb:v17efp6050:name:Lenovo Precision USB Mouse:
MOUSE_DPI=1200@127
2015-08-29 00:42:39 +03:00
# Lenovo MOBGUL
mouse:usb:v17efp601d:name:Primax Lenovo Laser Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1600@125
2015-08-29 00:42:39 +03:00
# Lenovo MOBGULA
mouse:usb:v17efp6045:name:Lenovo USB Laser Mouse:
MOUSE_DPI=1600@125
2018-11-30 11:14:30 +03:00
# ThinkPad USB Laser Mouse
mouse:usb:v17efp6044:name:ThinkPad USB Laser Mouse:
MOUSE_DPI=1200@125
2015-08-29 00:42:39 +03:00
hwdb: add a new db for the DPI/frequency settings of mice
Pointer acceleration for relative input devices (mice, trackballs, etc.)
applies to the deltas of the device. Alas, those deltas have no physical
reference point - a delta of 10 may be caused by a large movement of a
low-dpi mouse or by a minute movement of a high-dpi mouse.
Which makes pointer acceleration a bit useless and high-dpi devices
essentially unusable.
In an ideal world, we could read the DPI from the device directly and work
with that. In the world we actually live in, we need to compile this list
manually. This patch introduces the database, with the usual match formats
and a single property to be set on a device: MOUSE_DPI
That is either a single value for most mice, or a list of values for mice
that can change resolution at runtime. The exact format is detailed in the
hwdb file.
Note that we're explicitly overshooting the requirements we have for
libinput atm. Frequency could be detected in software and we don't
actually use the list of multiple resolutions (because we can't detect
when they change anyway). However, we might as well collect those values
from the get-go, adding/modifying what will eventually amount to hundreds
of entries is a bit cumbersome.
Note: we rely on the input_id builtin to tag us as mouse first, ordering
of the rules is important.
(David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-25 14:35:16 +03:00
##########################################
# Logitech
##########################################
2014-12-08 02:17:26 +03:00
# Note: devices using the Logitech Unifying receiver will need two entries,
# one for pre 3.19 with the wireless PID in the name, one for 3.19 with the
# model name. The usb vid/pid is the same for all those devices.
# Until 3.19 is available, this list just has the Wireless PID entry.
2018-11-26 23:10:42 +03:00
## G Series ##
# Logitech G5 Laser Mouse
mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=400@500 *800@500 2000@500
2018-11-26 23:10:42 +03:00
# Logitech G500s Laser Gaming Mouse
mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:
MOUSE_DPI=400@500 *800@500 2000@500
# Logitech G9
mouse:usb:v046dpc048:name:Logitech G9 Laser Mouse:
MOUSE_DPI=400@1000 800@1000 *1600@1000
# Logitech G9x [Call of Duty MW3 Edition]
mouse:usb:v046dpc249:name:Logitech G9x Laser Mouse:
MOUSE_DPI=400@1000 800@1000 *1600@1000 3200@1000
# Logitech G100s Optical Gaming Mouse
mouse:usb:v046dpc247:name:Logitech G100s Optical Gaming Mouse:
MOUSE_DPI=*1000@500 1750@500 2500@500
# Logitech G400 (Wired)
mouse:usb:v046dpc245:name:Logitech Gaming Mouse G400:
MOUSE_DPI=400@1000 *800@1000 1800@1000 3600@1000
# Logitech G400s (Wired)
mouse:usb:v046dpc24c:name:Logitech G400s Optical Gaming Mouse:
MOUSE_DPI=400@1000 *800@1000 2000@1000 4000@1000
# Logitech G402 Hyperion Fury
mouse:usb:v046dpc07e:name:Logitech Gaming Mouse G402:
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000
# Logitech G500 Mouse
mouse:usb:v046dpc068:name:Logitech G500:
MOUSE_DPI=*1600@500 2600@500 3600@500
# Logitech G502 Proteus Spectrum
mouse:usb:v046dpc332:name:Logitech Gaming Mouse G502:
MOUSE_DPI=1200@1000 *2400@1000 3200@1000 6400@1000
# Logitech G700 Laser Mouse (Wired)
mouse:usb:v046dpc06b:name:Logitech G700 Laser Mouse:
# Logitech G700 Laser Mouse (Wireless)
mouse:usb:v046dpc531:name:Logitech USB Receiver:
MOUSE_DPI=*1000@500 3800@500 500@1000 1500@1000 2000@1000
# Logitech G703 (Wired)
mouse:usb:v046dpc087:name:Logitech G703 Wired/Wireless Gaming Mouse:
# Logitech G703 (Wireless)
mouse:usb:v046dpc539:name:Logitech USB Receiver Mouse:
MOUSE_DPI=400@1000 800@1000 *1600@1000 3200@1000
## M Series ##
# Logitech Wireless Mouse M185
mouse:usb:v046dp4008:name:Logitech M185:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1000@125
2018-11-26 23:10:42 +03:00
# Logitech Wireless Mouse M510
mouse:usb:v046dp1025:name:Logitech M510:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1000@125
2018-11-26 23:10:42 +03:00
# Logitech M705 (marathon mouse)
mouse:usb:v046dp101b:name:Logitech M705:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:
MOUSE_DPI=1000@125
# Logitech M305 Wireless Optical Mouse
mouse:usb:v046dpc52f:name:Logitech USB Receiver:
MOUSE_DPI=1000@170
# Logitech Wireless Mouse M310
mouse:usb:v046dp1024:name:Logitech M310:
MOUSE_DPI=1100@168
# Logitech Wireless Mouse M325
mouse:usb:v046dp400a:name:Logitech M325:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:400a:
MOUSE_DPI=600@166
MOUSE_WHEEL_CLICK_ANGLE=20
# Logitech M570 trackball
mouse:usb:v046dp1028:name:Logitech M570:
MOUSE_DPI=540@167
ID_INPUT_TRACKBALL=1
## MX Series ##
# Logitech Performance MX
mouse:usb:v046dp101a:name:Logitech Performance MX:
MOUSE_DPI=1000@166
# Logitech MX Revolution
mouse:usb:v046dpc51a:name:Logitech USB Receiver:
MOUSE_DPI=800@200
# Logitech MX 518
mouse:usb:v046dpc01e:name:Logitech USB-PS/2 Optical Mouse:
MOUSE_DPI=400@125 *800@125 1600@125
# Logitech MX1000 Laser Cordless Mouse
mouse:bluetooth:v046dpb003:name:Logitech MX1000 mouse:
MOUSE_DPI=800@80
2018-06-07 01:51:42 +03:00
# Logitech Anywhere MX
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:1017:
mouse:usb:v046dp1017:name:Logitech Anywhere MX:
2019-01-01 23:42:26 +03:00
MOUSE_WHEEL_CLICK_ANGLE=20
2019-11-20 23:47:14 +03:00
# Logitech Anywhere MX 2S (via Logitech Unifying Receiver)
2018-10-29 06:45:45 +03:00
mouse:usb:v046dp406a:name:Logitech MX Anywhere 2S:
2018-06-07 01:51:42 +03:00
MOUSE_WHEEL_CLICK_ANGLE=20
2019-11-20 23:47:14 +03:00
# Logitech Anywhere MX 2S (via Bluetooth)
mouse:bluetooth:v046dpb01a:name:MX Anywhere 2S Mouse:
MOUSE_WHEEL_CLICK_ANGLE=20
2018-11-26 23:10:42 +03:00
# Logitech MX Master
# Horiz wheel has 14 stops, angle is rounded up
2019-02-04 01:39:34 +03:00
mouse:usb:v046dp4060:name:Logitech MX Master:
2018-11-26 23:10:42 +03:00
mouse:usb:v046dp4041:name:Logitech MX Master:
MOUSE_DPI=1000@166
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
2018-12-11 04:18:20 +03:00
# Logitech MX Master 2S (via Logitech Unifying Receiver)
2018-11-26 23:10:42 +03:00
# Horiz wheel has 14 stops, angle is rounded up
mouse:usb:v046dp4069:name:Logitech MX Master 2s:
MOUSE_DPI=1000@125
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
2018-12-11 04:18:20 +03:00
# Logitech MX Master 2S (via Bluetooth)
# Horiz wheel has 14 stops, angle is rounded up
mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:
MOUSE_DPI=2000@2000
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
2018-11-26 23:10:42 +03:00
## Other ##
2014-12-13 02:20:51 +03:00
# Logitech M-BJ58 Optical Mouse
mouse:usb:v046dpc00e:name:Logitech USB-PS/2 Optical Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=400@125
2015-08-12 23:25:10 +03:00
# Logitech Mini Optical Mouse
mouse:usb:v046dpc016:name:Logitech Optical USB Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=400@125
2014-12-13 02:20:51 +03:00
# Logitech MX310 Optical Mouse
mouse:usb:v046dpc01b:name:Logitech USB-PS/2 Optical Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=400@125
2014-12-13 02:16:45 +03:00
# Logitech USB-PS/2 M-BT58
mouse:usb:v046dpc03e:name:Logitech USB-PS/2 Optical Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=400@125
2015-06-09 07:32:19 +03:00
# Logitech TrackMan Marble Wheel USB
mouse:usb:v046dpc401:name:Logitech USB-PS/2 Trackball:
2014-12-13 02:16:45 +03:00
MOUSE_DPI=400@125
2017-08-29 01:32:59 +03:00
# Logitech Cordless MouseMan Optical M-RM63
mouse:usb:v046dpc501:name:Logitech USB Receiver:
MOUSE_DPI=800@63
2014-12-13 02:16:45 +03:00
# Logitech USB-PS/2 M-BZ96C
mouse:usb:v046dpc045:name:Logitech USB-PS/2 Optical Mouse:
MOUSE_DPI=600@125
2015-08-27 22:17:15 +03:00
# Logitech MX400 Performance Laser Mouse
mouse:usb:v046dpc043:name:Logitech USB-PS/2 Optical Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=800@125
2014-12-16 08:08:07 +03:00
# Logitech MX1000 Laser Cordless Mouse
mouse:usb:v046dpc50e:name:Logitech USB RECEIVER:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=800@125
2014-12-08 02:17:26 +03:00
# Logitech Cordless Click! Plus
mouse:usb:v046dpc50e:name:Logitech USB Receiver:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=800@125
2014-12-19 02:40:44 +03:00
# Logitech, Inc. RX 300 Optical Mouse
mouse:usb:v046dpc040:name:Logitech USB-PS/2 Optical Mouse:
2014-12-08 02:17:26 +03:00
MOUSE_DPI=800@125
2015-01-09 00:45:34 +03:00
# Logitech, Inc. RX 250 Optical Mouse
mouse:usb:v046dpc050:name:Logitech USB-PS/2 Optical Mouse:
2015-08-29 00:44:01 +03:00
MOUSE_DPI=1000@142
2015-01-09 00:45:34 +03:00
2014-12-13 02:16:45 +03:00
# Logitech B605 Wireless Mouse (also M505)
2015-06-10 06:53:51 +03:00
mouse:usb:v046dp101d:name:Logitech B605:
mouse:usb:v046dp101d:name:Logitech M505:
2014-12-13 02:16:45 +03:00
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101d:
MOUSE_DPI=900@166
2015-08-27 22:17:15 +03:00
# Logitech Cordless Desktop Wave Mouse
mouse:usb:v046dpc517:name:Logitech USB Receiver:
MOUSE_DPI=950@125
2014-12-13 02:20:51 +03:00
# Logitech RX1000 Laser Mouse
mouse:usb:v046dpc046:name:Logitech USB Optical Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1000@125
2014-12-13 02:20:51 +03:00
# Logitech M100 Optical Mouse
2014-12-13 02:16:45 +03:00
mouse:usb:v046dpc05a:name:Logitech USB Optical Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1000@125
2014-12-31 16:28:52 +03:00
# Logitech USB Laser Mouse M-U0011-O rebranded as "terra Laser"
mouse:usb:v046dpc065:name:Logitech USB Laser Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1000@125
2016-06-17 04:00:45 +03:00
# Logitech USB Laser Mouse M-U0007 [M500]
mouse:usb:v046dpc069:name:Logitech USB Laser Mouse:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1000@125
2015-08-27 22:17:15 +03:00
# Logitech V500 Cordless Notebook Mouse
mouse:usb:v046dpc510:name:Logitech USB Receiver:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1000@125
2015-10-17 03:53:26 +03:00
# Logitech M560 Wireless Mouse
mouse:usb:v046dp402d:name:Logitech M560:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:402d:
2014-12-13 02:16:45 +03:00
MOUSE_DPI=1000@125
2014-12-31 02:56:16 +03:00
# Logitech MK260 Wireless Combo Receiver aka M-R0011
mouse:usb:v046dpc52e:name:Logitech USB Receiver:
MOUSE_DPI=1000@200
2014-12-31 03:07:28 +03:00
# Logitech USB Laser Mouse M-UAS144 [LS1 Laser Mouse]
mouse:usb:v046dpc062:name:Logitech USB Laser Mouse:
MOUSE_DPI=1200@125
2014-12-08 02:17:26 +03:00
# Logitech T620 (or, the soap)
2015-06-10 06:53:51 +03:00
mouse:usb:v046dp4027:name:Logitech T620:
2014-12-08 02:17:26 +03:00
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4027:
MOUSE_DPI=1200@250
2014-12-13 02:16:45 +03:00
# Logitech ZoneTouch Mouse T400
2015-06-10 06:53:51 +03:00
mouse:usb:v046dp4026:name:Logitech T400:
2014-12-13 02:16:45 +03:00
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:
MOUSE_DPI=1300@166
2014-12-10 17:46:08 +03:00
2017-01-16 01:21:33 +03:00
# Logitech TrackMan Wheel (USB)
mouse:usb:v046dpc404:name:Logitech Trackball:
MOUSE_DPI=300@125
2014-12-08 02:17:26 +03:00
# Logitech Ultrathin Touch Mouse
mouse:bluetooth:v046dpb00d:name:Ultrathin Touch Mouse:
MOUSE_DPI=1000@1000
2015-08-12 23:25:10 +03:00
# ImPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImPS/2 Logitech Wheel Mouse:
MOUSE_DPI=400@100
2014-12-23 03:14:19 +03:00
# ImExPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:
MOUSE_DPI=400@250
2014-12-08 02:17:26 +03:00
##########################################
# Microsoft
##########################################
2015-02-16 19:14:20 +03:00
mouse:usb:v045ep0040:name:Microsoft Microsoft 3-Button Mouse with IntelliEye(TM):
2015-02-14 22:37:40 +03:00
MOUSE_DPI=400@125
2014-12-11 10:33:14 +03:00
# Note: unsure that these work, it's likely that all devices on these
# receivers show up with the same vid/pid/name
2015-08-12 23:25:10 +03:00
# Microsoft Wireless Mouse 5000
mouse:usb:v045ep0745:name:Microsoft Microsoft® 2.4GHz Transceiver v6.0:
MOUSE_DPI=800@142
2017-09-06 18:00:57 +03:00
# Microsoft Comfort Mouse 4500
mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500:
MOUSE_DPI=1000@125
2015-09-01 23:01:22 +03:00
# Microsoft Wireless Mobile Mouse 4000
mouse:usb:v045ep0745:name:Microsoft Microsoft® Nano Transceiver v2.0:
2019-01-01 23:42:26 +03:00
MOUSE_DPI=1000@142
2014-12-11 10:33:14 +03:00
# Microsoft Sculpt Ergonomic Mouse
mouse:usb:v045ep07a5:name:Microsoft Microsoft® 2.4GHz Transceiver v9.0:
MOUSE_DPI=1000@142
2014-12-08 02:17:26 +03:00
# Microsoft Arc Touch Mouse USB
mouse:usb:v045ep07b1:name:Microsoft Microsoft® Nano Transceiver v1.0:
MOUSE_DPI=1400@142
2014-12-24 00:53:40 +03:00
# Microsoft Wireless Laser Mouse 8000
mouse:bluetooth:v045ep0702:name:Microsoft Wireless Laser Mouse 8000:
MOUSE_DPI=1000@1000
2018-01-23 08:25:24 +03:00
# Microsoft Sculpt Comfort Mouse
mouse:bluetooth:v045ep07a2:name:Microsoft Sculpt Comfort Mouse:
MOUSE_DPI=1000@2000
2015-05-21 08:39:11 +03:00
# Microsoft Arc Touch Mouse SE:
mouse:bluetooth:v045ep07f3:name:Arc Touch Mouse SE:
MOUSE_DPI=1000@2000
2016-12-22 06:49:32 +03:00
# Microsoft Surface Mouse
mouse:bluetooth:v0000p0000:name:Surface Mouse:
MOUSE_DPI=2000@2000
2018-11-22 09:06:46 +03:00
# Microsoft Classic IntelliMouse
mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:
MOUSE_DPI=3200@1000
2015-09-03 01:56:57 +03:00
##########################################
# Mionix
##########################################
#Mionix Avior 7000
mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:
MOUSE_DPI=400@1000 *1600@1000 7000@1000
MOUSE_WHEEL_CLICK_ANGLE=15
2016-04-10 01:53:23 +03:00
##########################################
# MODECOM
##########################################
# MODECOM MC-WM4 Wireless Optical Mouse
mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:
MOUSE_DPI=*800@126 1600@126
2014-12-08 02:17:26 +03:00
##########################################
# Oklick
##########################################
2014-12-26 02:20:48 +03:00
# Oklick 406S Bluetooth Laser Mouse
2014-12-08 02:17:26 +03:00
mouse:bluetooth:v056ep0061:name:Laser BTmouse:
MOUSE_DPI=*800@333 1600@333
2014-12-26 02:20:48 +03:00
2017-08-29 01:32:59 +03:00
##########################################
# P-Active
##########################################
# P-Active Wireless Mouse PA-27K2
mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :
MOUSE_DPI=800@125
2014-12-26 02:20:48 +03:00
##########################################
# Razer
##########################################
# Razer Abyssus
mouse:usb:v1532p0042:name:Razer Razer Abyssus:
2019-03-19 03:30:22 +03:00
MOUSE_DPI=1600@1000
2015-04-03 23:20:55 +03:00
2017-01-26 04:20:17 +03:00
# Razer DeathAdder Black Edition
mouse:usb:v1532p0029:name:Razer Razer DeathAdder:
MOUSE_DPI=3500@1000
2015-04-03 23:20:55 +03:00
##########################################
# Roccat
##########################################
# Roccat Lua (ROC-11-310)
mouse:usb:v1e7dp2c2e:name:ROCCAT ROCCAT Lua:
MOUSE_DPI=250@125 500@125 1000@125 1250@125 1500@125 1750@125 2000@125 250@250 500@250 1000@250 1250@250 1500@250 1750@250 2000@250 250@500 500@500 1000@500 1250@500 1500@500 1750@500 2000@500 250@1000 500@1000 *1000@1000 1250@1000 1500@1000 1750@1000 2000@1000
MOUSE_WHEEL_CLICK_ANGLE=15
2016-04-10 01:53:23 +03:00
##########################################
# Sharkoon
##########################################
# Sharkoon Shark Force Gaming Mouse
mouse:usb:v093ap2521:name:USB OPTICAL MOUSE:
MOUSE_DPI=*1000@125 1600@125 600@125
2016-04-11 11:42:51 +03:00
##########################################
# SteelSeries
##########################################
# SteelSeries Sensei Raw
mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:
MOUSE_DPI=1000@1022
2016-04-21 23:27:56 +03:00
##########################################
# Trust
##########################################
# Trust illuminated mouse gxt 152
mouse:usb:v145fp01ac:name:HID-compliant Mouse Trust Gaming Mouse:
MOUSE_DPI=*800@528 1200@537 1600@536 2400@521
2016-08-09 07:51:38 +03:00
##########################################
# Zelotes
##########################################
# Zelotes 5500 DPI 7 Button USB Wired Gaming Mouse
mouse:usb:v1d57pad17:*
MOUSE_DPI=1000@500 1600@500 2400@500 3200@500 5500@500 *1000@1000 1600@1000 2400@1000 3200@1000 5500@1000
2019-07-23 10:02:43 +03:00
##########################################
# Zowie
##########################################
# Zowie FK2
mouse:usb:v3057p0001:*
MOUSE_DPI=400@125 *800@125 1600@125 3200@125 400@500 800@500 1600@500 3200@500 400@1000 800@1000 1600@1000 3200@1000
MOUSE_WHEEL_CLICK_COUNT=16
MOUSE_WHEEL_CLICK_ANGLE=23