summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2017-01-05 19:31:51 +1000
committerLennart Poettering <lennart@poettering.net>2017-01-05 10:31:51 +0100
commit1a4132ae1dc5c7ac6eaee9b4964fd669cff9541a (patch)
tree3a39367a0acd2c9604cf5084d95e34984a2f70bf
parent6a47fd894d601f7e8e88dec4cb35dfb7d7c15eff (diff)
hwdb: add MOUSE_WHEEL_TILT_VERTICAL/HORIZONTAL to the mouse db (#5023)
Plenty of single scroll-wheel mice have the ability to tilt the wheel to generate horizontal wheel events. They use the same evdev axis as a real horizontal wheel (REL_HWHEEL) and are indistinguishable to userspace from the real thing. libinput promises physical degrees for wheel events but that's not accurate for those tilting wheels, hence mark them as tilting wheels so we can treat them like the special snowflakes they think they are.
-rw-r--r--hwdb/70-mouse.hwdb22
-rwxr-xr-xhwdb/parse_hwdb.py2
2 files changed, 24 insertions, 0 deletions
diff --git a/hwdb/70-mouse.hwdb b/hwdb/70-mouse.hwdb
index e1e252b6fe..9038ff6665 100644
--- a/hwdb/70-mouse.hwdb
+++ b/hwdb/70-mouse.hwdb
@@ -50,6 +50,8 @@
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
# MOUSE_WHEEL_CLICK_COUNT
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
+# MOUSE_WHEEL_TILT_HORIZONTAL
+# MOUSE_WHEEL_TILT_VERTICAL
#
#########################################
# ID_INPUT_TRACKBALL #
@@ -134,6 +136,26 @@
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL works the same way but also follows the
# rules of MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL.
+#########################################
+# 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
+
#
# Sort by brand, type (usb, bluetooth), DPI, frequency.
# For mice with switchable resolution, sort by the starred entry.
diff --git a/hwdb/parse_hwdb.py b/hwdb/parse_hwdb.py
index 18f13edd0a..b57e6f75aa 100755
--- a/hwdb/parse_hwdb.py
+++ b/hwdb/parse_hwdb.py
@@ -105,6 +105,8 @@ def property_grammar():
('MOUSE_WHEEL_CLICK_COUNT', INTEGER),
('MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL', INTEGER),
('ID_INPUT_TRACKBALL', Literal('1')),
+ ('MOUSE_WHEEL_TILT_HORIZONTAL', Literal('1')),
+ ('MOUSE_WHEEL_TILT_VERTICAL', Literal('1')),
('POINTINGSTICK_SENSITIVITY', INTEGER),
('POINTINGSTICK_CONST_ACCEL', REAL),
('ID_INPUT_TOUCHPAD_INTEGRATION', Or(('internal', 'external'))),