gpt4 book ai didi

c - 获取 X11 中当前事件修改器的状态

转载 作者:太空宇宙 更新时间:2023-11-04 12:55:28 32 4
gpt4 key购买 nike

有没有办法获取有关 X 中当前事件修饰符的信息?例如。如果 Capslock 处于事件状态,是否按下了 shift,等等。

根据 xkbcommon-keysyms.h 这是所有 X11 修饰符的列表:

#define XKB_KEY_Shift_L                       0xffe1  /* Left shift */
#define XKB_KEY_Shift_R 0xffe2 /* Right shift */
#define XKB_KEY_Control_L 0xffe3 /* Left control */
#define XKB_KEY_Control_R 0xffe4 /* Right control */
#define XKB_KEY_Caps_Lock 0xffe5 /* Caps lock */
#define XKB_KEY_Shift_Lock 0xffe6 /* Shift lock */

#define XKB_KEY_Meta_L 0xffe7 /* Left meta */
#define XKB_KEY_Meta_R 0xffe8 /* Right meta */
#define XKB_KEY_Alt_L 0xffe9 /* Left alt */
#define XKB_KEY_Alt_R 0xffea /* Right alt */
#define XKB_KEY_Super_L 0xffeb /* Left super */
#define XKB_KEY_Super_R 0xffec /* Right super */
#define XKB_KEY_Hyper_L 0xffed /* Left hyper */
#define XKB_KEY_Hyper_R 0xffee /* Right hyper */

但是我怎样才能得到这些键的状态呢?我没有找到相应的功能。提前致谢!

最佳答案

不,这不是修饰符列表。这是修饰键列表。

X11修饰符有ShiftMaskMod1Mask等。逻辑修饰符不同于物理键。左移键和右移键产生相同的修饰符掩码。

如果您需要修饰符掩码,则每个 X11 键和按钮事件都包含 state 成员中事件修饰符的掩码。如果您正在使用 Xkb(您可能应该使用),则有 XkbGetState

除了监视按键按下和按键释放事件外,我不知道有什么方法可以获取物理按键的状态。

关于c - 获取 X11 中当前事件修改器的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35885572/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com