HID: input: Recognize ABS_WHEEL in hidinput_calc_abs_res
authorJason Gerecke <killertofu@gmail.com>
Thu, 20 Oct 2016 01:03:54 +0000 (18:03 -0700)
committerJiri Kosina <jkosina@suse.cz>
Thu, 20 Oct 2016 07:54:01 +0000 (09:54 +0200)
commitc0bf57411b6b03dd72d4d20f362ba1ca72244834
tree8485bbfb2329b23b6bbb3a018541580990ec3cf7
parentbf78adcb6dc681624015a4390f0e5f656cb0270b
HID: input: Recognize ABS_WHEEL in hidinput_calc_abs_res

The "Steering" usage (HID_UP_SIMULATION | 0xc8) is defined in HUT 1.12 as
follows:

"A steering wheel is a single degree-of-freedom device that rotates about
an axis. The zero position is always the neutral or 'straight ahead'
position, with positive values turning clockwise and negative values
turning counterclockwise. If the Coordinate Values Wrap attribute is
set, the steering wheel can be turned past 360 degrees."

The hidinput_configure_usage function canonically maps this usage to the
ABS_WHEEL axis, but hidinput_calc_abs_res does not recognize this axis
as one for which it can calculate a resolution. This effectively prevents
wheels from being assigned a proper resolution that userspace can use
to determine the precise angle of input.

This commit adds ABS_WHEEL as a rotational axis to hidinput_calc_abs_res.

Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-input.c