为什么“xmodmap”在登录时并不总是加载“.Xmodmap”?

为什么“xmodmap”在登录时并不总是加载“.Xmodmap”?

我在文件中有以下内容~/.Xmodmap

! change CapsLock to Escape
clear Lock
keycode 0x42 = Escape

当我发出命令时,它将 CapsLock 键重新映射到 Escape,并且工作得很好xmodmap ~/.Xmodmap。但是,当我启动笔记本电脑时它并不总是有效。但有时它可以工作!

有人知道发生了什么吗?我该如何尝试解决此问题?

答案1

我会研究一下~/.xinitrc,但还有无数其他的可能性,这取决于你的窗口管理器或桌面环境(例如,如何在登录时设置 Xmodmap?)。问题中没有足够的信息来找出答案。

但将 CapsLock 重新映射到 Escape 是 XKB 扩展提供的规范映射之一,如所列man xkeyboard-config. 刚刚发布

setxkbmap -option 'caps:escape'

瞧,CapsLock 就是 Escape。可以通过编辑以下“XKBOPTIONS”行使其持久化/etc/default/keyboard

XKBOPTIONS="caps:escape"

Debian 和 Ubuntu 根据该文件设置键盘,因此这是一个可靠的解决方案。您可以删除.Xmodmap它,并确保没有其他程序干扰键盘映射。

相关内容