我有一个代表关键代码的枚举,例如:
enum MyKey
{
MY_KEY_A,
MY_KEY_B
//etc.
}
我可以创建键码数组 (
int keycodes[256]
),它使用 MyKey
扩展在扫描码索引处存储适当的 XKB
值。 XKB
使用通用代码定义按键布局,例如 QWERTY 键盘上代表“A”字母的按键具有代码“AC01
”。我注意到用于创建和处理窗口的最流行的库之一 - SDL2 还定义了非标准键,例如:
SDLK_AUDIOPLAY
SDLK_MAIL
SDLK_MEDIASELECT
这里是完整列表。我还没有找到非标准按键的 XKB 代码。是否可以在 X11 环境下获取这些按键的扫描码?如何实现?
xev
- 这将弹出一个窗口,当您按下并释放按键时,它将返回扫描代码。然而,并非所有按键都会以这种方式起作用。 YMMV.