我試圖使用XLib來捕捉按鍵事件。但由於某些原因,XNextEvent無法正常工作。 我沒有收到任何錯誤,但它看起來像我的程序卡在「XNextEvent」調用線上。 這裏是我的代碼:XNextEvent由於某種原因不起作用
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
using namespace std;
int main()
{
XEvent event;
KeySym key;
char text[255];
Display *dis;
dis = XOpenDisplay(NULL);
while (1) {
XNextEvent(dis, &event);
if (event.type==KeyPress && XLookupString(&event.xkey,text,255,&key,0) == 1) {
if (text[0]=='q') {
XCloseDisplay(dis);
return 0;
}
printf("You pressed the %c key!\n", text[0]);
}
}
return 0;
}
「不工作」 是** **從來沒有一個很好的診斷。發生了什麼 ?是否有錯誤訊息?還是意外的結果?請**編輯**您的問題到精確如何不起作用。 – hivert
@hivert問題很明顯。不需要編輯 –
也許,但我想解釋所以新人如何問好問題很重要。 – hivert