0

我创建了一个 pygtk 程序来监视任何应用程序(即不仅仅是我的应用程序)的键盘状态和鼠标点击。这使用了 Micah Dowty 的 evdev,它基本上监视 /dev/input/event* 的输出并以我可以向用户显示信息的方式解码信息。

该程序非常适用于 USB 键盘和鼠标,但不适用于 USB Wacom(或串行 Wacom),即使以 root 身份运行也是如此。我没有收到任何来自 Wacom 的 /dev/input/* 节点的事件,因为它使用它。不仅是我的 Wacom,播客“Meet the Gimp”(Rolf 和 Philippe)中的人也一无所获。

代码位于http://code.google.com/p/key-mon

要进行测试,您可以运行以下内容:

sudo ./evdev.py /dev/input/event0 

例如,当您移动鼠标或单击键盘时,您应该会看到与 event0 相关联的事件。

4

1 回答 1

0

这是由于 X 完全控制了您的输入设备,您自己无法读取事件。您可能有以下 2 个问题之一:

  1. “笼统”实际上是在获取您的设备。在您的 /var/log/Xorg.0.log 中,您应该看到如下行:

    Stantum MTP USB 控制器:应用 InputClass “evdev touchscreen catchall”

    但当然是 wacom。如果是这样,您可以通过编辑您的来禁用“触摸屏”包罗万象/usr/share/X11/xorg.conf.d/10-evdev.conf,并删除谈论触摸屏的部分。

  2. 也许您适合 Wacom 部分,因此请编辑/usr/share/X11/xorg.conf.d/50-wacom.conf,并删除与您的设备匹配的相应部分。

当然,这两个问题都没有以干净的方式解决,您不能让 X 和内核事件同时工作。(我从来没有找到Wacom的解决方案,如果有人有,请分享!)

于 2011-03-04T00:49:42.280 回答