Query ABS_MT_POSITION_X/Y for trackpad area
Currently we are querying ABS_X/Y for trackpad area, which might
be missing from some device driver (like Apple Magic Mouse). So
we change to query ABS_MT_POSITION_X/Y instead for trackpad area.
BUG=chromium-os:29435
TEST=Checked that CMT works with Apple Magic Mouse, and still
works with Alex and Lumpy.
Change-Id: Ic52967762c5846f22ca7cd7b7c524b3453b6b3a7
diff --git a/src/libevdev_event.c b/src/libevdev_event.c
index 3050e53..4fcc520 100644
--- a/src/libevdev_event.c
+++ b/src/libevdev_event.c
@@ -52,42 +52,42 @@
int
Event_Get_Left(EvdevPtr device)
{
- struct input_absinfo* absinfo = &device->info.absinfo[ABS_X];
+ struct input_absinfo* absinfo = &device->info.absinfo[ABS_MT_POSITION_X];
return absinfo->minimum;
}
int
Event_Get_Right(EvdevPtr device)
{
- struct input_absinfo* absinfo = &device->info.absinfo[ABS_X];
+ struct input_absinfo* absinfo = &device->info.absinfo[ABS_MT_POSITION_X];
return absinfo->maximum;
}
int
Event_Get_Top(EvdevPtr device)
{
- struct input_absinfo* absinfo = &device->info.absinfo[ABS_Y];
+ struct input_absinfo* absinfo = &device->info.absinfo[ABS_MT_POSITION_Y];
return absinfo->minimum;
}
int
Event_Get_Bottom(EvdevPtr device)
{
- struct input_absinfo* absinfo = &device->info.absinfo[ABS_Y];
+ struct input_absinfo* absinfo = &device->info.absinfo[ABS_MT_POSITION_Y];
return absinfo->maximum;
}
int
Event_Get_Res_Y(EvdevPtr device)
{
- struct input_absinfo* absinfo = &device->info.absinfo[ABS_Y];
+ struct input_absinfo* absinfo = &device->info.absinfo[ABS_MT_POSITION_Y];
return absinfo->resolution;
}
int
Event_Get_Res_X(EvdevPtr device)
{
- struct input_absinfo* absinfo = &device->info.absinfo[ABS_X];
+ struct input_absinfo* absinfo = &device->info.absinfo[ABS_MT_POSITION_X];
return absinfo->resolution;
}