所以,你的想法是,X从你的touchpad获取数据,这样你的python代码就不能接收到touchpad信号了,对吧?或者,我可以重复你的话:至少对于某些特定类型的设备,当另一个应用程序正在从该设备读取数据时,该应用程序无法获取/dev/input/event*?在
从理论上讲,由于linux将所有设备都作为一个文件,所以您以只读方式访问文件,而X也以只读方式访问该文件。在
我只是做了另一个实验:我的archlinux上有一个红外线接收器,我用两个ssh控制台连接到系统。我使用两种方式访问IR,即两个应用程序来读取/dev/input/event0文件(event0是我架构中的SF):
1、一段python代码,用evdev
2,一个shell命令:sudo cat/dev/input/event0 | hexdump
你可以把2号视为你的X。如果你推理正确,当我从红外遥控器发送信号时,它们不应该同时从红外(event0)接收数据,对吗?但是,我真的在两个ssh控制台上得到了date(我希望我可以发布图像,但是我是新手,名声太低,不能这么做)。在
所以,我认为这不应该是原因。我想可能是因为你的触摸板本身。你知道,有些设备只能在一个应用程序上工作。e、 例如,键盘只能在活动的应用程序上输入字符,而有些输入方法只是使自己比其他应用程序更活跃,并在处理后重定向。另外,假设你的系统上运行着一个虚拟机,你只使用一个鼠标,如果你在主机桌面上移动指针,会发生什么?虚拟机中的指针会移动吗?反之亦然?在
所以我需要更多关于你的触摸板的信息。如果您的TP只与一个活动应用程序一起工作,恐怕您需要一些类似钩子的方法来在X之前获取touchpad信号,并将其重新发送给X和您的python代码,这可能超出evdev。在