【发布时间】:2017-01-21 06:33:32
【问题描述】:
我用XGrabKey抓到了一把钥匙:
int mods = 0;
bool ownerevents = true;
XGrabKey(display, MY_KEYCODE, mods, rootwin, ownerevents, GrabModeAsync, GrabModeAsync);
它成功地抓住了钥匙。在我的示例中,MY_KEYCODE 用于密钥 b。所以现在我的事件循环只有在我按下b 键时才会启动。但是,如果我按住 b 键然后按其他键,这些键也会被报告给我的事件循环并且也被阻止,所以暂时“抓住”。我想在KeyPressed 部分尝试XAllowEvents,但它不起作用。
有没有人知道如何在我抓住的钥匙被抓住的情况下让其他钥匙成功通过未抓取?
【问题讨论】:
-
不,这是不可能的。一旦按下被抓取的键,就会抓取整个键盘,直到释放该键。你想做什么?
-
谢谢@n.m。供阅读和评论!当我按下一个键时,应用程序如何发送另一个键。就像我按“e”一样,它应该发送“a”。他们发送到
KeyRelease吗? -
这通常通过重新映射一个键来完成。
-
噢,谢谢@n.m。 !
-
@n.m.请您将这两个 cmets 作为解决方案发布,以便我接受。我想向你表达我的感激之情:)