diff options
Diffstat (limited to 'minuitwrp')
-rw-r--r-- | minuitwrp/Android.mk | 4 | ||||
-rw-r--r-- | minuitwrp/events.c | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/minuitwrp/Android.mk b/minuitwrp/Android.mk index cf1eb5af2..c4380aadd 100644 --- a/minuitwrp/Android.mk +++ b/minuitwrp/Android.mk @@ -85,6 +85,10 @@ ifeq ($(TW_IGNORE_MAJOR_AXIS_0), true) LOCAL_CFLAGS += -DTW_IGNORE_MAJOR_AXIS_0 endif +ifeq ($(TW_IGNORE_MT_POSITION_0), true) +LOCAL_CFLAGS += -DTW_IGNORE_MT_POSITION_0 +endif + ifneq ($(TW_INPUT_BLACKLIST),) LOCAL_CFLAGS += -DTW_INPUT_BLACKLIST=$(TW_INPUT_BLACKLIST) endif diff --git a/minuitwrp/events.c b/minuitwrp/events.c index 61fcf95ea..f02edd34f 100644 --- a/minuitwrp/events.c +++ b/minuitwrp/events.c @@ -458,15 +458,27 @@ static int vk_modify(struct ev *e, struct input_event *ev) e->mt_p.synced = 0x03; if (ev->value == (1 << 31)) { +#ifndef TW_IGNORE_MT_POSITION_0 e->mt_p.x = 0; e->mt_p.y = 0; lastWasSynReport = 1; +#endif +#ifdef _EVENT_LOGGING +#ifndef TW_IGNORE_MT_POSITION_0 + printf("EV: %s => EV_ABS ABS_MT_POSITION %d, set x and y to 0 and lastWasSynReport to 1\n", e->deviceName, ev->value); +#else + printf("Ignoring ABS_MT_POSITION 0\n", e->deviceName, ev->value); +#endif +#endif } else { lastWasSynReport = 0; e->mt_p.x = (ev->value & 0x7FFF0000) >> 16; e->mt_p.y = (ev->value & 0xFFFF); +#ifdef _EVENT_LOGGING + printf("EV: %s => EV_ABS ABS_MT_POSITION %d, set x: %d and y: %d and lastWasSynReport to 0\n", e->deviceName, ev->value, (ev->value & 0x7FFF0000) >> 16, (ev->value & 0xFFFF)); +#endif } break; |