获取X11中的死键列表

时间:2016-03-09 07:36:24

标签: c keyboard x11

有没有办法检查当前布局中的死键?我正在捕获正在进行的项目的用户输入。我创建了一个键盘上所有键的映射,但似乎没有标志或任何将键定义为死或不死。我在当前代码中使用libxkb

使用

检索布局
KeySym * keysyms = XGetKeyboardMapping(display_, keycode_low, keycode_high - keycode_low + 1, &num_keysym);

1 个答案:

答案 0 :(得分:0)

我知道你需要知道哪个键不能直接产生一个字符,可能是因为你正在编写游戏并且不想让它使用键作为输入,需要按下另一个键来产生一些输出(如果所以,请在问题中提及)

据我所知,不是通过标准的Xlib调用,而且实际上并非没有相应的键。组合完全在Xlib中完成,并且对前端透明。 (毕竟,出于最初目的,它应该尽可能透明才能正常工作)

然而,您可以执行与Xlib相同的操作,并通过以$ HOME / .Xcompose开头的各种 Compose 配置文件进行解析。但这可能是一个单调乏味的过程。

第二个想法,我肯定不会提出以下建议:

您可以为要查找信息的每个键创建合成按键事件并将其提供给 XLookupString 。交出一个清空的XComposeStatus结构。如果结构返回修改,这可能是一个强烈的提示,你找到了一个撰写键。但它也可能意味着服务器无需任何需要修改它.....如果我非常绝望,我可能会尝试。