尝试在 Ubuntu Linux 中构建全局键盘挂钩时出错
Error when trying to build a Global Keyboard Hook in Ubuntu Linux
我正在开发一个代码来获取KeyPress和KeyRelease事件中的键盘输入,但是当我运行程序时没有任何反应,我的代码有什么问题?以及如何获取按下的键值?
void hook()
{
forever
{
XEvent event;
Display *dpy = XOpenDisplay(NULL);
XNextEvent(dpy, &event);
switch (event.type)
{
case KeyPress:
qDebug() << "keypress";
break;
case KeyRelease:
qDebug() << "keyrelease";
break;
}
}
}
阅读有关键盘 X11 事件的更多信息。如果某些 X11 窗口在其事件掩码中设置了一些KeyPressMask
或KeyReleaseMask
位,则只会从该窗口中获取它们。该窗口应InputOnly
创建或InputOutput
您显然正在使用Qt(这是一个好主意)。然后,坚持Qt关键事件。
(如果要捕获所有 X11 键事件,请使用显示器的根窗口。但是你干扰了你的窗口管理器,这是一个坏主意;了解更多关于ICCCM和EWMH的信息)
此外,在终端中运行xev
以了解有关 X11 事件的更多信息
相关文章:
- 物理键盘上的触发器按键
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 调用专用模板时出错"no matching function for call to [...]"
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 如何使用C/C++在MacOSX中获得键盘布局
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 在Google Kick start中提交时出错
- 在c++中访问int到类对象的映射时出错
- 分段错误当我试图运行程序时出错
- 使用dynamic_cast和构造函数时出错
- CHECK(调用)函数在Google Colab中出错
- 用pybind11包装C++抽象类时出错
- 为x86而非x64编译时出错
- 从R调用C++函数并对其进行集成时出错
- 这个函数哪里出错了
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 尝试在 Ubuntu Linux 中构建全局键盘挂钩时出错