我有一台触摸屏笔记本电脑,每当我触摸屏幕时,我都想隐藏指针。我知道像解杂乱和startx -nocursor这样的解决方案,但是我希望指针能够动态地隐藏/显示,如果我使用触摸屏就隐藏起来,当我使用硬件鼠标时显示。
我考虑过制作两个独立指针,并将上述两种解决方案中的一种应用于触摸屏指针,但这两种解决方案都没有提到如何瞄准单个指针,使用多个指针会使事情变得很奇怪,这不会隐藏硬件鼠标光标。
我认为,我可以最合理地这样做,比如这,跟踪当前的输入机制,并在使用触摸屏时执行xinput -cursor [transparent cursor],每当使用普通鼠标时执行xinput -cursor [normal cursor]。
不过,我看了xinput,看起来因为硬件鼠标和触摸屏都被同一个指针占用,所以它们都在xev中注册相同的事件,所以我不太确定从哪里可以得到区分触摸和鼠标的所需信息。有可能吗?
发布于 2015-09-13 11:48:24
你可以用
若要使用,请安装
sudo apt-get install unclutter那就运行它
unclutter -idle 0.01 -root请注意,空闲后的数字意味着隐藏之前的时间。在这种情况下,它的设置为1/100秒。您可以尝试将其更改为总是隐藏的值。
这将隐藏光标,当你不移动它。我相信也有一个选择,完全隐藏它。
发布于 2019-06-14 20:42:44
有一个现在可用的解杂乱修复工具的分叉。此版本添加了一个-touch选项,用于每当检测到触摸输入时自动隐藏光标。(最初的解杂乱-xfixes存储库是这里)
需要注意的一点是,它仍然包括在指定时间段后隐藏游标的行为。您只需将--timeout选项设置为非常高的值即可。
这对你来说应该很好。在我的例子中,我有一个外部附加的触摸屏,当我移动回常规监视器时,光标将在触摸屏上,所以我必须将它从我触摸的位置移回监视器。好的是,在我开始移动鼠标后,光标就会显示出来,所以我知道它在哪里。
这个选项的一个很好的好处是,如果我愿意的话,我仍然可以像普通鼠标一样在触摸屏上使用鼠标,但是当我不想的时候就隐藏它。
发布于 2015-10-20 09:59:12
我想,当你没有鼠标的时候,你会使用触摸屏,当你想要使用它的时候,你可以在系统中插入一个。在这种情况下,可以使用udev规则相应地管理指针:
ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/usr/bin/xinput -cursor [transparent cursor]", RUN+="/usr/bin/xinput -cursor [normal cursor]"用来区分鼠标的条件是从这个答案借来的。
请记住,单个应用程序可以自由地动态地重新定义游标,因此当您将游标窗口悬停时,您的游标可能再次变得可见。如果希望将所有游标隐藏在任何地方,则可以启动/停止unclutter:
ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/bin/sh -c unclutter&", RUN+="/usr/bin/killall unclutter"就我个人而言,当鼠标被插入时,我也会完全禁用触摸屏,这样当您期望鼠标跟随鼠标时,意外地触摸它不会干扰光标。
https://unix.stackexchange.com/questions/203230
复制相似问题