关于如何使用 xmodmap 将修饰符 + 某个键绑定到新键的示例似乎很少。
例如,我想绑定 left Shift(keycode 50) + `(keycode 21) 以发出重音字符:
`
这是挪威语键盘的正常行为,但在 Macbook Pro(运行 Linux)上则不然。
我正在使用 xev 来获取键码,我可以成功映射单个按键(在我找不到的另一篇文章的帮助下)以获取必要的其他键,例如以这种方式退格和美元符号:
keycode 134 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key
keycode 21 = backslash bar
然而我该怎么办:
keycode 50 + keycode 21 = Grave character
这不是正确的语法,但它应该使我想要的清楚。
一般来说,像shift这样的修饰键在语法中如何正确使用?只能组合使用修饰键吗?
我尝试过简单的事情,例如“keycode 50 keycode 21 = A”和“keycode 50 + keycode 21 = A”。 (“A”不是我想要的字符,我只是将其用于测试目的)。
答案1
调和弦(如Shift+ \)是通过将一个键与一组修饰符组合来指定的,而不是直接组合键。因此,您需要指定的是“键码 21 加上 Shift 修饰符”,而不是“键码 50 加键码 21”。只有修饰符可以组合使用。此外,xmodmap 有一定的局限性:您需要同时指定特定基调的所有调和弦。
keycode 21 = backslash grave acute
Shift等号后的第一个键符号(字符或功能键名称)是与裸键对应的键,然后是与AltGr、然后是Shift+对应的键AltGr。
如果你想要死键,那么将其更改为
keycode 21 = backslash dead_grave dead_acute
不过,如果您想要标准的挪威布局,您应该能够在桌面环境的配置界面中选择它,或者使用XKB— setxkbmap -layout no
切换到挪威布局。