所以我有一個標準的窗口,Xlib中,處理事件的創建:的xlib - 打印事件名稱
while (keep_running){
XNextEvent (display, &event);
printf("event\n");
}
現在,它似乎並沒有被調用暴露事件,所以我不能夠繪製窗戶。我可以通過印刷聲明看到有一些事件被解僱,我想知道他們是什麼事件。
所以基本上我的問題是,我如何獲取事件名稱來打印它?
我還在學習C,所以任何幫助appriciated!
所以我有一個標準的窗口,Xlib中,處理事件的創建:的xlib - 打印事件名稱
while (keep_running){
XNextEvent (display, &event);
printf("event\n");
}
現在,它似乎並沒有被調用暴露事件,所以我不能夠繪製窗戶。我可以通過印刷聲明看到有一些事件被解僱,我想知道他們是什麼事件。
所以基本上我的問題是,我如何獲取事件名稱來打印它?
我還在學習C,所以任何幫助appriciated!
,所以我不完全同意他們的設計決定不服的,但它可能是由30年前,所以現在還不是星期一早晨四分衛的時間...
類型是一個瘋狂的聯盟:
typedef union _XEvent {
int type; /* must not be changed */
XAnyEvent xany;
XKeyEvent xkey;
XButtonEvent xbutton;
XMotionEvent xmotion;
XCrossingEvent xcrossing;
XFocusChangeEvent xfocus;
XExposeEvent xexpose;
XGraphicsExposeEvent xgraphicsexpose;
XNoExposeEvent xnoexpose;
XVisibilityEvent xvisibility;
XCreateWindowEvent xcreatewindow;
XDestroyWindowEvent xdestroywindow;
XUnmapEvent xunmap;
XMapEvent xmap;
XMapRequestEvent xmaprequest;
XReparentEvent xreparent;
XConfigureEvent xconfigure;
XGravityEvent xgravity;
XResizeRequestEvent xresizerequest;
XConfigureRequestEvent xconfigurerequest;
XCirculateEvent xcirculate;
XCirculateRequestEvent xcirculaterequest;
XPropertyEvent xproperty;
XSelectionClearEvent xselectionclear;
XSelectionRequestEvent xselectionrequest;
XSelectionEvent xselection;
XColormapEvent xcolormap;
XClientMessageEvent xclient;
XMappingEvent xmapping;
XErrorEvent xerror;
XKeymapEvent xkeymap;
long pad[24];
} Event;
,所以你必須首先使用類型,以確定正在使用哪個事件:
if(event.type == KeyPress)
{
printf("keypress\n");
// now you know the type you can use the specific fields from `XKeyEvent xkey`...
}
,或者你可以只登錄類型
printf("event type = (%d)\n",event.type);
的工會的工作,因爲每個其他可能的元素也有類型爲第一要素,所以他們都排隊在同一地址...
可能有一個函數來獲取名稱從事件類型int ,但我沒有看到文件提供的人n ... –
剛開始使用我的Virtualbox來試試這個..你能不能介紹一下這個文檔的位置?我剛剛拼湊起來,因此我從隨機網站上找到答案和教程,因爲我找不到任何文檔 –
請不要告訴我這些文檔是http://www.x.org/docs/X11/xlib.pdf如果他們是,他們需要升級糟糕的大聲笑 –
這都將是約xilb,因爲有AREN」 (C)中的任何類(作爲一個構造)... printf()也使用格式字符串和參數列表,你可以「添加」(連接加法運算符)字符串在一起 –
@GradyPlayer啊,謝謝,將編輯問題 –
我的意思是你可以_not_不添加字符串在一起...從手機UI的評論從來不是一個好主意:) –