linux – 在PC上确定X.org的键码分配

在2008年末到2009年初的某些时候,在Linux下运行X.org时,标准PC键盘上的一些键码值(显然,对于不在XT键盘上的按键)发生了变化.我不知道这是由于内核更改还是X更改. Debian lenny和Ubuntu 8.04使用了旧的任务; Debian squeeze和Ubuntu 10.04使用了新的任务.

所以我有两个xmodmaprc文件,一个包含旧密钥代码,另一个包含新密钥代码.如何确定从.xinitrc和.xsession加载哪一个?

我希望我的启动文件可以轻松移植,所以我想摆脱我目前对机器名称的依赖(!).我不想引入对Linux发行版本的依赖(无论如何,这将是关于客户端的信息,但它是关于我需要的服务器的信息).我的脚本中已经有关于服务器的信息(xrdb(1)中列出的所有符号都可用作环境变量);希望我的问题简化为“我将什么参数与什么值进行比较?”.

请注意,由于我希望我的启动文件可以在我不管理的计算机上运行,​​因此仅仅重新分配密钥就无济于事.例如,我想将我喜欢的修饰符分配给Win键,但我无法预测登录时将分配哪些keysym.但是,如果有一个XKB概念,我可以使用它来代替键码(并且是独立的)任何系统管理员自定义,所以keyyms不会这样做,我愿意切换到XKB.

解决方法:

例如,您可以通过XKB找到密钥的密钥代码

xkbcomp -a -dflts -xkb $DISPLAY - | sed -ne 's/^ *<LWIN> *= *\([0-9][0-9]*\).*/\1/p'
上一篇:推进策略以中断已经“挂起”并使X桌面无响应的Linux应用程序


下一篇:linux – 尝试使用Xorg配置设置键盘布局,但它不起作用