【问题标题】:Parse Xkb layout file解析 Xkb 布局文件
【发布时间】:2016-07-17 16:07:56
【问题描述】:

对于我正在处理的项目,我需要打开 Xkb 布局文件 * 并将密钥信息存储在内存中。那是;存储每个键映射到哪个键符。有人知道 C++ 域中的 API 可以完成这项工作吗?我找到了this,但那是 Python。

示例

考虑布局的前几行,英语(美国)...

default  partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {

    name[Group1]= "English (US)";

    key <TLDE> {    [     grave,    asciitilde  ]   };
    key <AE01> {    [     1,    exclam      ]   };
    key <AE02> {    [     2,    at      ]   };

...我想为布局“英语(美国)”存储它,键 TLDE 持有“grave”和“asciitilde”,键 AE01 持有“1”和“exclam”,键 AE02 持有'在'。

* 在 Ubuntu 中,Xkb 布局文件存储在:/usr/share/X11/xkb/symbols

【问题讨论】:

    标签: c++ linux xorg


    【解决方案1】:

    我非常怀疑您是否会找到一个 C++ 库来解析该文件。您最好的选择是 xorg 代码中某处的 C 函数。但你确定那是你想做的吗?如果您想知道当前在运行的服务器中是如何定义密钥的,最好询问服务器。 X肯定有一个枚举键盘定义的函数吗?

    【讨论】:

    • 嗯.. 是的,获取当前布局也可以(我只需要加载每个布局一次 :))。但是,我不知道是哪个函数,知道吗?
    • 我找到了一个功能,XkbGetKeyboard()。这个问题有一个很好的例子来说明如何使用它:stackoverflow.com/questions/10661998/…
    猜你喜欢
    • 1970-01-01
    • 2013-03-23
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多