Lines Matching refs:device

81 middlebutton_state_error(struct evdev_device *device,
84 evdev_log_bug_libinput(device,
87 middlebutton_state_to_str(device->middlebutton.state));
91 middlebutton_timer_set(struct evdev_device *device, uint64_t now)
93 libinput_timer_set(&device->middlebutton.timer,
98 middlebutton_timer_cancel(struct evdev_device *device)
100 libinput_timer_cancel(&device->middlebutton.timer);
104 middlebutton_set_state(struct evdev_device *device,
111 middlebutton_timer_set(device, now);
112 device->middlebutton.first_event_time = now;
122 middlebutton_timer_cancel(device);
126 device->middlebutton.state = state;
130 middlebutton_post_event(struct evdev_device *device,
135 evdev_pointer_notify_button(device,
142 evdev_middlebutton_idle_handle_event(struct evdev_device *device,
148 middlebutton_set_state(device, MIDDLEBUTTON_LEFT_DOWN, time);
151 middlebutton_set_state(device, MIDDLEBUTTON_RIGHT_DOWN, time);
158 middlebutton_state_error(device, event);
168 evdev_middlebutton_ldown_handle_event(struct evdev_device *device,
174 middlebutton_state_error(device, event);
177 middlebutton_post_event(device, time,
180 middlebutton_set_state(device, MIDDLEBUTTON_MIDDLE, time);
183 middlebutton_post_event(device, time,
186 middlebutton_set_state(device,
191 middlebutton_state_error(device, event);
194 middlebutton_post_event(device,
195 device->middlebutton.first_event_time,
198 middlebutton_post_event(device, time,
201 middlebutton_set_state(device, MIDDLEBUTTON_IDLE, time);
204 middlebutton_post_event(device,
205 device->middlebutton.first_event_time,
208 middlebutton_set_state(device,
213 middlebutton_state_error(device, event);
221 evdev_middlebutton_rdown_handle_event(struct evdev_device *device,
227 middlebutton_post_event(device, time,
230 middlebutton_set_state(device, MIDDLEBUTTON_MIDDLE, time);
233 middlebutton_state_error(device, event);
236 middlebutton_post_event(device,
237 device->middlebutton.first_event_time,
240 middlebutton_set_state(device,
245 middlebutton_post_event(device,
246 device->middlebutton.first_event_time,
249 middlebutton_post_event(device, time,
252 middlebutton_set_state(device, MIDDLEBUTTON_IDLE, time);
255 middlebutton_state_error(device, event);
258 middlebutton_post_event(device,
259 device->middlebutton.first_event_time,
262 middlebutton_set_state(device,
267 middlebutton_state_error(device, event);
275 evdev_middlebutton_middle_handle_event(struct evdev_device *device,
282 middlebutton_state_error(device, event);
285 middlebutton_post_event(device, time,
288 middlebutton_set_state(device, MIDDLEBUTTON_IGNORE_LR, time);
291 middlebutton_post_event(device, time,
294 middlebutton_set_state(device,
299 middlebutton_post_event(device, time,
302 middlebutton_set_state(device,
307 middlebutton_state_error(device, event);
310 middlebutton_state_error(device, event);
318 evdev_middlebutton_lup_pending_handle_event(struct evdev_device *device,
324 middlebutton_state_error(device, event);
327 middlebutton_post_event(device, time,
330 middlebutton_set_state(device, MIDDLEBUTTON_MIDDLE, time);
333 middlebutton_set_state(device, MIDDLEBUTTON_IGNORE_L, time);
336 middlebutton_state_error(device, event);
339 middlebutton_set_state(device, MIDDLEBUTTON_IDLE, time);
342 middlebutton_state_error(device, event);
345 middlebutton_state_error(device, event);
353 evdev_middlebutton_rup_pending_handle_event(struct evdev_device *device,
359 middlebutton_post_event(device, time,
362 middlebutton_set_state(device, MIDDLEBUTTON_MIDDLE, time);
365 middlebutton_state_error(device, event);
368 middlebutton_set_state(device, MIDDLEBUTTON_IGNORE_R, time);
371 middlebutton_set_state(device, MIDDLEBUTTON_IDLE, time);
374 middlebutton_state_error(device, event);
377 middlebutton_state_error(device, event);
380 middlebutton_state_error(device, event);
388 evdev_middlebutton_passthrough_handle_event(struct evdev_device *device,
400 middlebutton_state_error(device, event);
403 middlebutton_set_state(device, MIDDLEBUTTON_IDLE, time);
411 evdev_middlebutton_ignore_lr_handle_event(struct evdev_device *device,
418 middlebutton_state_error(device, event);
423 middlebutton_set_state(device, MIDDLEBUTTON_IGNORE_L, time);
426 middlebutton_set_state(device, MIDDLEBUTTON_IGNORE_R, time);
429 middlebutton_state_error(device, event);
432 middlebutton_state_error(device, event);
440 evdev_middlebutton_ignore_l_handle_event(struct evdev_device *device,
446 middlebutton_state_error(device, event);
454 middlebutton_set_state(device,
460 middlebutton_state_error(device, event);
467 evdev_middlebutton_ignore_r_handle_event(struct evdev_device *device,
475 middlebutton_state_error(device, event);
480 middlebutton_set_state(device,
495 evdev_middlebutton_handle_event(struct evdev_device *device,
502 current = device->middlebutton.state;
506 rc = evdev_middlebutton_idle_handle_event(device, time, event);
509 rc = evdev_middlebutton_ldown_handle_event(device, time, event);
512 rc = evdev_middlebutton_rdown_handle_event(device, time, event);
515 rc = evdev_middlebutton_middle_handle_event(device, time, event);
518 rc = evdev_middlebutton_lup_pending_handle_event(device,
523 rc = evdev_middlebutton_rup_pending_handle_event(device,
528 rc = evdev_middlebutton_passthrough_handle_event(device,
533 rc = evdev_middlebutton_ignore_lr_handle_event(device,
538 rc = evdev_middlebutton_ignore_l_handle_event(device,
543 rc = evdev_middlebutton_ignore_r_handle_event(device,
548 evdev_log_bug_libinput(device,
554 evdev_log_debug(device,
558 middlebutton_state_to_str(device->middlebutton.state),
565 evdev_middlebutton_apply_config(struct evdev_device *device)
567 if (device->middlebutton.want_enabled ==
568 device->middlebutton.enabled)
571 if (device->middlebutton.button_mask != 0)
574 device->middlebutton.enabled = device->middlebutton.want_enabled;
578 evdev_middlebutton_filter_button(struct evdev_device *device,
589 if (!device->middlebutton.enabled)
615 btnbit >= sizeof(device->middlebutton.button_mask) * 8) {
616 evdev_log_bug_libinput(device,
623 rc = evdev_middlebutton_handle_event(device, time, event);
625 old_mask = device->middlebutton.button_mask;
627 device->middlebutton.button_mask |= bit(btnbit);
629 device->middlebutton.button_mask &= ~bit(btnbit);
631 if (old_mask != device->middlebutton.button_mask &&
632 device->middlebutton.button_mask == 0) {
633 evdev_middlebutton_handle_event(device,
636 evdev_middlebutton_apply_config(device);
645 struct evdev_device *device = evdev_device(data);
647 evdev_middlebutton_handle_event(device, now, MIDDLEBUTTON_EVENT_TIMEOUT);
651 evdev_middlebutton_is_available(struct libinput_device *device)
657 evdev_middlebutton_set(struct libinput_device *device,
660 struct evdev_device *evdev = evdev_device(device);
679 evdev_middlebutton_get(struct libinput_device *device)
681 struct evdev_device *evdev = evdev_device(device);
689 evdev_middlebutton_get_default(struct libinput_device *device)
691 struct evdev_device *evdev = evdev_device(device);
699 evdev_init_middlebutton(struct evdev_device *device,
708 evdev_device_get_sysname(device));
709 libinput_timer_init(&device->middlebutton.timer,
710 evdev_libinput_context(device),
713 device);
714 device->middlebutton.enabled_default = enable;
715 device->middlebutton.want_enabled = enable;
716 device->middlebutton.enabled = enable;
721 device->middlebutton.config.available = evdev_middlebutton_is_available;
722 device->middlebutton.config.set = evdev_middlebutton_set;
723 device->middlebutton.config.get = evdev_middlebutton_get;
724 device->middlebutton.config.get_default = evdev_middlebutton_get_default;
725 device->base.config.middle_emulation = &device->middlebutton.config;