diff options
author | emax <emax@FreeBSD.org> | 2011-05-04 17:58:15 +0000 |
---|---|---|
committer | emax <emax@FreeBSD.org> | 2011-05-04 17:58:15 +0000 |
commit | 8f94b35b3233a77d14787b67b8573b9d54e5e43d (patch) | |
tree | b6ef68d905533c2a34cfe7a266e2fc9bf6b7fcf4 /usr.sbin/bluetooth | |
parent | fc73075ad0162eae621875813c15622da02fbe2e (diff) | |
download | FreeBSD-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.c | 11 |
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; |