touch
msgflagsstr(msg->touch.flags),
(msg->touch.pos[0] << 4) |
((msg->touch.pos[2] >> 4) & 0x0F),
(msg->touch.pos[1] << 4) |
((msg->touch.pos[2]) & 0x0F),
msg->touch.area,
msg->touch.amplitude);
track->x = (msg->touch.pos[0] << 4) |
((msg->touch.pos[2] >> 4) & 0x0F);
track->y = (msg->touch.pos[1] << 4) |
(msg->touch.pos[2] & 0x0F);
track->pressure = msg->touch.amplitude;
if (msg->touch.flags & MXT_MSGF_DETECT) {
if (msg->touch.flags & MXT_MSGF_PRESS) {
if (msg->touch.flags & MXT_MSGF_MOVE) {
struct mxt_message_touch touch;
msgflagsstr(msg.touch.flags),
(msg.touch.pos[0] << 4) |
((msg.touch.pos[2] >> 4) & 0x0F),
(msg.touch.pos[1] << 4) |
((msg.touch.pos[2]) & 0x0F),
msg.touch.area,
msg.touch.amplitude);
if (sc->track_id1 == regs->touch[i].id)
sc->track_id1 = regs->touch[i].id;
if (sc->track_id2 == regs->touch[j].id)
sc->track_id2 = regs->touch[j].id;
#define CYAPA_TOUCH_X(regs, i) ((((regs)->touch[i].xy_high << 4) & 0x0F00) | \
(regs)->touch[i].x_low)
#define CYAPA_TOUCH_Y(regs, i) ((((regs)->touch[i].xy_high << 8) & 0x0F00) | \
(regs)->touch[i].y_low)
#define CYAPA_TOUCH_P(regs, i) ((regs)->touch[i].pressure)
} touch[CYAPA_MAX_MT];
} touch[CYAPA_MAX_MT];
#define CYAPA_TOUCH_X(regs, i) ((((regs)->touch[i].xy_high << 4) & 0x0F00) | \
(regs)->touch[i].x_low)
#define CYAPA_TOUCH_Y(regs, i) ((((regs)->touch[i].xy_high << 8) & 0x0F00) | \
(regs)->touch[i].y_low)
#define CYAPA_TOUCH_P(regs, i) ((regs)->touch[i].pressure)
touch(mp);
touch(mp);
touch(mp);
touch(dot);
touch(mp);
touch(mp);
touch(mp);
touch(mp);
touch(mp);
touch(mp);
void touch(struct message *);
if (touch(*qq) == 0) {
if (touch(*qq) == 0) {
static int touch(struct jobqueue *_jq);