evdev_push_abs
evdev_push_abs(sc->evdev_a, ABS_MT_SLOT, id);
evdev_push_abs(sc->evdev_a, ABS_MT_TRACKING_ID, id);
evdev_push_abs(sc->evdev_a, ABS_MT_POSITION_X, f->x);
evdev_push_abs(sc->evdev_a, ABS_MT_POSITION_Y, y);
evdev_push_abs(sc->evdev_a, ABS_MT_PRESSURE, f->p);
evdev_push_abs(sc->evdev_a, ABS_X, f->x);
evdev_push_abs(sc->evdev_a, ABS_Y, y);
evdev_push_abs(sc->evdev_a, ABS_PRESSURE, f->p);
evdev_push_abs(sc->evdev_a, ABS_TOOL_WIDTH, f->w);
evdev_push_abs(sc->evdev_a, ABS_PRESSURE, 0);
evdev_push_abs(sc->evdev_a, ABS_MT_TOUCH_MAJOR,
evdev_push_abs(sc->evdev_a, ABS_PRESSURE, 0);
evdev_push_abs(sc->evdev, ABS_MT_SLOT, slot);
evdev_push_abs(sc->evdev, ABS_MT_TRACKING_ID,
evdev_push_abs(sc->evdev, ABS_MT_POSITION_X,
evdev_push_abs(sc->evdev, ABS_MT_POSITION_Y,
evdev_push_abs(sc->evdev, ABS_MT_PRESSURE,
evdev_push_abs(evdev, ABS_HAT0X, hat_switch_map[idx].x);
evdev_push_abs(evdev, ABS_HAT0Y, hat_switch_map[idx].y);
evdev_push_abs(evdev, ABS_HAT0Y, sc->dpad_down - sc->dpad_up);
evdev_push_abs(evdev, ABS_HAT0Y, sc->dpad_down - sc->dpad_up);
evdev_push_abs(evdev, ABS_HAT0X, sc->dpad_right - sc->dpad_left);
evdev_push_abs(evdev, ABS_HAT0X, sc->dpad_right - sc->dpad_left);
evdev_push_abs(sc->evdev, ABS_DISTANCE,
evdev_push_abs(sc->evdev, ABS_MT_SLOT, finger);
evdev_push_abs(sc->evdev, ABS_MT_TRACKING_ID, -1);
evdev_push_abs(evdev, calib->code,
evdev_push_abs(evdev, ABS_MT_SLOT, 0);
evdev_push_abs(evdev, ABS_MT_TRACKING_ID, data[PS4DS_CID1]);
evdev_push_abs(evdev, ABS_MT_POSITION_X, data[PS4DS_X1]);
evdev_push_abs(evdev, ABS_MT_POSITION_Y, data[PS4DS_Y1]);
evdev_push_abs(evdev, ABS_MT_TRACKING_ID, -1);
evdev_push_abs(evdev, ABS_MT_SLOT, 1);
evdev_push_abs(evdev, ABS_MT_TRACKING_ID, data[PS4DS_CID2]);
evdev_push_abs(evdev, ABS_MT_POSITION_X, data[PS4DS_X2]);
evdev_push_abs(evdev, ABS_MT_POSITION_Y, data[PS4DS_Y2]);
evdev_push_abs(evdev, ABS_MT_TRACKING_ID, -1);
evdev_push_abs(sc->evdev, ABS_X, x);
evdev_push_abs(sc->evdev, ABS_Y, y);