1

据我所知,获得鼠标位置的两种方法是使用libgpm或读取/dev/input/mice文件。但后者只是从最后一个位置返回一个相对位置。所以我的问题是如何通过阅读或其他方式获得绝对鼠标位置。/dev/input/mice

我想通过Cor来实现这个功能C++。任何信息将不胜感激。

4

1 回答 1

2

首先,鼠标设备可能只发送相对运动,因此无法获得绝对位置(只需尝试用手抬起鼠标并将其放在其他地方),除非通过整合运动。

而且几乎所有 Linux GUI 环境都在X11之上,所以它是 X11 服务器(通常是Xorg进程)处理鼠标(它是唯一实际读取的进程/dev/input/mice

然后您需要制作一个 X11 客户端应用程序。看到这个&那个问题。但是你会更好地使用一些现有的工具包库,比如 Qt 或 GTK;参见Qt 中的QMouseEventQWidget::mouseMoveEvent ,以及 Gtk 中的 GtkWidget“motion-notify-event”信号(以及许多其他功能)。

另请参阅此问题

于 2013-01-28T06:09:16.817 回答