如何在系统范围内设置键绑定?

如何在系统范围内设置键绑定?

我在 Arch Linux 中使用 bspwm,没有任何桌面环境。我已经将 escape 和 Capslock 键替换为 VIM,但问题是,这些键只能在 bspwm 中工作,即,如果我更改 tty 然后,这些键将像从未改变一样工作。我用了 setxkbmap -option caps:swapescape

答案1

您可以使用加载键以 root 访问权限更改控制台中的密钥。或者使用须藤。

例如:

我的主行有主键。我已将其绑定到 Esc 键。这是我的 $HOME/.loadkeysrc

Keycode 102 = Escape

如何在 TTY 中加载此密钥 rc?嗯,这取决于你的外壳。我使用 zsh 所以我的里面有这些行$HOME/.zprofile

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
  exec startx -- vt1 -keeptty &>/dev/null
  logout
elif [[ $(tty) != /dev/tty1 ]]; then
  sudo loadkeys $HOME/.loadkeysrc
  tmux has-session -t $USER || tmux new-session -t $USER && tmux attach-session -t $USER
fi

因此,每当我登录系统时,如果它是第一个控制台,它将启动一个 X 会话。否则,它将加载我的自定义密钥文件并启动/攻击 tmux 会话。

相关内容