Button debouncing does not work with my "E-Signal USB Gaming Mouse" (ZeleSouris)
Summary
Accidental double clicks are not filtered out by libinput of a defective mouse .
Here are the debug events for a *simple click":
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
-event23 POINTER_BUTTON +9.380s BTN_LEFT (272) pressed, seat count: 1
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DELAYING
event23 - debounce state: DEBOUNCE_STATE_IS_UP_DELAYING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
event23 POINTER_BUTTON +9.400s BTN_LEFT (272) released, seat count: 0
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
event23 POINTER_BUTTON +9.422s BTN_LEFT (272) pressed, seat count: 1
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
event23 POINTER_BUTTON +9.474s BTN_LEFT (272) released, seat count: 0
event23 - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event23 - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
and here another click:
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
-event23 POINTER_BUTTON +78.562s BTN_LEFT (272) pressed, seat count: 1
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DELAYING
event23 - debounce state: DEBOUNCE_STATE_IS_UP_DELAYING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
event23 POINTER_BUTTON +78.584s BTN_LEFT (272) released, seat count: 0
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
event23 POINTER_BUTTON +78.605s BTN_LEFT (272) pressed, seat count: 1
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
event23 POINTER_BUTTON +78.710s BTN_LEFT (272) released, seat count: 0
event23 - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event23 - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
Steps to reproduce
Normal clicks, 10% of the time maybe.
Required information
- libinput version: 1.16.4-3
- hardware information: E-Signal USB Gaming Mouse
-
libinput record
output: record.yml