XLib를 사용하여 키 누르기 이벤트를 잡으려고합니다. 하지만 몇 가지 이유로 XNextEvent가 작동하지 않습니다. 오류가 발생하지 않지만 내 프로그램이 "XNextEvent"호출 행에 멈춰있는 것처럼 보입니다. X11 윈도우 시스템이 어떻게 작동하는지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