HID: wacom: Add angular resolution data to some ABS axes
authorJason Gerecke <killertofu@gmail.com>
Wed, 19 Nov 2014 00:50:09 +0000 (16:50 -0800)
committerJiri Kosina <jkosina@suse.cz>
Fri, 21 Nov 2014 21:39:38 +0000 (22:39 +0100)
commit26fe41245f43c86f65cae272a2851dd792e443f7
treef541ebf838543c0a1d619b1b7c66e058e4ce446d
parentec5fc1c1bdf0c445d2669ca9e1dbb69c9725856a
HID: wacom: Add angular resolution data to some ABS axes

Provide the resolution of several angular axes (tilt, pen rotation, puck
rotation) to userspace. Because these values are natively degree-based, we
need to convert them to into units/radian as required by the input_absinfo
struct. To ensure wraparound behaves properly for the rotation axes, the
converted value was rounded up rather than rounded nearest.

Notably, the touchring axes (ABS_WHEEL and ABS_THROTTLE) are left without a
a declared resolution because the their low resolution cannot be accurately
represented (the worst-case rounding-induced error would be ~16 degrees).
Pre-scaling the values and range by at least 10x would reduce the error in
the resolution to acceptable levels, but the xf86-input-wacom driver is not
able to use pre-scaled values for these axes at this time.

Signed-off-by: Jason Gerecke <killertofu@gmail.com>
Reviewed-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/wacom_wac.c