我正在将 Xlib 用于一个项目,并且我正在尝试获取相对于按下的键的 KeySym。
我得到了与按下的键、键盘修饰符和键盘指示器相关的 KeyCode。我指的是这个页面以了解如何检索正确的密钥,但它必须是过时的或什么的,因为我的 X 的行为不像那个页面所说的那样。
我有一些问题:
什么是模式开关?如何查看我的模式开关是什么键以及如何设置它?(通过 Xlib 函数或通过命令,都是一样的)。
该页面显示与 KeyCode 关联的前 4 个 KeySym(使用 找到
XGetKeyboardMapping
,或通过xmodmap -pk
命令显示)分为两组。MODE SWITCH 在组之间切换,组内的第一个或第二个 KeySym 是根据修饰符(即 shift 键)或指示符(即 caps lock)选择的。但是在我的 XI 上可以看到,如果按下 shift,我会切换到第三个 KeySym,而不是第二个。在许多欧洲布局中,AltGr 键绑定到 KeySym
XS_ISO_Level3_Shift
,它不属于任何键盘修饰符(即 、、shift
、lock
、control
、mod1
和)。当这样被按下时,与 KeyCode 关联的第五个 KeySym 被选中。为什么?我在哪里可以找到一些关于这个和其他实际使用的键符的信息,但在 Xlib 手册中没有记录?mod2
mod3
mod4
mod5
XS_ISO_Level3_Shift
XS_ISO_Level3_Shift