diff options
Diffstat (limited to 'drivers/hid/hid-a4tech.c')
| -rw-r--r-- | drivers/hid/hid-a4tech.c | 16 | 
1 files changed, 9 insertions, 7 deletions
| diff --git a/drivers/hid/hid-a4tech.c b/drivers/hid/hid-a4tech.c index 9428ea7cdf8a..98bf694626f7 100644 --- a/drivers/hid/hid-a4tech.c +++ b/drivers/hid/hid-a4tech.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-or-later  /*   *  HID driver for some a4tech "special" devices   * @@ -9,10 +10,6 @@   */  /* - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version.   */  #include <linux/device.h> @@ -38,8 +35,10 @@ static int a4_input_mapped(struct hid_device *hdev, struct hid_input *hi,  {  	struct a4tech_sc *a4 = hid_get_drvdata(hdev); -	if (usage->type == EV_REL && usage->code == REL_WHEEL) +	if (usage->type == EV_REL && usage->code == REL_WHEEL_HI_RES) {  		set_bit(REL_HWHEEL, *bit); +		set_bit(REL_HWHEEL_HI_RES, *bit); +	}  	if ((a4->quirks & A4_2WHEEL_MOUSE_HACK_7) && usage->hid == 0x00090007)  		return -1; @@ -60,7 +59,7 @@ static int a4_event(struct hid_device *hdev, struct hid_field *field,  	input = field->hidinput->input;  	if (a4->quirks & A4_2WHEEL_MOUSE_HACK_B8) { -		if (usage->type == EV_REL && usage->code == REL_WHEEL) { +		if (usage->type == EV_REL && usage->code == REL_WHEEL_HI_RES) {  			a4->delayed_value = value;  			return 1;  		} @@ -68,6 +67,8 @@ static int a4_event(struct hid_device *hdev, struct hid_field *field,  		if (usage->hid == 0x000100b8) {  			input_event(input, EV_REL, value ? REL_HWHEEL :  					REL_WHEEL, a4->delayed_value); +			input_event(input, EV_REL, value ? REL_HWHEEL_HI_RES : +					REL_WHEEL_HI_RES, a4->delayed_value * 120);  			return 1;  		}  	} @@ -77,8 +78,9 @@ static int a4_event(struct hid_device *hdev, struct hid_field *field,  		return 1;  	} -	if (usage->code == REL_WHEEL && a4->hw_wheel) { +	if (usage->code == REL_WHEEL_HI_RES && a4->hw_wheel) {  		input_event(input, usage->type, REL_HWHEEL, value); +		input_event(input, usage->type, REL_HWHEEL_HI_RES, value * 120);  		return 1;  	} | 
