对我来说,Linux 时刻改变了很多生活,但大多数都随着它们成为现状而融入了我的背景故事。Linux 教会我的一个小键盘技巧,每次我使用它时都会提醒我(可能每天 1,000 次),那就是将 Caps Lock 键转换为 Ctrl 键。
我从不使用 Caps Lock,但我整天使用 Ctrl 键进行复制、粘贴、在 Emacs 中导航,以及调用 Bash、GNU Screen 或 tmux 操作。Caps Lock 占据了我键盘上宝贵的空间,迫使真正有用的 Ctrl 键向下移动到难以触及的底角。

这看起来非常痛苦。(Seth Kenlon,CC BY-SA 4.0)
重新映射 Ctrl 键提高了我的打字和导航速度,并可能使我免于重复性劳损。
消失的 Control 键案例
请坐稳扶好,这是一堂历史课的过山车之旅
不幸的是,对于像我这样更换 Caps Lock 键的人来说,当 GNOME 3 问世时,它几乎完全移除了更改 Ctrl 键位置的功能。
幸运的是,出色的 GNOME Tweaks 应用程序带回了这些“丢失的”控制面板。
不幸的是,GNOME 40 还没有 GNOME Tweaks 应用程序(尚未?)。
同样不幸的是,过去在 X11 上有效的旧 xmodmap
黑客技术在新 Wayland 显示服务器 上毫无用处。
在短暂的一段时间里(最多一个下午),我感到讨厌 Caps Lock 键的人们的前景黯淡。然后我记起我是一名开源用户,对于像被忽视的 GUI 控制面板这样简单的事情,总有解决办法。
dconf
GNOME 桌面使用 dconf,这是一个存储重要配置选项的数据库。它是 GSettings 的后端,GSettings 是 GNOME 应用程序在需要发现系统偏好时与之交互的系统。您可以使用 gsetting
命令查询 dconf 数据库,并且可以使用 dconf
命令直接设置 dconf 键值。
GSettings
dconf 数据库不一定是你可能称之为可发现的东西。它是一个不起眼的数据库,你本不应该去考虑它,它包含大量你通常不必直接交互的数据。但是,它确实使用了一个合理的模式,如果你想更好地理解 GNOME 必须管理的所有偏好选项,那么浏览这个模式会很有趣。
您可以使用 list-schemas
子命令列出所有 dconf 的模式。在浏览了数百个模式之后,您可能会使用 grep 将您的焦点缩小到看起来特别相关的模式,例如 org.gnome.desktop
$ gsettings list-schemas | grep ^org.gnome.desktop
[...]
org.gnome.desktop.background
org.gnome.desktop.privacy
org.gnome.desktop.remote-desktop.vnc
org.gnome.desktop.interface
org.gnome.desktop.default-applications.terminal
org.gnome.desktop.session
org.gnome.desktop.thumbnailers
org.gnome.desktop.app-folders
org.gnome.desktop.notifications
org.gnome.desktop.sound
org.gnome.desktop.lockdown
org.gnome.desktop.default-applications.office
无论是通过手动搜索还是通过阅读 GSetting 文档,您可能会注意到 org.gnome.desktop.input-sources
模式,该模式有助于定义键盘布局。按照设计,GSetting 模式包含键和值。
使用 dconf 重新映射 Caps Lock 键
xkb-options
键包含可选的键盘覆盖。要设置此键,请使用 dconf
,将上面模式中的点 (.
) 转换为斜杠 (/
),因为 dconf 数据库需要它
$ dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:ctrl_modifier']"
我将 caps
设置为 ctrl_modifier
,因为我使用 Ctrl 修饰键比任何其他修饰键都多,但 Vim 用户可能更喜欢将其设置为 escape
。
查看您的设置
更改会立即生效,并在重启后仍然存在。这是您在 GNOME 中定义的偏好,因此它将一直有效,直到您更改它。
您可以使用 gsettings
在 dconf
中查看新值。首先,查看可用的键
$ gsettings list-keys \
org.gnome.desktop.input-sources
xkb-options
mru-sources
show-all-sources
current
per-window
sources
然后使用 xkb-options
键查看设置
$ gsettings get \
org.gnome.desktop.input-sources \
xkb-options
['caps:ctrl_modifier']
选项丰富
我使用这个小技巧来设置 Caps Lock 以及我的 GNOME 3.4 系统上的 Compose 键 (compose:ralt
)。虽然我相信正在开发 GUI 控件来控制这些选项,但我也必须承认,以编程方式设置它们的能力是我喜欢的一种奢侈。作为以前管理过无法可靠调整桌面设置的系统的管理员,脚本化我的偏好的能力使设置新的桌面快捷方便。
GSettings 提供了许多有用的选项,并且文档非常详尽。如果您有想要更改的内容,请查看可用的选项。
2 条评论