在Linux中仅使用修饰符注册热键
我正在使用Linux X11图形系统在我的程序中设置热键。问题是我不知道如何设置热键组合,如Ctrl+Alt和Ctrl+Shift,即没有任何键,只有修改器。我试着这样做:在Linux中仅使用修饰符注册热键,linux,x11,hotkeys,Linux,X11,Hotkeys,我正在使用Linux X11图形系统在我的程序中设置热键。问题是我不知道如何设置热键组合,如Ctrl+Alt和Ctrl+Shift,即没有任何键,只有修改器。我试着这样做: KeyCode key = XKeysymToKeycode(display, 0); //no key code XGrabKey(display, key, ControlMask | ShiftMask, grabWin, true, GrabModeAsync, GrabModeAsync); 但它不起作用。然而,
KeyCode key = XKeysymToKeycode(display, 0); //no key code
XGrabKey(display, key, ControlMask | ShiftMask, grabWin, true, GrabModeAsync, GrabModeAsync);
但它不起作用。然而,它是这样工作的(有点):
我不喜欢这个解决方案,因为:
KeyCode key = XKeysymToKeycode(display, XK_Alt_L); //Alt key
XGrabKey(display, key, ControlMask, grabWin, true, GrabModeAsync, GrabModeAsync);