如何使使用 xmodmap 所做的更改永久生效

如何使使用 xmodmap 所做的更改永久生效

在我的笔记本电脑上,我必须输入尖括号

Fn+l for <
Fn+Shift+l for > and
Fn+AltGr+l for | 

这非常尴尬,所以我想将其更改为

AltGr+ö for <
AltGr+ä for >
AltGr+l for |

我已经成功地使用

xmodmap -e "keycode  46 = l L l L bar Lstroke lstroke"
xmodmap -e "keycode  47 = odiaeresis Odiaeresis odiaeresis Odiaeresis less dead_belowdot dead_doubleacute"
xmodmap -e "keycode  48 = adiaeresis Adiaeresis adiaeresis Adiaeresis greater dead_caron dead_circumflex"

我已将这些命令放入由 .config/autostart 中的 .desktop 文件调用的 shell 脚本中。当我重新启动时,这似乎有效,但当我切换到文本终端 (Ctrl+Alt+F2) 并返回到 X 会话时,映射会丢失。

我已经读了很多关于这个主题的文章(总的来说,它是非常令人困惑)并且“正确”的解决方案似乎以某种方式涉及 xkb (如果我理解正确的话,这也可以在 tty 上工作,而不仅仅是在 X 会话中)。但我不知道如何将这些 xmodmap 命令转换为 xkb 相关文件期望的语法。

我如何使用 xkb 进行这些映射并使它们永久化?

注意:我正在使用 openSUSE

相关内容