刚买了一个新鼠标(光荣的模型 o),我可以双击它(我单击一次,单击两次)但是我只能让它在 Windows 上注册两次单击。我做了一些研究,我很确定libinput默认情况下它会阻止双击。有什么办法可以使它不尝试取消双击吗?我知道对于大多数人来说,防止双击很有用,但是我希望能够双击以在 Minecraft 中获得更高的 CPS,而且我从未设法意外获得双击。
只需在评论中重新发布讨论作为答案。
首先,为了避免混淆:OP 没有用于双击的硬件按钮。相反,他们所指的双击是当您以这种特殊方式点击鼠标左键时,它会弹跳并引起 2 次点击。我也可以用我的鼠标重现它。
这几乎从来都不是想要的行为,所以 libinput 有一个去抖动算法,它可以检测并丢弃这种反弹。(只是为了记录:它适用于硬件双击按钮)。所以OP询问他们是否可以在本地禁用它。
这确实可以通过 quirk 子系统实现。在我继续之前,我需要引用文档:
对于临时本地解决方法,libinput 读取
/etc/libinput/local-overrides.quirks文件。用户可以向这个文件添加一个部分来为本地设备添加一个设备怪癖,但要注意任何修改都必须上传,否则它可能随时停止工作。警告:模型怪癖是内部 API,可能随时更改。不保证向后兼容性。本地覆盖应该只在发行版更新 libinput 包之前使用。
所以 quirks 子系统不是一个配置 API。如果你有一个问题可以用一个怪癖解决,这个怪癖很可能需要上游。
话虽如此,放置在/etc/libinput/local-overrides.quirks文件中的以下代码帮助 OP 获得弹跳行为:
[SINOWEALTH Wired Gaming Mouse]
MatchName=SINOWEALTH Wired Gaming Mouse
ModelBouncingKeys=1
Run Code Online (Sandbox Code Playgroud)
鼠标型号名称是libinput list-devices | grep Device输出之一。为此,libinput 需要至少为 1.12.0 版本(对于 OP,它适用于 libinput 1.15.0)。