From fa91c984b295189b50f9bb85224cc4975378005d Mon Sep 17 00:00:00 2001 From: Raheman Vaiya Date: Mon, 28 Nov 2022 04:08:43 -0500 Subject: [PATCH] Fix mouse button transposition bug (#385) --- src/vkbd/uinput.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/vkbd/uinput.c b/src/vkbd/uinput.c index b138941..7231f23 100644 --- a/src/vkbd/uinput.c +++ b/src/vkbd/uinput.c @@ -191,6 +191,18 @@ void write_key_event(const struct vkbd *vkbd, uint8_t code, int state) */ if (is_btn) { fd = vkbd->pfd; + + /* + * Give key events preceding a mouse click + * a chance to propagate to avoid event + * order transposition. A bit kludegy, + * but better than waiting for all events + * to propagate and then checking them + * on re-entry. + * + * TODO: fixme (maybe) + */ + usleep(1000); } ev.value = state;