Lines Matching refs:input

38 udev_seat_create(struct udev_input *input,
42 udev_seat_get_named(struct udev_input *input, const char *seat_name);
77 struct udev_input *input,
89 if (!streq(device_seat, input->seat_id))
104 seat = udev_seat_get_named(input, seat_name);
116 seat = udev_seat_create(input, device_seat, seat_name);
125 log_info(&input->base,
126 "%-7s - not using input device '%s'\n",
133 log_info(&input->base,
134 "%-7s - failed to create input device '%s'\n",
149 device_removed(struct udev_device *udev_device, struct udev_input *input)
156 list_for_each(seat, &input->base.seat_list, base.link) {
169 udev_input_add_devices(struct udev_input *input, struct udev *udev)
177 udev_enumerate_add_match_subsystem(e, "input");
194 log_debug(&input->base,
195 "%-7s - skip unconfigured input device '%s'\n",
202 if (device_added(device, input, NULL) < 0) {
218 struct udev_input *input = data;
222 udev_device = udev_monitor_receive_device(input->udev_monitor);
234 device_added(udev_device, input, NULL);
236 device_removed(udev_device, input);
243 udev_input_remove_devices(struct udev_input *input)
248 list_for_each_safe(seat, &input->base.seat_list, base.link) {
261 struct udev_input *input = (struct udev_input*)libinput;
263 if (!input->udev_monitor)
266 udev_monitor_unref(input->udev_monitor);
267 input->udev_monitor = NULL;
268 libinput_remove_source(&input->base, input->udev_monitor_source);
269 input->udev_monitor_source = NULL;
271 udev_input_remove_devices(input);
277 struct udev_input *input = (struct udev_input*)libinput;
278 struct udev *udev = input->udev;
281 if (input->udev_monitor || !input->seat_id)
284 input->udev_monitor = udev_monitor_new_from_netlink(udev, "udev");
285 if (!input->udev_monitor) {
292 input->udev_monitor, "input", NULL)) {
297 if (udev_monitor_enable_receiving(input->udev_monitor)) {
299 udev_monitor_unref(input->udev_monitor);
300 input->udev_monitor = NULL;
304 fd = udev_monitor_get_fd(input->udev_monitor);
305 input->udev_monitor_source = libinput_add_fd(&input->base,
308 input);
309 if (!input->udev_monitor_source) {
310 udev_monitor_unref(input->udev_monitor);
311 input->udev_monitor = NULL;
315 if (udev_input_add_devices(input, udev) < 0) {
324 udev_input_destroy(struct libinput *input)
326 struct udev_input *udev_input = (struct udev_input*)input;
328 if (input == NULL)
343 udev_seat_create(struct udev_input *input,
351 libinput_seat_init(&seat->base, &input->base,
359 udev_seat_get_named(struct udev_input *input, const char *seat_name)
363 list_for_each(seat, &input->base.seat_list, base.link) {
376 struct udev_input *input = (struct udev_input *)libinput;
382 device_removed(udev_device, input);
383 rc = device_added(udev_device, input, seat_name);
401 struct udev_input *input;
406 input = zalloc(sizeof *input);
408 if (libinput_init(&input->base, interface,
410 libinput_unref(&input->base);
411 free(input);
415 input->udev = udev_ref(udev);
417 return &input->base;
424 struct udev_input *input = (struct udev_input*)libinput;
440 if (input->seat_id != NULL)
450 input->seat_id = safe_strdup(seat_id);
452 if (udev_input_enable(&input->base) < 0)