检测Linux C ++上的keydown和keyup事件

检测Linux C ++上的keydown和keyup事件,第1张

概述检测Linux C ++上的keydown和keyup事件

可能重复:


在C中访问击键


在Ubuntu中监视键盘按键

我想在程序中检测每个keydown和keyup事件并logging时间戳(是的,我的意思是keydown和keyup不只是按键)以及按什么键。 我可以通过使用像GTK这样的API来做到这一点,但是我希望尽可能简单和低级,以避免库的开销影响到时间以及编写更less的代码。

我一直在search这一段时间,到目前为止,已经find了很多关于如何在windows上做的东西,这并不能帮助我,因为我正在使用linux系统,以及如何检测linux上的按键,但不keyup keydown。

任何人都可以告诉我什么系统调用,库等,我将需要使用,以捕获linux系统上的命令行程序在C ++中的keydown和keyup事件? 如果你有一个教程或代码示例的链接,将不胜感激。

C#事件处理程序

收听windows Toast /气球通知

用Win32 API编写应用程序事件信息

在windows中集中应用程序更改事件

如何将windows事件日志刷新到磁盘?

列出ETW提供者的事件类

Pyqt车轮事件

哪些事件在UAC提示符上被触发?

pthread窗口事件等效的问题

networkingstream量上的软件中断

你可以阅读原始设备,我没有试过这个,但这个博客文章看起来很有希望: http : //www.thelinuxdaily.com/2010/05/grab-raw-keyboard-input-from-event-device-node- devinputevent /

所以基本上你直接从/ dev / input / *中读取

您可以通过运行sudo cat /dev/input/eventX来验证这个工作,其中X是该目录中列出的事件设备之一(其中一个将是您的键盘..我相信有一个很好的方法sudo cat /dev/input/eventX到哪一个但是你可以通过查看/ dev / input / by-ID /或者直接从这些符号链接中读取来快速找到。)

注意:这会让你随时键盘输入,而不仅仅是当你的窗口焦点。(你的程序甚至不需要运行在一个xterm,甚至是一个pty的事情)。

实际上,如果没有图书馆,你将无法做到这一点。 如果你想要的开销很少,我会建议ncurses 。 如果你绝对必须在没有图书馆的情况下这样做,请看看ncurses如何实现它。 这当然会非常复杂。

我会考虑看看OIS(面向对象的输入系统)库。 它很容易使用,有一个很好的面向对象的设计,它是跨平台的。 有关教程和一些代码,请查看http://www.ogre3d.org/tikiwiki/tiki-index.PHP?page=Using+OIS 。

总结

以上是内存溢出为你收集整理的检测Linux C ++上的keydown和keyup事件全部内容,希望文章能够帮你解决检测Linux C ++上的keydown和keyup事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存