最少的库我不确定在哪里寻找这个信息,但我想知道如何获得鼠标输入(或任何隐藏输入)使用最少的非标准库在c。基本上,是否有一个stdio等效于鼠标(和其他输入)在c中的输入?还是有一个库是最小的,并在多个平台上交叉兼容。只要能够将鼠标坐标打印到终端窗口就足够了。如何跟踪鼠标输入使用c
回答
这是一个0非标准库方法。运行/ dev/input/event#存在的任何位置。
#include <linux/input.h>
#include <fcntl.h>
int main(int argc, char **argv)
{
int fd;
if ((fd = open("/dev/input/mice", O_RDONLY)) < 0) {
perror("evdev open");
exit(1);
}
struct input_event ev;
while(1) {
read(fd, &ev, sizeof(struct input_event));
printf("value %d, type %d, code %d\n",ev.value,ev.type,ev.code);
}
return 0;
}
在Windows上,您需要使用Win32 API做一些可怕的事情并挂钩到消息系统中。
总而言之,不,C在这方面没有标准。
SDL会做我相信的诡计。
取决于平台和操作系统。如果您想直接“跟踪”鼠标(或HID)事件,则可能需要编写驱动程序或找到一个驱动程序。驱动程序将监视端口并侦听鼠标数据(消息)。
在事件驱动系统上,您必须订阅才能使用鼠标事件消息。某些操作系统会将消息广播给每个任务(如Windows),而其他操作系统则只会将事件发送给订阅者。
这是一个太接近特定答案的问题。
谢谢,这是一般的,因为我刚开始输入编程,我不知道从哪里开始!更具体地说,我希望尽可能低的司机,而不必写一个。 我感兴趣的是在windows和linux上编程tabletPC输入,但我到处搜索了一个跨平台的方式来做到这一点,我什么都没有想出来。因此,我想写一个(如果不存在)。我希望它低级别,所以它更少依赖于操作系统特定的库。如果你能够回答这个问题,或者指引我朝着正确的方向发现自己,那将是惊人的! – TimE 2010-05-08 04:46:37
@TimE跨平台游戏库已经长时间以最高精度追踪鼠标输入......有些甚至可以访问原始鼠标输入。如果你不想使用它,至少它是一个寻找解决方案的好地方。 GLUT和SDL是开始寻找的好地方,两者都是开源的。祝你好运。 – m0s 2010-05-08 19:15:51
- 1. 如何使用标签跟踪鼠标输入事件
- 2. 跟踪鼠标输入事件
- 3. 跟踪用户鼠标
- 4. 跟踪鼠标光标android
- 5. 使用jquery平滑鼠标跟踪
- 6. jQuery平滑鼠标跟踪
- 7. QT鼠标跟踪QTableWidget
- 8. 的NSView鼠标跟踪
- 9. 跟踪鼠标移动
- 10. 跟踪鼠标停止
- 11. 在linux上使用C跟踪键盘和鼠标事件
- 12. 如何可靠跟踪鼠标进入和离开事件?
- 13. UIWebView跟踪用户输入
- 14. PyQt5鼠标跟踪不起作用
- 15. 在QWidget中跟踪鼠标光标
- 16. 使用jQuery跟踪输入修改?
- 17. 如何跟踪输入参数到.exe?
- 18. 如何转换触摸输入到鼠标输入C#统一?
- 19. 如何使用GDB输出C +程序集跟踪?
- 20. 在clojurescript/reagent/reagi中跟踪鼠标?
- 21. 鼠标跟踪守护进程
- 22. 在DIV元素中跟踪鼠标
- 23. Mutil监视器鼠标跟踪
- 24. 画布上的鼠标跟踪
- 25. 在QGraphicsItem上跟踪鼠标位置
- 26. Android:跟踪鼠标指针移动
- 27. 在网站上跟踪鼠标点击
- 28. QMainWindow无法跟踪鼠标与setMouseTracking()
- 29. 在QMainWindow中选择性跟踪鼠标
- 30. 如何使用1 UITextField跟踪3个输入字符串
这实际上是为我捕获键盘信号:) – LukeN 2010-05-07 22:27:21
这不是跨平台 – 2010-05-07 22:30:40
@klez:我不认为真的有跨平台的方式来做到这一点。 – 2010-05-07 23:15:45