summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bluetooth
diff options
context:
space:
mode:
authoremax <emax@FreeBSD.org>2011-05-04 17:58:15 +0000
committeremax <emax@FreeBSD.org>2011-05-04 17:58:15 +0000
commit8f94b35b3233a77d14787b67b8573b9d54e5e43d (patch)
treeb6ef68d905533c2a34cfe7a266e2fc9bf6b7fcf4 /usr.sbin/bluetooth
parentfc73075ad0162eae621875813c15622da02fbe2e (diff)
downloadFreeBSD-src-8f94b35b3233a77d14787b67b8573b9d54e5e43d.zip
FreeBSD-src-8f94b35b3233a77d14787b67b8573b9d54e5e43d.tar.gz
Encode horizontal scroll events (AC Pan) as button presses (bit 5 and 6)
Submitted by: David Demelier demelier dot david at gmail dot com MFC after: 1 week
Diffstat (limited to 'usr.sbin/bluetooth')
-rw-r--r--usr.sbin/bluetooth/bthidd/hid.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.sbin/bluetooth/bthidd/hid.c b/usr.sbin/bluetooth/bthidd/hid.c
index 8c0db6c..c68865b 100644
--- a/usr.sbin/bluetooth/bthidd/hid.c
+++ b/usr.sbin/bluetooth/bthidd/hid.c
@@ -229,6 +229,17 @@ hid_interrupt(bthid_session_p s, uint8_t *data, int32_t len)
break;
switch (usage) {
+ case HUC_AC_PAN:
+ /* Horizontal scroll */
+ if (val < 0)
+ mouse_butt |= (1 << 5);
+ else
+ mouse_butt |= (1 << 6);
+
+ mevents ++;
+ val = 0;
+ break;
+
case 0xb5: /* Scan Next Track */
val = 0x19;
break;
OpenPOWER on IntegriCloud