[英]global hotkeys using xlib
我試圖讓我的C應用程序在按下ctrl + k按鈕時執行某些任務(或不確定CTRL SHIFT K),文檔有點兒麻煩,但是我能夠找到一個cpp示例並嘗試模仿碼:
Display* dpy = XOpenDisplay(0);
Window root = DefaultRootWindow(dpy);
XEvent ev;
unsigned int modifiers = ControlMask | ShiftMask;
int keycode = 45;
int pointer_mode = GrabModeAsync;
int keyboard_mode = GrabModeAsync;
XGrabKey(dpy, keycode, modifiers, root, 0, pointer_mode, keyboard_mode);
XSelectInput(dpy, root, KeyPressMask);
while(0)
{
XNextEvent(dpy, &ev);
if (ev.type == KeyPress)
printf("key has been pressed\n");
}
我知道按鍵是由XGrabKey函數捕獲的,xnext事件會讀取事件並將其存儲在ev中,我正在將其與按鍵Xevent類型進行比較,消息未得到打印,我已經嘗試過ctrl + k和shift + k和ctrl + shift + k
您永遠不會調用XNextEvent()
,因為while(0)
循環永遠不會運行。 (您可能是指while(1)
!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.