--- a/drivers/input/input-mt.c +++ b/drivers/input/input-mt.c @@ -217,10 +217,6 @@ count++; } - input_event(dev, EV_KEY, BTN_TOUCH, count > 0); - if (use_count) - input_mt_report_finger_count(dev, count); - if (oldest) { int x = input_mt_get_value(oldest, ABS_MT_POSITION_X); int y = input_mt_get_value(oldest, ABS_MT_POSITION_Y); @@ -236,6 +232,10 @@ if (test_bit(ABS_MT_PRESSURE, dev->absbit)) input_event(dev, EV_ABS, ABS_PRESSURE, 0); } + + input_event(dev, EV_KEY, BTN_TOUCH, count > 0); + if (use_count) + input_mt_report_finger_count(dev, count); } EXPORT_SYMBOL(input_mt_report_pointer_emulation);