Messages in this thread Patch in this message | | | From | "Henrik Rydberg" <> | Subject | [PATCH 3/6] hid: egalax: Correct for device resolution report error | Date | Wed, 13 Oct 2010 15:58:19 +0200 |
| |
The firmware of both supported devices report a X/Y maximum of 4096, whereas in reality, it is eight times larger. Fixed with this patch.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se> --- drivers/hid/hid-egalax.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/hid/hid-egalax.c b/drivers/hid/hid-egalax.c index 23f832b..3b490a3 100644 --- a/drivers/hid/hid-egalax.c +++ b/drivers/hid/hid-egalax.c @@ -56,6 +56,7 @@ static int egalax_input_mapping(struct hid_device *hdev, struct hid_input *hi, case HID_UP_GENDESK: switch (usage->hid) { case HID_GD_X: + field->logical_maximum <<= 3; hid_map_usage(hi, usage, bit, max, EV_ABS, ABS_MT_POSITION_X); set_abs(input, ABS_MT_POSITION_X, field, 0); @@ -63,6 +64,7 @@ static int egalax_input_mapping(struct hid_device *hdev, struct hid_input *hi, set_abs(input, ABS_X, field, 0); return 1; case HID_GD_Y: + field->logical_maximum <<= 3; hid_map_usage(hi, usage, bit, max, EV_ABS, ABS_MT_POSITION_Y); set_abs(input, ABS_MT_POSITION_Y, field, 0); -- 1.7.1
| |