Lines Matching defs:drvdat
192 static void asus_report_contact_down(struct asus_drvdata *drvdat,
195 struct input_dev *input = drvdat->input;
199 y = drvdat->tp->max_y - ((data[0] & CONTACT_Y_MSB_MASK) << 8 | data[2]);
204 if (drvdat->tp->contact_size < 5)
220 static void asus_report_tool_width(struct asus_drvdata *drvdat)
222 struct input_mt *mt = drvdat->input->mt;
226 if (drvdat->tp->contact_size < 5)
245 input_report_abs(drvdat->input, ABS_TOOL_WIDTH,
250 static int asus_report_input(struct asus_drvdata *drvdat, u8 *data, int size)
255 if (size != drvdat->tp->report_size)
258 for (i = 0; i < drvdat->tp->max_contacts; i++) {
261 if (drvdat->tp->contact_size >= 5)
265 input_mt_slot(drvdat->input, i);
266 input_mt_report_slot_state(drvdat->input, toolType, down);
269 asus_report_contact_down(drvdat, toolType, contactData);
270 contactData += drvdat->tp->contact_size;
274 input_report_key(drvdat->input, BTN_LEFT, data[1] & BTN_LEFT_MASK);
275 asus_report_tool_width(drvdat);
277 input_mt_sync_frame(drvdat->input);
278 input_sync(drvdat->input);
283 static int asus_e1239t_event(struct asus_drvdata *drvdat, u8 *data, int size)
289 if (!drvdat->tp &&
291 input_report_key(drvdat->input, KEY_MUTE, 1);
292 input_sync(drvdat->input);
293 input_report_key(drvdat->input, KEY_MUTE, 0);
294 input_sync(drvdat->input);
299 if (drvdat->tp_kbd_input &&
301 input_report_key(drvdat->tp_kbd_input, KEY_F21, 1);
302 input_sync(drvdat->tp_kbd_input);
303 input_report_key(drvdat->tp_kbd_input, KEY_F21, 0);
304 input_sync(drvdat->tp_kbd_input);