Lines Matching refs:device

36 			     struct evdev_device *device,
43 down_count = evdev_update_key_down_count(device, key, state);
47 keyboard_notify_key(&device->base, time, key, state);
52 struct evdev_device *device,
56 switch_notify_toggle(&device->base,
66 struct evdev_device *device,
71 evdev_pointer_notify_physical_button(device, time, button, state);
94 post_button_scroll(struct evdev_device *device,
98 if (device->scroll.method != LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN)
101 switch(device->scroll.button_scroll_state) {
108 evdev_log_debug(device, "btnscroll: discarding\n");
111 device->scroll.button_scroll_state = BUTTONSCROLL_SCROLLING;
116 filter_dispatch_scroll(device->pointer.filter,
118 device,
120 evdev_post_scroll(device, time,
132 struct evdev_device *device,
156 struct evdev_device *device)
160 if (!device->base.config.rotation)
170 struct evdev_device *device,
173 struct libinput_device *base = &device->base;
176 if (!(device->seat_caps & EVDEV_DEVICE_POINTER))
179 struct device_float_coords raw = fallback_rotate_relative(dispatch, device);
185 if (post_button_scroll(device, raw, time))
188 if (device->pointer.filter) {
190 accel = filter_dispatch(device->pointer.filter,
192 device,
195 evdev_log_bug_libinput(device,
208 struct evdev_device *device,
211 struct libinput_device *base = &device->base;
214 if (!(device->seat_caps & EVDEV_DEVICE_POINTER))
218 evdev_transform_absolute(device, &point);
225 struct evdev_device *device,
229 struct libinput_device *base = &device->base;
235 if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
240 evdev_log_bug_kernel(device,
254 evdev_transform_absolute(device, &point);
264 struct evdev_device *device,
268 struct libinput_device *base = &device->base;
273 if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
283 if (fallback_filter_defuzz_touch(dispatch, device, slot))
286 evdev_transform_absolute(device, &point);
295 struct evdev_device *device,
299 struct libinput_device *base = &device->base;
304 if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
323 struct evdev_device *device,
327 struct libinput_device *base = &device->base;
332 if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
351 struct evdev_device *device,
354 struct libinput_device *base = &device->base;
359 if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
363 evdev_log_bug_kernel(device,
377 evdev_transform_absolute(device, &point);
386 struct evdev_device *device,
389 struct libinput_device *base = &device->base;
394 evdev_transform_absolute(device, &point);
408 struct evdev_device *device,
411 struct libinput_device *base = &device->base;
415 if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
433 struct evdev_device *device,
436 struct libinput_device *base = &device->base;
440 if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
458 struct evdev_device *device,
468 struct evdev_device *device,
478 if (!device->is_mt)
480 device,
512 device,
525 struct evdev_device *device,
533 evdev_log_bug_libinput(device,
550 v = libevdev_get_slot_value(device->evdev,
572 evdev_device_check_abs_axis_range(device, e->code, e->value);
578 evdev_device_check_abs_axis_range(device, e->code, e->value);
608 struct evdev_device *device,
613 evdev_device_check_abs_axis_range(device, e->code, e->value);
618 evdev_device_check_abs_axis_range(device, e->code, e->value);
639 int fd = libevdev_get_fd(dispatch->device->evdev);
649 evdev_log_error(dispatch->device,
662 fallback_lid_notify_toggle(dispatch, dispatch->device, time);
670 assert(kbd->device);
676 &kbd->device->base,
692 if (!kbd->device)
703 struct evdev_device *device,
722 fallback_lid_notify_toggle(dispatch, device, time);
733 switch_notify_toggle(&device->base,
742 fallback_reject_relative(struct evdev_device *device,
747 (device->seat_caps & EVDEV_DEVICE_POINTER) == 0) {
748 evdev_log_bug_libinput_ratelimit(device,
749 &device->nonpointer_rel_limit,
750 "REL_X/Y from a non-pointer device\n");
759 struct evdev_device *device,
762 if (fallback_reject_relative(device, e, time))
776 fallback_wheel_process_relative(dispatch, device, e, time);
781 struct evdev_device *device,
785 if (device->is_mt) {
786 fallback_process_touch(dispatch, device, e, time);
788 fallback_process_absolute_motion(dispatch, device, e);
794 struct evdev_device *device)
799 if (libevdev_has_event_code(device->evdev, EV_KEY, button) &&
812 evdev_transform_absolute(dispatch->device, &point);
825 struct evdev_device *device,
845 device,
855 device,
862 device,
868 device,
900 struct evdev_device *device,
907 fallback_flush_relative_motion(dispatch, device, time);
911 if (fallback_flush_st_down(dispatch, device, time))
914 if (device->seat_caps & EVDEV_DEVICE_TOUCH) {
916 device,
919 } else if (device->seat_caps & EVDEV_DEVICE_POINTER) {
921 device,
927 if (fallback_flush_st_up(dispatch, device, time))
934 device,
938 touch_notify_frame(&device->base, time);
940 fallback_wheel_handle_state(dispatch, device, time);
966 struct evdev_device *device,
975 evdev_log_debug(device, "dropping events due to touch arbitration\n");
985 fallback_process_relative(dispatch, device, event, time);
988 fallback_process_absolute(dispatch, device, event, time);
991 fallback_process_key(dispatch, device, event, time);
994 fallback_process_switch(dispatch, device, event, time);
997 fallback_handle_state(dispatch, device, time);
1004 struct evdev_device *device,
1013 evdev_transform_absolute(device, &point);
1016 device,
1022 evdev_transform_absolute(device, &point);
1028 fallback_flush_mt_cancel(dispatch, device, idx, time))
1033 touch_notify_frame(&device->base, time);
1038 struct evdev_device *device,
1044 int count = get_key_down_count(device, code);
1050 evdev_log_bug_libinput(device,
1062 device,
1074 device,
1081 count = get_key_down_count(device, code);
1083 evdev_log_bug_libinput(device,
1093 struct evdev_device *device)
1095 struct libinput *libinput = evdev_libinput_context(device);
1101 cancel_touches(dispatch, device, NULL, time);
1102 release_pressed_keys(dispatch, device, time);
1109 struct evdev_device *device)
1113 fallback_return_to_neutral_state(dispatch, device);
1137 fallback_interface_sync_initial_state(struct evdev_device *device,
1141 uint64_t time = libinput_now(evdev_libinput_context(device));
1143 if (device->tags & EVDEV_TAG_LID_SWITCH) {
1144 struct libevdev *evdev = device->evdev;
1160 fallback_lid_notify_toggle(dispatch, device, time);
1165 switch_notify_toggle(&device->base,
1174 struct evdev_device *device,
1186 rect = evdev_phys_rect_to_units(device, phys_rect);
1192 struct evdev_device *device,
1219 rect = evdev_phys_rect_to_units(device, phys_rect);
1220 cancel_touches(dispatch, device, &rect, time);
1226 fallback_return_to_neutral_state(dispatch, device);
1232 evdev_log_debug(device, "Touch arbitration state now %s\n", state);
1277 kbd->device = keyboard;
1295 struct evdev_device *device)
1301 evdev_device_resume(device);
1306 struct evdev_device *device)
1308 evdev_device_suspend(device);
1317 struct evdev_device *device = dispatch->device;
1330 fallback_resume(dispatch, device);
1331 evdev_log_debug(device, "tablet-mode: resuming device\n");
1334 fallback_suspend(dispatch, device);
1335 evdev_log_debug(device, "tablet-mode: suspending device\n");
1383 evdev_log_debug(keyboard, "tablet-mode: suspending device\n");
1389 fallback_interface_device_added(struct evdev_device *device,
1392 fallback_lid_pair_keyboard(device, added_device);
1393 fallback_pair_tablet_mode(device, added_device);
1397 fallback_interface_device_removed(struct evdev_device *device,
1401 fallback_dispatch(device->dispatch);
1407 if (!kbd->device)
1410 if (kbd->device != removed_device)
1441 fallback_change_to_left_handed(struct evdev_device *device)
1443 struct fallback_dispatch *dispatch = fallback_dispatch(device->dispatch);
1445 if (device->left_handed.want_enabled == device->left_handed.enabled)
1448 if (fallback_any_button_down(dispatch, device))
1451 device->left_handed.enabled = device->left_handed.want_enabled;
1455 fallback_change_scroll_method(struct evdev_device *device)
1457 struct fallback_dispatch *dispatch = fallback_dispatch(device->dispatch);
1459 if (device->scroll.want_method == device->scroll.method &&
1460 device->scroll.want_button == device->scroll.button &&
1461 device->scroll.want_lock_enabled == device->scroll.lock_enabled)
1464 if (fallback_any_button_down(dispatch, device))
1467 device->scroll.method = device->scroll.want_method;
1468 device->scroll.button = device->scroll.want_button;
1469 device->scroll.lock_enabled = device->scroll.want_lock_enabled;
1470 evdev_set_button_scroll_lock_enabled(device, device->scroll.lock_enabled);
1474 fallback_rotation_config_is_available(struct libinput_device *device)
1484 struct evdev_device *device = evdev_device(libinput_device);
1485 struct fallback_dispatch *dispatch = fallback_dispatch(device->dispatch);
1496 struct evdev_device *device = evdev_device(libinput_device);
1497 struct fallback_dispatch *dispatch = fallback_dispatch(device->dispatch);
1503 fallback_rotation_config_get_default_angle(struct libinput_device *device)
1510 struct evdev_device *device)
1512 if (device->tags & EVDEV_TAG_TRACKPOINT)
1520 device->base.config.rotation = &dispatch->rotation.config;
1525 struct evdev_device *device)
1527 struct libevdev *evdev = device->evdev;
1533 if (evdev_is_fake_mt_device(device) ||
1541 if (evdev_need_mtdev(device)) {
1542 device->mtdev = mtdev_new_open(device->fd);
1543 if (!device->mtdev)
1549 active_slot = device->mtdev->caps.slot.value;
1551 num_slots = libevdev_get_num_slots(device->evdev);
1560 if (evdev_need_mtdev(device))
1577 if (device->abs.absinfo_x->fuzz || device->abs.absinfo_y->fuzz) {
1579 dispatch->mt.hysteresis_margin.x = device->abs.absinfo_x->fuzz/2;
1580 dispatch->mt.hysteresis_margin.y = device->abs.absinfo_y->fuzz/2;
1588 struct evdev_device *device)
1596 struct evdev_device *device)
1598 if (!libevdev_has_event_code(device->evdev, EV_ABS, ABS_X))
1601 dispatch->abs.point.x = device->abs.absinfo_x->value;
1602 dispatch->abs.point.y = device->abs.absinfo_y->value;
1605 evdev_device_init_abs_range_warnings(device);
1610 struct evdev_device *device)
1616 if (device->tags & EVDEV_TAG_LID_SWITCH) {
1617 dispatch->lid.reliability = evdev_read_switch_reliability_prop(device);
1621 if (device->tags & EVDEV_TAG_TABLET_MODE_SWITCH) {
1622 val = libevdev_get_event_value(device->evdev,
1639 evdev_log_debug(dispatch->device, "touch arbitration timeout\n");
1644 struct evdev_device *device)
1651 evdev_device_get_sysname(device));
1653 evdev_libinput_context(device),
1663 struct evdev_device *device = evdev_device(libinput_device);
1667 dispatch->device = evdev_device(libinput_device);
1673 fallback_dispatch_init_rel(dispatch, device);
1674 fallback_dispatch_init_abs(dispatch, device);
1675 if (fallback_dispatch_init_slots(dispatch, device) == -1) {
1680 fallback_dispatch_init_switch(dispatch, device);
1682 if (device->left_handed.want_enabled)
1683 evdev_init_left_handed(device,
1686 if (device->scroll.want_button)
1687 evdev_init_button_scroll(device,
1690 if (device->scroll.natural_scrolling_enabled)
1691 evdev_init_natural_scroll(device);
1693 evdev_init_calibration(device, &dispatch->calibration);
1694 evdev_init_sendevents(device, &dispatch->base);
1695 fallback_init_rotation(dispatch, device);
1702 if (libevdev_has_event_code(device->evdev, EV_KEY, BTN_LEFT) &&
1703 libevdev_has_event_code(device->evdev, EV_KEY, BTN_RIGHT)) {
1704 bool has_middle = libevdev_has_event_code(device->evdev,
1710 evdev_init_middlebutton(device,
1715 fallback_init_wheel(dispatch, device);
1717 fallback_init_arbitration(dispatch, device);