我正在使用Xlib进行项目,我正在尝试将KeySym相对于按下的键。
我有按键,键盘修改器和键盘指示灯的KeyCode。我指的是this page以了解如何检索正确的密钥,但它必须是过时的或其他东西,因为我的X的行为与该页面不同。
我有一些问题:
什么是MODE SWITCH?如何查看MODE SWITCH的键是什么以及如何设置? (通过Xlib函数或通过命令,它是相同的)。
该页面表示与KeyCode关联的前4个KeySyms(找到XGetKeyboardMapping
,或由xmodmap -pk
命令显示)分为两组。 MODE SWITCH在组之间切换,并且在组内,根据修饰符(即,移位键)或指示符(即,大写锁定)来选择第一或第二KeySym。但是在我的X上我可以看到,如果按下shift,我会切换到第三个KeySym,而不是第二个。
在许多欧洲布局中,AltGr键绑定到KeySym XS_ISO_Level3_Shift
,它不属于任何键盘修饰符(即shift
,lock
,{{1} },control
,mod1
,mod2
,mod3
和mod4
)。当按下这样的mod5
时,选择与KeyCode相关联的第五个KeySym。为什么?我在哪里可以找到有关此XS_ISO_Level3_Shift
的一些信息以及实际使用的其他关键字,但未在Xlib手册中记录?
答案 0 :(得分:2)
看起来你正在阅读的页面早于Xkb - 我猜这个内容至少是10-15岁。
请参阅:http://www.xfree86.org/current/XKBproto.pdf
“xmodmap -pm”将显示修改键,例如模式切换。
使用Xkb,基本上所有内容的行为都是可配置的,我相信。例如,开始查看/ usr / share / X11 / xkb /。我不太了解它,但希望看到Xkb而不是旧文档会让你指向正确的方向。
答案 1 :(得分:1)
Tronche的手册不完整。我发现了有关键盘功能的更多信息:
1. xlib.pdf
2. xlib html manual at static.cray-cyber.org。这个文档是隐藏的,有点破碎。链接以小写字母输入,但实际文档为大写。在浏览器中更正网址后,它是可读的。
我猜是PDF完整的。我不知道[2]是否也完整,但例如第16.2章(抱歉,我无法提供链接,因为我的链接限制被超出)远远超过Tronche的文档。
我是理解xlib的初学者,这就是我今天设法谷歌出来的。