在 Gnome 中编写永久的 CTRL / CAPS 交换脚本?

在 Gnome 中编写永久的 CTRL / CAPS 交换脚本?

我有一个 bash 脚本,用于将 vanilla Ubuntu (10.10 Maverick Meerkat) 安装配置为我想要的样子。我大量使用 gconftool-2 来配置桌面、设置快捷键等。

现在,我尝试交换 CTRL 和 CAPS 键。我发现了两种方法:

  • 在 Gnome 中,转到系统 -> 首选项 -> 键盘 -> 布局 -> 选项,然后在其中进行更改。这个方法很有效,但我不知道如何编写脚本;设置似乎没有存储在通常的位置,因为我无法使用 gconf-editor 找到它。

  • 将此行添加setxkbmap -option "ctrl:swapcaps"到我的.bashrc文件中。这也有效,直到我暂停机器然后恢复它。此时 CTRL 和 CAPS 行为恢复正常,直到我通过打开新 shell 再次运行 .bashrc。此行为已被报告为漏洞在 RedHat 中。

有人能建议一种既永久又可以编写脚本的切换这些键的方法吗?我肯定我一定忽略了一些明显的东西……

答案1

我已经在我的 RHEL 系统上以通用方式完成了此操作,通过将其添加到 `~/.xinitrc 的开头:

xmodmap ~/.xmodmaprc

以及内容.xmodmaprc

!! Swap Caps_Lock and Control_L
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

答案2

还有一种更快的 Gnome 专用解决方案。感谢这个帖子格玛戈在 Ubuntu 论坛上:

如果您正在运行 Gnome,那么您需要做的就是创建一个包含以下内容的文件 $HOME/.Xkbmap:

-option ctrl:swapcaps

退出然后重新登录。

更新:我刚刚确认该设置在暂停/恢复过程中持续存在。

相关内容