You are not logged in.
I'm a fan of Minecraft PvP and I learned mouse double-clicking and techniques connected with it. The only problem is that libinput has it's own debounce time hard-coded, that filters out the double-clicks. I decided to change the src and set debounce time to 0.
I achieved that by changing the
debounce_set_timer*functions to use 0 as value for
DEBOUNCE_TIMEOUT_SPURIOUSin file evdev-debounce.c. Then I built it using official build instructions.
That all went well and I got my double-clicks working perfectly until I got a new PC. When I did the exact same thing on it, it threw this error while executing
ninja -C builddir/:
ninja: Entering directory `builddir/'
[19/127] Compiling C object libinput-debug-gui.p/tools_libinput-debug-gui.c.o
FAILED: libinput-debug-gui.p/tools_libinput-debug-gui.c.o
cc -Ilibinput-debug-gui.p -I. -I.. -I../src -I../include -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/graphene-1.0 -I/usr/lib/graphene-1.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/libevdev-1.0 -I/usr/include/libwacom-1.0 -I/usr/include/gudev-1.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -O0 -g -Wno-unused-parameter -Wmissing-prototypes -Wstrict-prototypes -Wundef -Wlogical-op -Wpointer-arith -Wuninitialized -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough -Wredundant-decls -Wincompatible-pointer-types -Wformat=2 -Wno-missing-field-initializers -Wmissing-declarations -fvisibility=hidden -pthread -mfpmath=sse -msse -msse2 -MD -MQ libinput-debug-gui.p/tools_libinput-debug-gui.c.o -MF libinput-debug-gui.p/tools_libinput-debug-gui.c.o.d -o libinput-debug-gui.p/tools_libinput-debug-gui.c.o -c ../tools/libinput-debug-gui.c
../tools/libinput-debug-gui.c:53:18: fatal error: pointer-constraints-unstable-v1-client-protocol.h: No such file or directory
53 | #include "pointer-constraints-unstable-v1-client-protocol.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[26/126] Compiling C object libinput-test-suite.p/test_litest-device-cyborg-rat-5.c.o
ninja: build stopped: subcommand failed.Both meson (0.62.0) and ninja (1.10.2) are the same versions (latest) as on my previous PC.
Last edited by Froloket64 (2022-03-24 18:49:40)
Offline
In libinput the debounce time is set to 12ms:
const int DEBOUNCE_TIMEOUT_SPURIOUS = ms2us(12);That is at least an order of magnitude lower than a human finger can achieve for a double-click. That is also 3–5 times lower than what Minecraft players seem to be reporting they supposedly can achieve. So it’s unlikely it’s debouncing in libinput that causes you any trouble. If there is any actual problem: you may be hitting a mix of physical limitation of your body and unrealistic expectations. Consider this before wasting time on chasing a ghost.
However, if you still insist: please post your entire PKGBUILD and the complete makepkg log. I just built 1.20.0-1 both with and without modifications to lines 129 and 139: no errors, the package has been built successfully.
Also note that debouncing isn’t there to make your life as a gamer harder: it’s a necessary part of handling physical switches. You may experience misbehavior while using your mouse if you remove that. If the mouse is not doing debouncing internally already, at which point the entire libinput modification makes no sense.
Last edited by mpan (2022-03-24 16:32:28)
Paperclips in avatars? | Sometimes I seem a bit harsh — don’t get offended too easily!
Offline
That is at least an order of magnitude lower than a human finger can achieve for a double-click. That is also 3–5 times lower than what Minecraft players seem to be reporting they supposedly can achieve. So it’s unlikely it’s debouncing in libinput that causes you any trouble. If there is any actual problem: you may be hitting a mix of physical limitation of your body and unrealistic expectations. Consider this before wasting time on chasing a ghost.
Also note that debouncing isn’t there to make your life as a gamer harder: it’s a necessary part of handling physical switches. You may experience misbehavior while using your mouse if you remove that. If the mouse is not doing debouncing internally already, at which point the entire libinput modification makes no sense.
I see what want to say, but indeed I'm getting ~12 CPS butterfly clicking (utilizes double click), compared to ~20 I get with modified build of libinput. Same with drag click (can't get more than 1 here, 20+ on 0 debounce time build). So I know what I'm talking about.
please post your entire PKGBUILD and the complete makepkg log.
Oh, I just realized, I was building with the generic instructions, let me try Arch way real quick.
Offline
OML, Thank you very much, doing the Arch way let me edit the sources and build the package (though it was a bit tough).
My only wonder at this point is the reason why building through just meson and ninja resulted in errors, whereas makepkg built it flawlessly... Also, as I said, on my other PC, generic building did the thing (it was also Arch)
Offline
I see what want to say, but indeed I'm getting ~12 CPS butterfly clicking (utilizes double click), compared to ~20 I get with modified build of libinput.
Both of which are still 4–8× more than 12ms. But that’s not really the point of this thread.
My only wonder at this point is the reason why building through just meson and ninja resulted in errors, whereas makepkg built it flawlessly...
Missing dependencies?
Paperclips in avatars? | Sometimes I seem a bit harsh — don’t get offended too easily!
Offline