Lines Matching refs:mtouch

38 	struct input_dev *mtouch;
114 struct xenkbd_mtouch *mtouch)
116 if (unlikely(!info->mtouch))
119 if (mtouch->contact_id != info->mtouch_cur_contact_id) {
120 info->mtouch_cur_contact_id = mtouch->contact_id;
121 input_mt_slot(info->mtouch, mtouch->contact_id);
124 switch (mtouch->event_type) {
126 input_mt_report_slot_state(info->mtouch, MT_TOOL_FINGER, true);
130 input_report_abs(info->mtouch, ABS_MT_POSITION_X,
131 mtouch->u.pos.abs_x);
132 input_report_abs(info->mtouch, ABS_MT_POSITION_Y,
133 mtouch->u.pos.abs_y);
137 input_report_abs(info->mtouch, ABS_MT_TOUCH_MAJOR,
138 mtouch->u.shape.major);
139 input_report_abs(info->mtouch, ABS_MT_TOUCH_MINOR,
140 mtouch->u.shape.minor);
144 input_report_abs(info->mtouch, ABS_MT_ORIENTATION,
145 mtouch->u.orientation);
149 input_mt_report_slot_inactive(info->mtouch);
153 input_mt_sync_frame(info->mtouch);
154 input_sync(info->mtouch);
176 xenkbd_handle_mt_event(info, &event->mtouch);
206 struct input_dev *kbd, *ptr, *mtouch;
333 mtouch = input_allocate_device();
334 if (!mtouch)
347 mtouch->name = "Xen Virtual Multi-touch";
348 mtouch->phys = info->phys;
349 mtouch->id.bustype = BUS_PCI;
350 mtouch->id.vendor = 0x5853;
351 mtouch->id.product = 0xfffd;
353 input_set_abs_params(mtouch, ABS_MT_TOUCH_MAJOR,
355 input_set_abs_params(mtouch, ABS_MT_POSITION_X,
357 input_set_abs_params(mtouch, ABS_MT_POSITION_Y,
360 ret = input_mt_init_slots(mtouch, num_cont, INPUT_MT_DIRECT);
362 input_free_device(mtouch);
368 ret = input_register_device(mtouch);
370 input_free_device(mtouch);
372 "input_register_device(mtouch)");
376 info->mtouch = mtouch;
416 if (info->mtouch)
417 input_unregister_device(info->mtouch);