ums(4): Unreverse evdev Tilt-axis reporting to match Linux.

sysmouse tilt to button mapping remained unchanged.

Reviewed by:		hselasky
Approved by:		gonzo (mentor)
MFC after:		2 weeks
Differential Revision:	https://reviews.freebsd.org/D12671
This commit is contained in:
wulf 2017-10-19 20:54:55 +00:00
parent 2c25f1f4c1
commit 360cae703e

View File

@ -296,7 +296,7 @@ ums_intr_callback(struct usb_xfer *xfer, usb_error_t error)
if ((info->sc_flags & UMS_FLAG_T_AXIS) &&
(id == info->sc_iid_t)) {
dt -= hid_get_data(buf, len, &info->sc_loc_t);
dt += hid_get_data(buf, len, &info->sc_loc_t);
/* T-axis is translated into button presses */
buttons_found |= (1UL << 5) | (1UL << 6);
}
@ -332,10 +332,10 @@ ums_intr_callback(struct usb_xfer *xfer, usb_error_t error)
/* translate T-axis into button presses until further */
if (dt > 0) {
ums_put_queue(sc, 0, 0, 0, 0, buttons);
buttons |= 1UL << 5;
buttons |= 1UL << 6;
} else if (dt < 0) {
ums_put_queue(sc, 0, 0, 0, 0, buttons);
buttons |= 1UL << 6;
buttons |= 1UL << 5;
}
sc->sc_status.button = buttons;