aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/evdev/evdev.h
diff options
context:
space:
mode:
authorOleksandr Tymoshenko <gonzo@FreeBSD.org>2016-12-10 18:07:16 +0000
committerOleksandr Tymoshenko <gonzo@FreeBSD.org>2016-12-10 18:07:16 +0000
commit4af79d4f2b824eb8695f874084da7d1682aa4d05 (patch)
treebcd0695b0315de729a64ea594e791a9d97fc2be6 /sys/dev/evdev/evdev.h
parentc837b8e35f0aca3f3fa8bb2c053724ac57d4dead (diff)
Notes
Diffstat (limited to 'sys/dev/evdev/evdev.h')
-rw-r--r--sys/dev/evdev/evdev.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/dev/evdev/evdev.h b/sys/dev/evdev/evdev.h
index 34808b4b563ca..946913c4dd8b3 100644
--- a/sys/dev/evdev/evdev.h
+++ b/sys/dev/evdev/evdev.h
@@ -56,6 +56,22 @@ typedef void (evdev_keycode_t)(struct evdev_dev *, void *,
#define EVDEV_RCPT_HW_MOUSE (1<<2)
#define EVDEV_RCPT_HW_KBD (1<<3)
extern int evdev_rcpt_mask;
+/*
+ * Sysmouse protocol does not support horizontal wheel movement reporting.
+ * To overcome this limitation different drivers use different sysmouse proto
+ * extensions. Set kern.evdev.sysmouse_t_axis to tell sysmouse evdev driver
+ * which protocol extension is used.
+ * 0 - do not extract horizontal wheel movement (default).
+ * 1 - ums(4) horizontal wheel encoding. T-axis is mapped to buttons 6 and 7
+ * 2 - psm(4) wheels encoding: z = 1,-1 - vert. wheel, z = 2,-2 - horiz. wheel
+ */
+enum
+{
+ EVDEV_SYSMOUSE_T_AXIS_NONE = 0,
+ EVDEV_SYSMOUSE_T_AXIS_UMS = 1,
+ EVDEV_SYSMOUSE_T_AXIS_PSM = 2,
+};
+extern int evdev_sysmouse_t_axis;
#define ABS_MT_FIRST ABS_MT_TOUCH_MAJOR
#define ABS_MT_LAST ABS_MT_TOOL_Y