如何验证 syndaemon 是否在我打字时禁用触摸板?

如何验证 syndaemon 是否在我打字时禁用触摸板?

我以为我已经将 syndaemon 设置为在我输入时禁用触摸板,并在输入后 0.8 秒内禁用。为了更改触摸板设置对话框中硬编码的默认触摸板延迟 2.0 秒,我取消选中“输入时禁用触摸板”,并将“syndaemon -i 0.8 -K -R -t”添加到启动应用程序列表中。现在,大多数情况下,触摸板不会像我希望的那样在我输入时记录点击。但是,有时在输入时,光标仍会跳到文本框中的随机位置,即使我正在输入。我两次击键之间间隔不到 0.8 秒 - 这里可能发生了什么?

为了验证在发生不良行为时 syndaemon 是否使用正确的选项运行,我运行:

$ ps -ef | grep syndaemon
user      1840  1747  0 Sep23 ?        00:00:00 syndaemon -i 0.8 -K -R -t

一切似乎都很好。问题可能出在哪里?我该如何找出 syndaemon 是否是罪魁祸首?

答案1

-t 响应键盘活动,仅禁用点击和滚动,而不是鼠标移动。

请参阅man syndaemon以了解更多信息。

基本上,您已禁用点击和滚动,但未禁用移动。请尝试以下操作:

syndaemon -i 0.8 -K -R

答案2

我发现使 syndaemon 在其当前版本中工作的唯一方法是禁用 XRecord 支持(它似乎根本不起作用),并使用 -m 50(即每 50 毫秒轮询一次)。

所以:

syndaemon -m 50

但是,这似乎会使键盘失去按键功能,并切换到“shift 始终向下”模式等,因此 syndaemon 似乎本质上是无用的。使用触摸板的唯一方法是使用键盘快捷键手动禁用触摸板。

答案3

我也已经被这个问题困扰了一段时间。我在终端中运行

while true; do synclient|grep TouchpadOff; sleep 0.5; done

然后在另一个窗口中输入一些键。我注意到,只要您输入小写字母,它就会输出 TouchpaddOff=1,但大写字母(Shift+字母)不会禁用键盘。使用大写字母时,光标和鼠标总是会跳动。我查看了 syndaemon 源代码,似乎 -k 和 -K 选项是罪魁祸首。如果按下 Shift 键使用大写字母,触摸板可以重新启用。这是一个错误。但解决方法是删除 -k 和 -K

我用

syndaemon -i 0.8 -d -R

并且一切正常。

相关内容