所以,我试图将Alt-映射A到右箭头。我遵循描述的“xev 和 xmodmap”方法这里并想出了这个:
xmodmap -e "keycode 38 mod1 = Right"
这悲惨地失败了:当我按Alt-时A,C
会打印出来。如果我简单地按A,光标确实会移动到右侧。
xmodmap -pm
mod1 的输出为:
mod1 Alt_L (0x40), Meta_L (0xcd)
我究竟做错了什么?
答案1
正如手册页所说,或者xmodmap -pke
将显示:
键码 NUMBER = KEYSYMNAME ...
键符列表被分配给指定的键码(可以以十进制、十六进制或八进制指定,并且可以通过运行 xev 程序来确定)。一个键最多可以附加八个键符,但是最后四个键符不用于任何主要的 X 服务器实现。当没有修饰键与此键一起按下时,使用第一个键符号,第二个键符号与 Shift 键一起按下,第三个键符号在 Mode_switch 键与此键一起使用时使用,第四个键符号在同时使用 Mode_switch 和 Shift 键时使用。
这意味着
keycode 38 mod1 = ...
是非法语法。
此外,使用 时xkbd
,可以有四个以上的键符号,并且附加键符号的行为按指定进行。例如,当level3(ralt_switch)
xkb-option 处于活动状态(这是我的发行版上的默认设置)时,右侧 alt 键将映射到,并且第 5 个到第 8 个键符号描述了另外按下ISO3_Level_Shift
时的结果。RAlt所以在这种情况下,你可以做类似的事情
keycode 38 = a A a A Right Right Right Right
或类似的东西,取决于你想要ShiftAltA生产什么等。