如何在 Linux Debian i3 上同时使用 setxkbmap 和 xmodmap?

如何在 Linux Debian i3 上同时使用 setxkbmap 和 xmodmap?

我买了新的笔记本电脑,没有HomeEnd键。我在 Vim 中输入代码时需要两个键。

我在笔记本电脑上安装了带有 i3WM 桌面环境的 Debian。我使用命令将和xmodmap替换为和来重新映射键盘。Pause/BreakPrtScnHomeEnd

这很完美,但我想在键盘上添加一种新语言。我习惯setxkbmap设置两种布局:US 和 IR。

这是我的i3配置:

#language
exec "setxkbmap -layout us, ir"
exec "setxkbmap -option 'grp:alt_shift_toggle'"

#remap keyboard
exec xmodmap ~/.Xmodmap

当我重新启动计算机时,我可以使用alt+更改键盘语言shift,但Pause/BreakPrtScn没有映射到HomeEnd

xmodmap ~/.Xmodmap我在终端中运行该命令。这可以正常工作,但不会更改我的键盘布局。

我该如何修复它以便可以同时使用两者?

答案1

解决了我的问题。

首先我注释掉所有的命令:

#language
#exec "setxkbmap -layout us, ir"
#exec "setxkbmap -option 'grp:alt_shift_toggle'"

#remap keyboard
#exec xmodmap ~/.Xmodmap

然后添加这个命令:

exec_always "/home/milad/.Xmodmap"

什么是.Xmodmap文件?这是一个shell脚本。内容.Xmodmap:

xmodmap -e "keycode 127 = Home";
xmodmap -e "keycode 107 = End";
xmodmap -e "keycode 223 = Prior";
xmodmap -e "keycode 158 = Next";

现在无论如何工作都很好!

相关内容