keyboard - 使用 XCB 获取键盘布局和按键符号

标签 keyboard xcb

我正在为 Linux 创建一个屏幕键盘,集成在一个简单的窗口管理器中。我目前正在使用 XCB,现在我想制作假击键。使用 xtest 扩展一切工作正常,除了我无法从我想要放置的键符中获取真正的键码的细节。

目前我正在使用 xcb_key_symbols_get_keycode,然后我使用 xcb_key_symbols_get_keysym 来了解我需要哪个修饰符来获取该符号。当配置的键盘是美国键盘时,此功能正常。但我有一个西类牙语键盘,这个调用仅返回美国配置。在西类牙语键盘中,可以通过正确的 alt (altgr) 获得多个符号,但以前的调用似乎不支持它。

那么,我怎样才能获得获得任何键符号所需的键码?我认为我需要 XKB 扩展,但我一直无法为 XCB 找到它们,而且我不想为 XLib 重写整个窗口管理器。

谢谢。

最佳答案

这可能是一个过时的问题,但我发现它仍然有效。

您可以通过 xcb 启用 xkb 扩展,然后通过 xcb API(或更具体地说,从 xkb 键映射的状态)获取键映射、布局以及该布局的相应键符号。

链接:

我必须承认,我实际上并没有完全做到这一点(仅涉及键盘映射/布局/状态)。但这应该足以让您开始。 :)

关于keyboard - 使用 XCB 获取键盘布局和按键符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18689863/

相关文章:

c - 让 select 和 xcb_poll_for_event 一起工作的安全方法?

ios - 在 iOS8 中无法获得正确的键盘高度值

java - 如何在 Java Android Studio 中更改 EditText 的自动焦点?

c - GLUT 无法正确检测到超过 2 个按键?

opengl - 使用 xcb 和 randr 获取屏幕信息

c - 如何在 XCB 上为软件图形制作动画?

ios - 在 iOS 7、SDK 7 中关闭 UIActionSheet 后,键盘会立即隐藏并再次显示

ios - UIAlertView 显示键盘,无法关闭它

linux - 缺少库启动QT5

c++ - 使用 XCB 获取事件窗口的 WId