Lines Matching defs:drvdat
188 static void asus_report_contact_down(struct asus_drvdata *drvdat,
191 struct input_dev *input = drvdat->input;
195 y = drvdat->tp->max_y - ((data[0] & CONTACT_Y_MSB_MASK) << 8 | data[2]);
200 if (drvdat->tp->contact_size < 5)
216 static void asus_report_tool_width(struct asus_drvdata *drvdat)
218 struct input_mt *mt = drvdat->input->mt;
222 if (drvdat->tp->contact_size < 5)
243 input_report_abs(drvdat->input, ABS_TOOL_WIDTH,
248 static int asus_report_input(struct asus_drvdata *drvdat, u8 *data, int size)
253 if (size != drvdat->tp->report_size)
256 for (i = 0; i < drvdat->tp->max_contacts; i++) {
259 if (drvdat->tp->contact_size >= 5)
263 input_mt_slot(drvdat->input, i);
264 input_mt_report_slot_state(drvdat->input, toolType, down);
267 asus_report_contact_down(drvdat, toolType, contactData);
268 contactData += drvdat->tp->contact_size;
272 input_report_key(drvdat->input, BTN_LEFT, data[1] & BTN_LEFT_MASK);
273 asus_report_tool_width(drvdat);
275 input_mt_sync_frame(drvdat->input);
276 input_sync(drvdat->input);
281 static int asus_e1239t_event(struct asus_drvdata *drvdat, u8 *data, int size)
287 if (!drvdat->tp &&
289 input_report_key(drvdat->input, KEY_MUTE, 1);
290 input_sync(drvdat->input);
291 input_report_key(drvdat->input, KEY_MUTE, 0);
292 input_sync(drvdat->input);
297 if (drvdat->tp_kbd_input &&
299 input_report_key(drvdat->tp_kbd_input, KEY_F21, 1);
300 input_sync(drvdat->tp_kbd_input);
301 input_report_key(drvdat->tp_kbd_input, KEY_F21, 0);
302 input_sync(drvdat->tp_kbd_input);