我使用libinput为我的轨迹球启用“按钮滚动”,其中按住一个特定的按钮向下会导致球的运动转化为滚动运动。
xinput set-prop $TRACKBALL_ID "libinput Scroll Method Enabled" 0, 0, 1
xinput set-prop $TRACKBALL_ID "libinput Button Scrolling Button" 8然而,在按下按钮和滚动转换开始之间可能有几百毫秒的延迟。时间表是这样的:
+---+---+-------
^ ^ ^
| | +-- scrolling starts
| +-- start moving ball
+-- button down当我开始移动球时,这并不重要--关键是在“按钮向下”和“好的,准备将运动转换为滚动”之间有一个固定的延迟。
这种延迟似乎是为了启用双模式按钮而存在的。如果我快速按下并释放按钮,它的正常功能(浏览器“后退”按钮)就会执行。
(有趣的是,即使在滚动输出开始之前,只要按下按钮,光标就会被呈现为静止的。)
有办法配置这个延迟吗?如果有必要的话,我很乐意牺牲双模式的使用。即使不是可配置的,谁定义了这个常量,在哪里?也许我能从源头上改变它。
发布于 2022-02-24 15:48:14
您可以更改@henrebotha突出显示的值,并编译libinput,以达到预期的效果。
这个延迟让我很沮丧,所以我修改了DEFAULT_BUTTON_SCROLL_TIMEOUT常量(在源代码这里中找到并编译了),这似乎解决了这个问题。在过去的一个小时里一直在测试,没有观察到任何奇怪的行为。
我跟随着此页的脚步。做任何事都像我以前有问题一样.
sudo pip3 install meson。sudo apt-get install ninja-build。sudo apt-get build-dep libinput。git clone https://gitlab.freedesktop.org/libinput/libinput。cd libinput。./src/evdev.c:53编辑到您想要的时间(50对我有好处)。即从#define DEFAULT_BUTTON_SCROLL_TIMEOUT ms2us(200)到#define DEFAULT_BUTTON_SCROLL_TIMEOUT ms2us(50)。sudo meson --prefix=/usr builddir/。sudo ninja -C builddir/。sudo ninja -C builddir/ install。这样就行了。
发布于 2019-02-11 15:15:32
在/src/evdev.c:53 (Git提交df527b07b47f5f512db48f0c30c76137d173e230)的libinput repo中找到了硬编码的常量:
#define DEFAULT_BUTTON_SCROLL_TIMEOUT ms2us(200)可悲的是,这意味着它是不可配置的。
https://unix.stackexchange.com/questions/499959
复制相似问题