Lines Matching refs:device
214 /* set during device init, used at runtime to delay changes
219 void (*change_scroll_method)(struct evdev_device *device);
227 /* set during device init if we want natural scrolling,
231 /* set during device init to invert direction of
256 /* set during device init if we want left_handed config,
260 void (*change_to_enabled)(struct evdev_device *device);
277 evdev_device(struct libinput_device *device)
279 return container_of(device, struct evdev_device, base);
289 struct evdev_device *device,
295 struct evdev_device *device);
303 /* A new device was added */
304 void (*device_added)(struct evdev_device *device,
307 /* A device was removed */
308 void (*device_removed)(struct evdev_device *device,
311 /* A device was suspended */
312 void (*device_suspended)(struct evdev_device *device,
315 /* A device was resumed */
316 void (*device_resumed)(struct evdev_device *device,
321 void (*post_added)(struct evdev_device *device,
324 /* For touch arbitration, called on the device that should
328 struct evdev_device *device,
337 struct evdev_device *device,
347 struct evdev_device *device,
379 struct udev_device *device);
382 evdev_libinput_context(const struct evdev_device *device)
384 return device->base.seat->libinput;
388 evdev_device_has_model_quirk(struct evdev_device *device,
397 quirks = evdev_libinput_context(device)->quirks;
398 q = quirks_fetch_for_device(quirks, device->udev_device);
406 evdev_transform_absolute(struct evdev_device *device,
410 evdev_transform_relative(struct evdev_device *device,
414 evdev_init_calibration(struct evdev_device *device,
418 evdev_read_calibration_prop(struct evdev_device *device);
421 evdev_read_fuzz_prop(struct evdev_device *device, unsigned int code);
424 evdev_read_switch_reliability_prop(struct evdev_device *device);
427 evdev_init_sendevents(struct evdev_device *device,
431 evdev_device_init_pointer_acceleration(struct evdev_device *device,
435 evdev_touchpad_create(struct evdev_device *device);
438 evdev_mt_touchpad_create(struct evdev_device *device);
441 evdev_tablet_create(struct evdev_device *device);
444 evdev_tablet_pad_create(struct evdev_device *device);
447 evdev_lid_switch_dispatch_create(struct evdev_device *device);
453 evdev_totem_create(struct evdev_device *device);
456 evdev_is_fake_mt_device(struct evdev_device *device);
459 evdev_need_mtdev(struct evdev_device *device);
462 evdev_device_led_update(struct evdev_device *device, enum libinput_led leds);
465 evdev_device_get_keys(struct evdev_device *device, char *keys, size_t size);
468 evdev_device_get_output(struct evdev_device *device);
471 evdev_device_get_sysname(struct evdev_device *device);
474 evdev_device_get_name(struct evdev_device *device);
477 evdev_device_get_id_product(struct evdev_device *device);
480 evdev_device_get_id_vendor(struct evdev_device *device);
483 evdev_device_get_udev_device(struct evdev_device *device);
486 evdev_device_set_default_calibration(struct evdev_device *device,
489 evdev_device_calibrate(struct evdev_device *device,
493 evdev_device_has_capability(struct evdev_device *device,
497 evdev_device_get_size(const struct evdev_device *device,
502 evdev_device_has_button(struct evdev_device *device, uint32_t code);
505 evdev_device_has_key(struct evdev_device *device, uint32_t code);
508 evdev_device_get_touch_count(struct evdev_device *device);
511 evdev_device_has_switch(struct evdev_device *device,
515 evdev_device_tablet_pad_has_key(struct evdev_device *device,
519 evdev_device_tablet_pad_get_num_buttons(struct evdev_device *device);
522 evdev_device_tablet_pad_get_num_rings(struct evdev_device *device);
525 evdev_device_tablet_pad_get_num_strips(struct evdev_device *device);
528 evdev_device_tablet_pad_get_num_mode_groups(struct evdev_device *device);
531 evdev_device_tablet_pad_get_mode_group(struct evdev_device *device,
535 evdev_device_switch_get_state(struct evdev_device *device,
539 evdev_device_transform_x(struct evdev_device *device,
544 evdev_device_transform_y(struct evdev_device *device,
548 evdev_device_suspend(struct evdev_device *device);
551 evdev_device_resume(struct evdev_device *device);
554 evdev_notify_suspended_device(struct evdev_device *device);
557 evdev_notify_resumed_device(struct evdev_device *device);
560 evdev_pointer_notify_button(struct evdev_device *device,
565 evdev_pointer_notify_physical_button(struct evdev_device *device,
571 evdev_init_natural_scroll(struct evdev_device *device);
574 evdev_init_button_scroll(struct evdev_device *device,
578 evdev_set_button_scroll_lock_enabled(struct evdev_device *device,
582 evdev_update_key_down_count(struct evdev_device *device,
587 evdev_notify_axis_legacy_wheel(struct evdev_device *device,
593 evdev_notify_axis_wheel(struct evdev_device *device,
599 evdev_notify_axis_finger(struct evdev_device *device,
604 evdev_notify_axis_continous(struct evdev_device *device,
610 evdev_post_scroll(struct evdev_device *device,
616 evdev_stop_scroll(struct evdev_device *device,
621 evdev_device_remove(struct evdev_device *device);
624 evdev_device_destroy(struct evdev_device *device);
627 evdev_middlebutton_filter_button(struct evdev_device *device,
633 evdev_init_middlebutton(struct evdev_device *device,
638 evdev_middlebutton_get(struct libinput_device *device);
641 evdev_middlebutton_is_available(struct libinput_device *device);
644 evdev_middlebutton_get_default(struct libinput_device *device);
654 evdev_convert_xy_to_mm(const struct evdev_device *device, int x, int y)
658 mm.x = evdev_convert_to_mm(device->abs.absinfo_x, x);
659 mm.y = evdev_convert_to_mm(device->abs.absinfo_y, y);
665 evdev_init_left_handed(struct evdev_device *device,
669 evdev_tablet_has_left_handed(struct evdev_device *device);
672 evdev_to_left_handed(struct evdev_device *device,
675 if (device->left_handed.enabled) {
774 evdev_log_msg(struct evdev_device *device,
782 if (!is_logged(evdev_libinput_context(device), priority))
785 /* Anything info and above is user-visible, use the device name */
789 evdev_device_get_sysname(device),
790 (priority > LIBINPUT_LOG_PRIORITY_DEBUG) ? device->log_prefix_name : "",
797 log_msg_va(evdev_libinput_context(device), priority, buf, args);
805 evdev_log_msg_ratelimit(struct evdev_device *device,
816 if (!is_logged(evdev_libinput_context(device), priority))
823 /* Anything info and above is user-visible, use the device name */
827 evdev_device_get_sysname(device),
828 (priority > LIBINPUT_LOG_PRIORITY_DEBUG) ? device->log_prefix_name : "",
835 log_msg_va(evdev_libinput_context(device), priority, buf, args);
841 evdev_log_msg(device,
873 * Convert the pair of delta coordinates in device space to mm.
876 evdev_device_unit_delta_to_mm(const struct evdev_device* device,
882 if (device->abs.absinfo_x == NULL ||
883 device->abs.absinfo_y == NULL) {
884 log_bug_libinput(evdev_libinput_context(device),
885 "%s: is not an abs device\n",
886 device->devname);
890 absx = device->abs.absinfo_x;
891 absy = device->abs.absinfo_y;
900 * Convert the pair of coordinates in device space to mm. This takes the
904 evdev_device_units_to_mm(const struct evdev_device* device,
910 if (device->abs.absinfo_x == NULL ||
911 device->abs.absinfo_y == NULL) {
912 log_bug_libinput(evdev_libinput_context(device),
913 "%s: is not an abs device\n",
914 device->devname);
918 absx = device->abs.absinfo_x;
919 absy = device->abs.absinfo_y;
928 * Convert the pair of coordinates in mm to device units. This takes the
932 evdev_device_mm_to_units(const struct evdev_device *device,
938 if (device->abs.absinfo_x == NULL ||
939 device->abs.absinfo_y == NULL) {
940 log_bug_libinput(evdev_libinput_context(device),
941 "%s: is not an abs device\n",
942 device->devname);
946 absx = device->abs.absinfo_x;
947 absy = device->abs.absinfo_y;
956 evdev_phys_rect_to_units(const struct evdev_device *device,
962 if (device->abs.absinfo_x == NULL ||
963 device->abs.absinfo_y == NULL) {
964 log_bug_libinput(evdev_libinput_context(device),
965 "%s: is not an abs device\n",
966 device->devname);
970 absx = device->abs.absinfo_x;
971 absy = device->abs.absinfo_y;
982 evdev_device_init_abs_range_warnings(struct evdev_device *device)
987 x = device->abs.absinfo_x;
988 y = device->abs.absinfo_y;
989 width = device->abs.dimensions.x;
990 height = device->abs.dimensions.y;
992 device->abs.warning_range.min.x = x->minimum - 0.05 * width;
993 device->abs.warning_range.min.y = y->minimum - 0.05 * height;
994 device->abs.warning_range.max.x = x->maximum + 0.05 * width;
995 device->abs.warning_range.max.y = y->maximum + 0.05 * height;
998 ratelimit_init(&device->abs.warning_range.range_warn_limit,
1004 evdev_device_check_abs_axis_range(struct evdev_device *device,
1013 min = device->abs.warning_range.min.x;
1014 max = device->abs.warning_range.max.x;
1018 min = device->abs.warning_range.min.y;
1019 max = device->abs.warning_range.max.y;
1026 log_info_ratelimit(evdev_libinput_context(device),
1027 &device->abs.warning_range.range_warn_limit,
1037 struct evdev_device *device;
1044 kbd->device = NULL;