Lines Matching refs:fallback
26 #include "evdev-fallback.h"
106 log_debounce_bug(struct fallback_dispatch *fallback, enum debounce_event event)
108 evdev_log_bug_libinput(fallback->device,
111 debounce_state_to_str(fallback->debounce.state));
116 debounce_set_state(struct fallback_dispatch *fallback,
122 fallback->debounce.state = new_state;
126 debounce_set_timer(struct fallback_dispatch *fallback,
131 libinput_timer_set(&fallback->debounce.timer,
136 debounce_set_timer_short(struct fallback_dispatch *fallback,
141 libinput_timer_set(&fallback->debounce.timer_short,
146 debounce_cancel_timer(struct fallback_dispatch *fallback)
148 libinput_timer_cancel(&fallback->debounce.timer);
152 debounce_cancel_timer_short(struct fallback_dispatch *fallback)
154 libinput_timer_cancel(&fallback->debounce.timer_short);
158 debounce_enable_spurious(struct fallback_dispatch *fallback)
160 if (fallback->debounce.spurious_enabled)
161 evdev_log_bug_libinput(fallback->device,
164 fallback->debounce.spurious_enabled = true;
165 evdev_log_info(fallback->device,
172 debounce_notify_button(struct fallback_dispatch *fallback,
175 struct evdev_device *device = fallback->device;
176 unsigned int code = fallback->debounce.button_code;
177 uint64_t time = fallback->debounce.button_time;
181 fallback_notify_physical_button(fallback, device, time, code, state);
185 debounce_is_up_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
189 fallback->debounce.button_time = time;
190 debounce_set_timer(fallback, time);
191 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN_WAITING);
192 debounce_notify_button(fallback,
198 log_debounce_bug(fallback, event);
206 debounce_is_down_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
210 log_debounce_bug(fallback, event);
213 fallback->debounce.button_time = time;
214 debounce_set_timer(fallback, time);
215 debounce_set_timer_short(fallback, time);
216 if (fallback->debounce.spurious_enabled) {
217 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP_DELAYING_SPURIOUS);
219 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS);
220 debounce_notify_button(fallback,
226 log_debounce_bug(fallback, event);
234 debounce_is_down_waiting_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
238 log_debounce_bug(fallback, event);
241 debounce_set_timer(fallback, time);
242 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP_DELAYING);
245 fallback->debounce.button_time = time;
248 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN);
251 log_debounce_bug(fallback, event);
254 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN);
260 debounce_is_up_delaying_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
264 debounce_set_timer(fallback, time);
265 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN_WAITING);
269 log_debounce_bug(fallback, event);
273 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP);
274 debounce_notify_button(fallback,
281 debounce_is_up_delaying_spurious_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
285 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN);
286 debounce_cancel_timer(fallback);
287 debounce_cancel_timer_short(fallback);
291 log_debounce_bug(fallback, event);
294 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP_WAITING);
295 debounce_notify_button(fallback,
299 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP);
300 debounce_notify_button(fallback,
307 debounce_is_up_detecting_spurious_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
311 debounce_set_timer(fallback, time);
312 debounce_set_timer_short(fallback, time);
315 fallback->debounce.button_time = time;
316 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN_DETECTING_SPURIOUS);
319 log_debounce_bug(fallback, event);
322 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP);
325 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP_WAITING);
328 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP);
334 debounce_is_down_detecting_spurious_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
338 log_debounce_bug(fallback, event);
341 debounce_set_timer(fallback, time);
342 debounce_set_timer_short(fallback, time);
343 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS);
346 debounce_cancel_timer(fallback);
347 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN);
348 debounce_enable_spurious(fallback);
349 debounce_notify_button(fallback,
354 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN);
355 debounce_notify_button(fallback,
362 debounce_is_up_waiting_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
366 debounce_set_timer(fallback, time);
369 fallback->debounce.button_time = time;
370 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN_DELAYING);
374 log_debounce_bug(fallback, event);
378 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP);
384 debounce_is_down_delaying_handle_event(struct fallback_dispatch *fallback, enum debounce_event event, uint64_t time)
388 log_debounce_bug(fallback, event);
391 debounce_set_timer(fallback, time);
392 debounce_set_state(fallback, DEBOUNCE_STATE_IS_UP_WAITING);
395 log_debounce_bug(fallback, event);
399 debounce_set_state(fallback, DEBOUNCE_STATE_IS_DOWN);
400 debounce_notify_button(fallback,
407 debounce_disabled_handle_event(struct fallback_dispatch *fallback,
413 fallback->debounce.button_time = time;
414 debounce_notify_button(fallback,
418 fallback->debounce.button_time = time;
419 debounce_notify_button(fallback,
424 log_debounce_bug(fallback, event);
432 debounce_handle_event(struct fallback_dispatch *fallback,
436 enum debounce_state current = fallback->debounce.state;
439 debounce_cancel_timer(fallback);
440 debounce_cancel_timer_short(fallback);
445 debounce_is_up_handle_event(fallback, event, time);
448 debounce_is_down_handle_event(fallback, event, time);
451 debounce_is_down_waiting_handle_event(fallback, event, time);
454 debounce_is_up_delaying_handle_event(fallback, event, time);
457 debounce_is_up_delaying_spurious_handle_event(fallback, event, time);
460 debounce_is_up_detecting_spurious_handle_event(fallback, event, time);
463 debounce_is_down_detecting_spurious_handle_event(fallback, event, time);
466 debounce_is_up_waiting_handle_event(fallback, event, time);
469 debounce_is_down_delaying_handle_event(fallback, event, time);
472 debounce_disabled_handle_event(fallback, event, time);
476 evdev_log_debug(fallback->device,
480 debounce_state_to_str(fallback->debounce.state));