Lines Matching refs:device

356 	return event->device->seat->libinput;
362 return event->device;
615 struct evdev_device *device = evdev_device(event->base.device);
622 return evdev_convert_to_mm(device->abs.absinfo_x, event->absolute.x);
628 struct evdev_device *device = evdev_device(event->base.device);
635 return evdev_convert_to_mm(device->abs.absinfo_y, event->absolute.y);
643 struct evdev_device *device = evdev_device(event->base.device);
650 return evdev_device_transform_x(device, event->absolute.x, width);
658 struct evdev_device *device = evdev_device(event->base.device);
665 return evdev_device_transform_y(device, event->absolute.y, height);
727 struct libinput *libinput = event->base.device->seat->libinput;
755 struct libinput *libinput = event->base.device->seat->libinput;
782 struct libinput *libinput = event->base.device->seat->libinput;
811 struct libinput *libinput = event->base.device->seat->libinput;
906 struct evdev_device *device = evdev_device(event->base.device);
914 return evdev_convert_to_mm(device->abs.absinfo_x, event->point.x);
921 struct evdev_device *device = evdev_device(event->base.device);
929 return evdev_device_transform_x(device, event->point.x, width);
936 struct evdev_device *device = evdev_device(event->base.device);
944 return evdev_device_transform_y(device, event->point.y, height);
950 struct evdev_device *device = evdev_device(event->base.device);
958 return evdev_convert_to_mm(device->abs.absinfo_y, event->point.y);
1299 struct evdev_device *device = evdev_device(event->base.device);
1309 return evdev_convert_to_mm(device->abs.absinfo_x,
1316 struct evdev_device *device = evdev_device(event->base.device);
1326 return evdev_convert_to_mm(device->abs.absinfo_y,
1503 struct evdev_device *device = evdev_device(event->base.device);
1513 return evdev_device_transform_x(device,
1522 struct evdev_device *device = evdev_device(event->base.device);
1532 return evdev_device_transform_y(device,
1908 "Failed to load the device quirks from %s%s%s. "
1909 "This will negatively affect device behavior. "
1910 "See %s/device-quirks.html for details.\n",
1923 libinput_device_destroy(struct libinput_device *device);
1949 struct libinput_device *device;
1972 list_for_each_safe(device,
1975 libinput_device_destroy(device);
2037 if (event->device)
2038 libinput_device_unref(event->device);
2059 ignore_litest_test_suite_device(struct udev_device *device)
2062 udev_device_get_property_value(device, "LIBINPUT_TEST_DEVICE"))
2144 libinput_device_init(struct libinput_device *device,
2147 device->seat = seat;
2148 device->refcount = 1;
2149 list_init(&device->event_listeners);
2153 libinput_device_ref(struct libinput_device *device)
2155 device->refcount++;
2156 return device;
2160 libinput_device_destroy(struct libinput_device *device)
2162 assert(list_empty(&device->event_listeners));
2163 evdev_device_destroy(evdev_device(device));
2167 libinput_device_unref(struct libinput_device *device)
2169 assert(device->refcount > 0);
2170 device->refcount--;
2171 if (device->refcount == 0) {
2172 libinput_device_destroy(device);
2176 return device;
2225 libinput_device_add_event_listener(struct libinput_device *device,
2235 list_insert(&device->event_listeners, &listener->link);
2288 struct libinput_device *device,
2292 event->device = device;
2296 post_base_event(struct libinput_device *device,
2300 struct libinput *libinput = device->seat->libinput;
2301 init_event_base(event, device, type);
2306 post_device_event(struct libinput_device *device,
2313 struct libinput *libinput = device->seat->libinput;
2316 log_bug_libinput(device->seat->libinput,
2324 init_event_base(event, device, type);
2326 list_for_each_safe(listener, &device->event_listeners, link)
2329 libinput_post_event(device->seat->libinput, event);
2333 notify_added_device(struct libinput_device *device)
2339 post_base_event(device,
2351 notify_removed_device(struct libinput_device *device)
2357 post_base_event(device,
2369 device_has_cap(struct libinput_device *device,
2374 if (libinput_device_has_capability(device, cap))
2401 log_bug_libinput(device->seat->libinput,
2402 "Event for missing capability %s on device \"%s\"\n",
2404 libinput_device_get_name(device));
2410 keyboard_notify_key(struct libinput_device *device,
2418 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_KEYBOARD))
2423 seat_key_count = update_seat_key_count(device->seat, key, state);
2432 post_device_event(device, time,
2438 pointer_notify_motion(struct libinput_device *device,
2445 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_POINTER))
2456 post_device_event(device, time,
2462 pointer_notify_motion_absolute(struct libinput_device *device,
2468 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_POINTER))
2478 post_device_event(device, time,
2484 pointer_notify_button(struct libinput_device *device,
2492 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_POINTER))
2497 seat_button_count = update_seat_button_count(device->seat,
2508 post_device_event(device, time,
2514 pointer_notify_axis_finger(struct libinput_device *device,
2523 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_POINTER))
2539 post_device_event(device, time,
2542 post_device_event(device, time,
2548 pointer_notify_axis_continuous(struct libinput_device *device,
2557 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_POINTER))
2573 post_device_event(device, time,
2576 post_device_event(device, time,
2582 pointer_notify_axis_legacy_wheel(struct libinput_device *device,
2591 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_POINTER))
2605 post_device_event(device, time,
2611 pointer_notify_axis_wheel(struct libinput_device *device,
2619 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_POINTER))
2634 post_device_event(device, time,
2642 touch_notify_touch_down(struct libinput_device *device,
2650 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_TOUCH))
2662 post_device_event(device, time,
2668 touch_notify_touch_motion(struct libinput_device *device,
2676 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_TOUCH))
2688 post_device_event(device, time,
2694 touch_notify_touch_up(struct libinput_device *device,
2701 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_TOUCH))
2712 post_device_event(device, time,
2718 touch_notify_touch_cancel(struct libinput_device *device,
2725 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_TOUCH))
2736 post_device_event(device, time,
2742 touch_notify_frame(struct libinput_device *device,
2747 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_TOUCH))
2756 post_device_event(device, time,
2762 tablet_notify_axis(struct libinput_device *device,
2785 post_device_event(device,
2792 tablet_notify_proximity(struct libinput_device *device,
2814 post_device_event(device,
2821 tablet_notify_tip(struct libinput_device *device,
2843 post_device_event(device,
2850 tablet_notify_button(struct libinput_device *device,
2863 seat_button_count = update_seat_button_count(device->seat,
2878 post_device_event(device,
2885 tablet_pad_notify_button(struct libinput_device *device,
2906 post_device_event(device,
2913 tablet_pad_notify_ring(struct libinput_device *device,
2936 post_device_event(device,
2943 tablet_pad_notify_strip(struct libinput_device *device,
2966 post_device_event(device,
2973 tablet_pad_notify_key(struct libinput_device *device,
2988 post_device_event(device,
2995 gesture_notify(struct libinput_device *device,
3007 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_GESTURE))
3022 post_device_event(device, time, type,
3027 gesture_notify_swipe(struct libinput_device *device,
3034 gesture_notify(device, time, type, finger_count, 0, delta, unaccel,
3039 gesture_notify_swipe_end(struct libinput_device *device,
3046 gesture_notify(device, time, LIBINPUT_EVENT_GESTURE_SWIPE_END,
3051 gesture_notify_pinch(struct libinput_device *device,
3060 gesture_notify(device, time, type, finger_count, 0,
3065 gesture_notify_pinch_end(struct libinput_device *device,
3073 gesture_notify(device, time, LIBINPUT_EVENT_GESTURE_PINCH_END,
3078 gesture_notify_hold(struct libinput_device *device,
3084 gesture_notify(device, time, LIBINPUT_EVENT_GESTURE_HOLD_BEGIN,
3089 gesture_notify_hold_end(struct libinput_device *device,
3096 gesture_notify(device, time, LIBINPUT_EVENT_GESTURE_HOLD_END,
3101 switch_notify_toggle(struct libinput_device *device,
3108 if (!device_has_cap(device, LIBINPUT_DEVICE_CAP_SWITCH))
3119 post_device_event(device, time,
3175 if (event->device)
3176 libinput_device_ref(event->device);
3237 libinput_device_set_user_data(struct libinput_device *device, void *user_data)
3239 device->user_data = user_data;
3243 libinput_device_get_user_data(struct libinput_device *device)
3245 return device->user_data;
3249 libinput_device_get_context(struct libinput_device *device)
3251 return libinput_seat_get_context(device->seat);
3255 libinput_device_get_device_group(struct libinput_device *device)
3257 return device->group;
3261 libinput_device_get_sysname(struct libinput_device *device)
3263 return evdev_device_get_sysname((struct evdev_device *) device);
3267 libinput_device_get_name(struct libinput_device *device)
3269 return evdev_device_get_name((struct evdev_device *) device);
3273 libinput_device_get_id_product(struct libinput_device *device)
3275 return evdev_device_get_id_product((struct evdev_device *) device);
3279 libinput_device_get_id_vendor(struct libinput_device *device)
3281 return evdev_device_get_id_vendor((struct evdev_device *) device);
3285 libinput_device_get_output_name(struct libinput_device *device)
3287 return evdev_device_get_output((struct evdev_device *) device);
3291 libinput_device_get_seat(struct libinput_device *device)
3293 return device->seat;
3297 libinput_device_set_seat_logical_name(struct libinput_device *device,
3300 struct libinput *libinput = device->seat->libinput;
3305 return libinput->interface_backend->device_change_seat(device,
3310 libinput_device_get_udev_device(struct libinput_device *device)
3312 return evdev_device_get_udev_device((struct evdev_device *)device);
3316 libinput_device_led_update(struct libinput_device *device,
3319 evdev_device_led_update((struct evdev_device *) device, leds);
3323 libinput_device_has_capability(struct libinput_device *device,
3326 return evdev_device_has_capability((struct evdev_device *) device,
3331 libinput_device_get_size(struct libinput_device *device,
3335 return evdev_device_get_size((struct evdev_device *)device,
3341 libinput_device_pointer_has_button(struct libinput_device *device, uint32_t code)
3343 return evdev_device_has_button((struct evdev_device *)device, code);
3347 libinput_device_keyboard_has_key(struct libinput_device *device, uint32_t code)
3349 return evdev_device_has_key((struct evdev_device *)device, code);
3353 libinput_device_touch_get_touch_count(struct libinput_device *device)
3355 return evdev_device_get_touch_count((struct evdev_device *)device);
3359 libinput_device_switch_has_switch(struct libinput_device *device,
3362 return evdev_device_has_switch((struct evdev_device *)device, sw);
3366 libinput_device_tablet_pad_has_key(struct libinput_device *device, uint32_t code)
3368 return evdev_device_tablet_pad_has_key((struct evdev_device *)device,
3373 libinput_device_tablet_pad_get_num_buttons(struct libinput_device *device)
3375 return evdev_device_tablet_pad_get_num_buttons((struct evdev_device *)device);
3379 libinput_device_tablet_pad_get_num_rings(struct libinput_device *device)
3381 return evdev_device_tablet_pad_get_num_rings((struct evdev_device *)device);
3385 libinput_device_tablet_pad_get_num_strips(struct libinput_device *device)
3387 return evdev_device_tablet_pad_get_num_strips((struct evdev_device *)device);
3391 libinput_device_tablet_pad_get_num_mode_groups(struct libinput_device *device)
3393 return evdev_device_tablet_pad_get_num_mode_groups((struct evdev_device *)device);
3397 libinput_device_tablet_pad_get_mode_group(struct libinput_device *device,
3400 return evdev_device_tablet_pad_get_mode_group((struct evdev_device *)device,
3428 libinput_device_tablet_pad_get_num_buttons(group->device))
3439 libinput_device_tablet_pad_get_num_rings(group->device))
3450 libinput_device_tablet_pad_get_num_strips(group->device))
3461 libinput_device_tablet_pad_get_num_buttons(group->device))
3810 libinput_device_set_device_group(struct libinput_device *device,
3813 device->group = group;
3872 libinput_device_config_tap_get_finger_count(struct libinput_device *device)
3874 return device->config.tap ? device->config.tap->count(device) : 0;
3878 libinput_device_config_tap_set_enabled(struct libinput_device *device,
3885 if (libinput_device_config_tap_get_finger_count(device) == 0)
3889 return device->config.tap->set_enabled(device, enable);
3894 libinput_device_config_tap_get_enabled(struct libinput_device *device)
3896 if (libinput_device_config_tap_get_finger_count(device) == 0)
3899 return device->config.tap->get_enabled(device);
3903 libinput_device_config_tap_get_default_enabled(struct libinput_device *device)
3905 if (libinput_device_config_tap_get_finger_count(device) == 0)
3908 return device->config.tap->get_default(device);
3912 libinput_device_config_tap_set_button_map(struct libinput_device *device,
3923 if (libinput_device_config_tap_get_finger_count(device) == 0)
3926 return device->config.tap->set_map(device, map);
3930 libinput_device_config_tap_get_button_map(struct libinput_device *device)
3932 if (libinput_device_config_tap_get_finger_count(device) == 0)
3935 return device->config.tap->get_map(device);
3939 libinput_device_config_tap_get_default_button_map(struct libinput_device *device)
3941 if (libinput_device_config_tap_get_finger_count(device) == 0)
3944 return device->config.tap->get_default_map(device);
3948 libinput_device_config_tap_set_drag_enabled(struct libinput_device *device,
3955 if (libinput_device_config_tap_get_finger_count(device) == 0)
3959 return device->config.tap->set_drag_enabled(device, enable);
3963 libinput_device_config_tap_get_drag_enabled(struct libinput_device *device)
3965 if (libinput_device_config_tap_get_finger_count(device) == 0)
3968 return device->config.tap->get_drag_enabled(device);
3972 libinput_device_config_tap_get_default_drag_enabled(struct libinput_device *device)
3974 if (libinput_device_config_tap_get_finger_count(device) == 0)
3977 return device->config.tap->get_default_drag_enabled(device);
3981 libinput_device_config_tap_set_drag_lock_enabled(struct libinput_device *device,
3988 if (libinput_device_config_tap_get_finger_count(device) == 0)
3992 return device->config.tap->set_draglock_enabled(device, enable);
3996 libinput_device_config_tap_get_drag_lock_enabled(struct libinput_device *device)
3998 if (libinput_device_config_tap_get_finger_count(device) == 0)
4001 return device->config.tap->get_draglock_enabled(device);
4005 libinput_device_config_tap_get_default_drag_lock_enabled(struct libinput_device *device)
4007 if (libinput_device_config_tap_get_finger_count(device) == 0)
4010 return device->config.tap->get_default_draglock_enabled(device);
4014 libinput_device_config_calibration_has_matrix(struct libinput_device *device)
4016 return device->config.calibration ?
4017 device->config.calibration->has_matrix(device) : 0;
4021 libinput_device_config_calibration_set_matrix(struct libinput_device *device,
4024 if (!libinput_device_config_calibration_has_matrix(device))
4027 return device->config.calibration->set_matrix(device, matrix);
4031 libinput_device_config_calibration_get_matrix(struct libinput_device *device,
4034 if (!libinput_device_config_calibration_has_matrix(device))
4037 return device->config.calibration->get_matrix(device, matrix);
4041 libinput_device_config_calibration_get_default_matrix(struct libinput_device *device,
4044 if (!libinput_device_config_calibration_has_matrix(device))
4047 return device->config.calibration->get_default_matrix(device, matrix);
4051 libinput_device_config_send_events_get_modes(struct libinput_device *device)
4055 if (device->config.sendevents)
4056 modes |= device->config.sendevents->get_modes(device);
4062 libinput_device_config_send_events_set_mode(struct libinput_device *device,
4065 if ((libinput_device_config_send_events_get_modes(device) & mode) != mode)
4068 if (device->config.sendevents)
4069 return device->config.sendevents->set_mode(device, mode);
4076 libinput_device_config_send_events_get_mode(struct libinput_device *device)
4078 if (device->config.sendevents)
4079 return device->config.sendevents->get_mode(device);
4085 libinput_device_config_send_events_get_default_mode(struct libinput_device *device)
4091 libinput_device_config_accel_is_available(struct libinput_device *device)
4093 return device->config.accel ?
4094 device->config.accel->available(device) : 0;
4098 libinput_device_config_accel_set_speed(struct libinput_device *device,
4105 if (!libinput_device_config_accel_is_available(device))
4108 return device->config.accel->set_speed(device, speed);
4111 libinput_device_config_accel_get_speed(struct libinput_device *device)
4113 if (!libinput_device_config_accel_is_available(device))
4116 return device->config.accel->get_speed(device);
4120 libinput_device_config_accel_get_default_speed(struct libinput_device *device)
4122 if (!libinput_device_config_accel_is_available(device))
4125 return device->config.accel->get_default_speed(device);
4129 libinput_device_config_accel_get_profiles(struct libinput_device *device)
4131 if (!libinput_device_config_accel_is_available(device))
4134 return device->config.accel->get_profiles(device);
4138 libinput_device_config_accel_get_profile(struct libinput_device *device)
4140 if (!libinput_device_config_accel_is_available(device))
4143 return device->config.accel->get_profile(device);
4147 libinput_device_config_accel_get_default_profile(struct libinput_device *device)
4149 if (!libinput_device_config_accel_is_available(device))
4152 return device->config.accel->get_default_profile(device);
4156 libinput_device_config_accel_set_profile(struct libinput_device *device,
4168 if (!libinput_device_config_accel_is_available(device) ||
4169 (libinput_device_config_accel_get_profiles(device) & profile) == 0)
4172 return device->config.accel->set_profile(device, profile);
4226 libinput_device_config_accel_apply(struct libinput_device *device,
4230 status = libinput_device_config_accel_set_profile(device, accel_config->profile);
4238 double speed = libinput_device_config_accel_get_default_speed(device);
4239 return libinput_device_config_accel_set_speed(device, speed);
4242 return device->config.accel->set_accel_config(device, accel_config);
4303 libinput_device_config_scroll_has_natural_scroll(struct libinput_device *device)
4305 if (!device->config.natural_scroll)
4308 return device->config.natural_scroll->has(device);
4312 libinput_device_config_scroll_set_natural_scroll_enabled(struct libinput_device *device,
4315 if (!libinput_device_config_scroll_has_natural_scroll(device))
4318 return device->config.natural_scroll->set_enabled(device, enabled);
4322 libinput_device_config_scroll_get_natural_scroll_enabled(struct libinput_device *device)
4324 if (!device->config.natural_scroll)
4327 return device->config.natural_scroll->get_enabled(device);
4331 libinput_device_config_scroll_get_default_natural_scroll_enabled(struct libinput_device *device)
4333 if (!device->config.natural_scroll)
4336 return device->config.natural_scroll->get_default_enabled(device);
4340 libinput_device_config_left_handed_is_available(struct libinput_device *device)
4342 if (!device->config.left_handed)
4345 return device->config.left_handed->has(device);
4349 libinput_device_config_left_handed_set(struct libinput_device *device,
4352 if (!libinput_device_config_left_handed_is_available(device))
4355 return device->config.left_handed->set(device, left_handed);
4359 libinput_device_config_left_handed_get(struct libinput_device *device)
4361 if (!libinput_device_config_left_handed_is_available(device))
4364 return device->config.left_handed->get(device);
4368 libinput_device_config_left_handed_get_default(struct libinput_device *device)
4370 if (!libinput_device_config_left_handed_is_available(device))
4373 return device->config.left_handed->get_default(device);
4377 libinput_device_config_click_get_methods(struct libinput_device *device)
4379 if (device->config.click_method)
4380 return device->config.click_method->get_methods(device);
4386 libinput_device_config_click_set_method(struct libinput_device *device,
4399 if ((libinput_device_config_click_get_methods(device) & method) != method)
4402 if (device->config.click_method)
4403 return device->config.click_method->set_method(device, method);
4410 libinput_device_config_click_get_method(struct libinput_device *device)
4412 if (device->config.click_method)
4413 return device->config.click_method->get_method(device);
4419 libinput_device_config_click_get_default_method(struct libinput_device *device)
4421 if (device->config.click_method)
4422 return device->config.click_method->get_default_method(device);
4429 struct libinput_device *device)
4431 if (device->config.middle_emulation)
4432 return device->config.middle_emulation->available(device);
4439 struct libinput_device *device,
4443 libinput_device_config_middle_emulation_is_available(device);
4458 return device->config.middle_emulation->set(device, enable);
4463 struct libinput_device *device)
4465 if (!libinput_device_config_middle_emulation_is_available(device))
4468 return device->config.middle_emulation->get(device);
4473 struct libinput_device *device)
4475 if (!libinput_device_config_middle_emulation_is_available(device))
4478 return device->config.middle_emulation->get_default(device);
4482 libinput_device_config_scroll_get_methods(struct libinput_device *device)
4484 if (device->config.scroll_method)
4485 return device->config.scroll_method->get_methods(device);
4491 libinput_device_config_scroll_set_method(struct libinput_device *device,
4505 if ((libinput_device_config_scroll_get_methods(device) & method) != method)
4508 if (device->config.scroll_method)
4509 return device->config.scroll_method->set_method(device, method);
4516 libinput_device_config_scroll_get_method(struct libinput_device *device)
4518 if (device->config.scroll_method)
4519 return device->config.scroll_method->get_method(device);
4525 libinput_device_config_scroll_get_default_method(struct libinput_device *device)
4527 if (device->config.scroll_method)
4528 return device->config.scroll_method->get_default_method(device);
4534 libinput_device_config_scroll_set_button(struct libinput_device *device,
4537 if ((libinput_device_config_scroll_get_methods(device) &
4541 if (button && !libinput_device_pointer_has_button(device, button))
4544 return device->config.scroll_method->set_button(device, button);
4548 libinput_device_config_scroll_get_button(struct libinput_device *device)
4550 if ((libinput_device_config_scroll_get_methods(device) &
4554 return device->config.scroll_method->get_button(device);
4558 libinput_device_config_scroll_get_default_button(struct libinput_device *device)
4560 if ((libinput_device_config_scroll_get_methods(device) &
4564 return device->config.scroll_method->get_default_button(device);
4568 libinput_device_config_scroll_set_button_lock(struct libinput_device *device,
4571 if ((libinput_device_config_scroll_get_methods(device) &
4583 return device->config.scroll_method->set_button_lock(device, state);
4587 libinput_device_config_scroll_get_button_lock(struct libinput_device *device)
4589 if ((libinput_device_config_scroll_get_methods(device) &
4593 return device->config.scroll_method->get_button_lock(device);
4597 libinput_device_config_scroll_get_default_button_lock(struct libinput_device *device)
4599 if ((libinput_device_config_scroll_get_methods(device) &
4603 return device->config.scroll_method->get_default_button_lock(device);
4607 libinput_device_config_dwt_is_available(struct libinput_device *device)
4609 if (!device->config.dwt)
4612 return device->config.dwt->is_available(device);
4616 libinput_device_config_dwt_set_enabled(struct libinput_device *device,
4623 if (!libinput_device_config_dwt_is_available(device))
4627 return device->config.dwt->set_enabled(device, enable);
4631 libinput_device_config_dwt_get_enabled(struct libinput_device *device)
4633 if (!libinput_device_config_dwt_is_available(device))
4636 return device->config.dwt->get_enabled(device);
4640 libinput_device_config_dwt_get_default_enabled(struct libinput_device *device)
4642 if (!libinput_device_config_dwt_is_available(device))
4645 return device->config.dwt->get_default_enabled(device);
4649 libinput_device_config_dwtp_is_available(struct libinput_device *device)
4651 if (!device->config.dwtp)
4654 return device->config.dwtp->is_available(device);
4658 libinput_device_config_dwtp_set_enabled(struct libinput_device *device,
4665 if (!libinput_device_config_dwtp_is_available(device))
4669 return device->config.dwtp->set_enabled(device, enable);
4673 libinput_device_config_dwtp_get_enabled(struct libinput_device *device)
4675 if (!libinput_device_config_dwtp_is_available(device))
4678 return device->config.dwtp->get_enabled(device);
4682 libinput_device_config_dwtp_get_default_enabled(struct libinput_device *device)
4684 if (!libinput_device_config_dwtp_is_available(device))
4687 return device->config.dwtp->get_default_enabled(device);
4691 libinput_device_config_rotation_is_available(struct libinput_device *device)
4693 if (!device->config.rotation)
4696 return device->config.rotation->is_available(device);
4700 libinput_device_config_rotation_set_angle(struct libinput_device *device,
4703 if (!libinput_device_config_rotation_is_available(device))
4710 return device->config.rotation->set_angle(device, degrees_cw);
4714 libinput_device_config_rotation_get_angle(struct libinput_device *device)
4716 if (!libinput_device_config_rotation_is_available(device))
4719 return device->config.rotation->get_angle(device);
4723 libinput_device_config_rotation_get_default_angle(struct libinput_device *device)
4725 if (!libinput_device_config_rotation_is_available(device))
4728 return device->config.rotation->get_default_angle(device);