Lines Matching refs:libinput

37 #include "libinput.h"
38 #include "libinput-private.h"
124 check_event_type(struct libinput *libinput,
148 log_bug_client(libinput,
256 libinput_default_log_func(struct libinput *libinput,
269 fprintf(stderr, "libinput %s: ", prefix);
274 log_msg_va(struct libinput *libinput,
279 if (is_logged(libinput, priority))
280 libinput->log_handler(libinput, priority, format, args);
284 log_msg(struct libinput *libinput,
291 log_msg_va(libinput, priority, format, args);
296 log_msg_ratelimit(struct libinput *libinput,
309 log_msg_va(libinput, priority, format, args);
313 log_msg(libinput,
321 libinput_log_set_priority(struct libinput *libinput,
324 libinput->log_priority = priority;
328 libinput_log_get_priority(const struct libinput *libinput)
330 return libinput->log_priority;
334 libinput_log_set_handler(struct libinput *libinput,
337 libinput->log_handler = log_handler;
344 libinput_post_event(struct libinput *libinput,
353 LIBINPUT_EXPORT struct libinput *
356 return event->device->seat->libinput;
727 struct libinput *libinput = event->base.device->seat->libinput;
736 log_bug_client(libinput, "value requested for unset axis\n");
755 struct libinput *libinput = event->base.device->seat->libinput;
764 log_bug_client(libinput, "value requested for unset axis\n");
782 struct libinput *libinput = event->base.device->seat->libinput;
793 log_bug_client(libinput, "value requested for unset axis\n");
811 struct libinput *libinput = event->base.device->seat->libinput;
820 log_bug_client(libinput, "value requested for unset axis\n");
1813 libinput_add_fd(struct libinput *libinput,
1830 if (epoll_ctl(libinput->epoll_fd, EPOLL_CTL_ADD, fd, &ep) < 0) {
1839 libinput_remove_source(struct libinput *libinput,
1842 epoll_ctl(libinput->epoll_fd, EPOLL_CTL_DEL, source->fd, NULL);
1844 list_insert(&libinput->source_destroy_list, &source->link);
1848 libinput_init(struct libinput *libinput,
1856 libinput->epoll_fd = epoll_create1(EPOLL_CLOEXEC);
1857 if (libinput->epoll_fd < 0)
1860 libinput->events_len = 4;
1861 libinput->events = zalloc(libinput->events_len * sizeof(*libinput->events));
1862 libinput->log_handler = libinput_default_log_func;
1863 libinput->log_priority = LIBINPUT_LOG_PRIORITY_ERROR;
1864 libinput->interface = interface;
1865 libinput->interface_backend = interface_backend;
1866 libinput->user_data = user_data;
1867 libinput->refcount = 1;
1868 list_init(&libinput->source_destroy_list);
1869 list_init(&libinput->seat_list);
1870 list_init(&libinput->device_group_list);
1871 list_init(&libinput->tool_list);
1873 if (libinput_timer_subsys_init(libinput) != 0) {
1874 free(libinput->events);
1875 close(libinput->epoll_fd);
1883 libinput_init_quirks(struct libinput *libinput)
1889 if (libinput->quirks_initialized)
1893 libinput->quirks_initialized = true;
1904 libinput,
1907 log_error(libinput,
1919 libinput->quirks = quirks;
1929 libinput_drop_destroyed_sources(struct libinput *libinput)
1933 list_for_each_safe(source, &libinput->source_destroy_list, link)
1935 list_init(&libinput->source_destroy_list);
1938 LIBINPUT_EXPORT struct libinput *
1939 libinput_ref(struct libinput *libinput)
1941 libinput->refcount++;
1942 return libinput;
1945 LIBINPUT_EXPORT struct libinput *
1946 libinput_unref(struct libinput *libinput)
1954 if (libinput == NULL)
1957 assert(libinput->refcount > 0);
1958 libinput->refcount--;
1959 if (libinput->refcount > 0)
1960 return libinput;
1962 libinput_suspend(libinput);
1964 libinput->interface_backend->destroy(libinput);
1966 while ((event = libinput_get_event(libinput)))
1969 free(libinput->events);
1971 list_for_each_safe(seat, &libinput->seat_list, link) {
1981 &libinput->device_group_list,
1986 list_for_each_safe(tool, &libinput->tool_list, link) {
1990 libinput_timer_subsys_destroy(libinput);
1991 libinput_drop_destroyed_sources(libinput);
1992 quirks_context_unref(libinput->quirks);
1993 close(libinput->epoll_fd);
1994 free(libinput);
2044 open_restricted(struct libinput *libinput,
2047 return libinput->interface->open_restricted(path,
2049 libinput->user_data);
2053 close_restricted(struct libinput *libinput, int fd)
2055 libinput->interface->close_restricted(fd, libinput->user_data);
2070 struct libinput *libinput,
2076 seat->libinput = libinput;
2081 list_insert(&libinput->seat_list, &seat->link);
2125 LIBINPUT_EXPORT struct libinput *
2128 return seat->libinput;
2180 libinput_get_fd(struct libinput *libinput)
2182 return libinput->epoll_fd;
2186 libinput_dispatch(struct libinput *libinput)
2197 libinput->dispatch_time = libinput_now(libinput);
2198 else if (libinput->dispatch_time)
2199 libinput->dispatch_time = 0;
2201 count = epoll_wait(libinput->epoll_fd, ep, ARRAY_LENGTH(ep), 0);
2213 libinput_drop_destroyed_sources(libinput);
2300 struct libinput *libinput = device->seat->libinput;
2302 libinput_post_event(libinput, event);
2313 struct libinput *libinput = device->seat->libinput;
2315 if (libinput->last_event_time > time) {
2316 log_bug_libinput(device->seat->libinput,
2321 libinput->last_event_time = time;
2329 libinput_post_event(device->seat->libinput, event);
2401 log_bug_libinput(device->seat->libinput,
3131 libinput_post_event(struct libinput *libinput,
3134 struct libinput_event **events = libinput->events;
3135 size_t events_len = libinput->events_len;
3136 size_t events_count = libinput->events_count;
3141 log_debug(libinput, "Queuing %s\n", event_type_to_str(event->type));
3151 log_error(libinput,
3159 if (libinput->events_count > 0 && libinput->events_in == 0) {
3160 libinput->events_in = libinput->events_len;
3161 } else if (libinput->events_count > 0 &&
3162 libinput->events_out >= libinput->events_in) {
3163 move_len = libinput->events_len - libinput->events_out;
3166 events + libinput->events_out,
3168 libinput->events_out = new_out;
3171 libinput->events = events;
3172 libinput->events_len = events_len;
3178 libinput->events_count = events_count;
3179 events[libinput->events_in] = event;
3180 libinput->events_in = (libinput->events_in + 1) % libinput->events_len;
3184 libinput_get_event(struct libinput *libinput)
3188 if (libinput->events_count == 0)
3191 event = libinput->events[libinput->events_out];
3192 libinput->events_out =
3193 (libinput->events_out + 1) % libinput->events_len;
3194 libinput->events_count--;
3200 libinput_next_event_type(struct libinput *libinput)
3204 if (libinput->events_count == 0)
3207 event = libinput->events[libinput->events_out];
3212 libinput_set_user_data(struct libinput *libinput,
3215 libinput->user_data = user_data;
3219 libinput_get_user_data(struct libinput *libinput)
3221 return libinput->user_data;
3225 libinput_resume(struct libinput *libinput)
3227 return libinput->interface_backend->resume(libinput);
3231 libinput_suspend(struct libinput *libinput)
3233 libinput->interface_backend->suspend(libinput);
3248 LIBINPUT_EXPORT struct libinput *
3300 struct libinput *libinput = device->seat->libinput;
3305 return libinput->interface_backend->device_change_seat(device,
3778 libinput_device_group_create(struct libinput *libinput,
3788 list_insert(&libinput->device_group_list, &group->link);
3794 libinput_device_group_find_group(struct libinput *libinput,
3799 list_for_each(g, &libinput->device_group_list, link) {
4733 libinput_libwacom_ref(struct libinput *li)
4754 libinput_libwacom_unref(struct libinput *li)