projects
/
linux-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'x86/cpu' into perf/core, to pick up dependent patches
[linux-block.git]
/
drivers
/
hid
/
hid-a4tech.c
diff --git
a/drivers/hid/hid-a4tech.c
b/drivers/hid/hid-a4tech.c
index fd806f590bf8af4db2d62cbd689da398e3a21040..98bf694626f71a7e50318ca5b2f3aaf8f2eb6d4f 100644
(file)
--- a/
drivers/hid/hid-a4tech.c
+++ b/
drivers/hid/hid-a4tech.c
@@
-35,8
+35,10
@@
static int a4_input_mapped(struct hid_device *hdev, struct hid_input *hi,
{
struct a4tech_sc *a4 = hid_get_drvdata(hdev);
{
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, *bit);
+ set_bit(REL_HWHEEL_HI_RES, *bit);
+ }
if ((a4->quirks & A4_2WHEEL_MOUSE_HACK_7) && usage->hid == 0x00090007)
return -1;
if ((a4->quirks & A4_2WHEEL_MOUSE_HACK_7) && usage->hid == 0x00090007)
return -1;
@@
-57,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) {
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;
}
a4->delayed_value = value;
return 1;
}
@@
-65,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);
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;
}
}
return 1;
}
}
@@
-74,8
+78,9
@@
static int a4_event(struct hid_device *hdev, struct hid_field *field,
return 1;
}
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, value);
+ input_event(input, usage->type, REL_HWHEEL_HI_RES, value * 120);
return 1;
}
return 1;
}