当前位置: 首页 > 科技观察

在Linux上重新映射您的CapsLock键

时间:2023-03-18 15:26:10 科技观察

对我来说,有许多改变生活的Linux时刻,但大多数在成为现状后就消失了。Linux教给我的一个键盘技巧在我每次使用它时(可能一天1000次)都会提醒我,就是将capslock键变成Ctrl键。我从不使用大写锁定键,但我整天都在使用Ctrl键进行复制、粘贴、在Emacs中导航、调用Bash、GNUScreen或tmux等。大写锁定键占用了我键盘上宝贵的空间,同时将实际有用的Ctrl键挤压到难以触及的底角。重新映射Ctrl提高了我的打字和导航速度,并且可能使我免于重复性压力伤害。VanishingControl系好安全带,这是一堂过山车式的历史课。不幸的是,对于像我这样的大写锁定键交换器,当GNOME3出现时,它几乎取消了更改Ctrl键位置的功能。幸运的是,出色的GNOMETweaks应用程序带回了这些“丢失”的控制面板。不幸的是,GNOME40没有GNOMETweaks应用程序(还没有?)。另外,不幸的是,用于X11的旧xmodmap技巧在新的Wayland显示服务器上不起作用。有那么一小段时间(最多一个下午),我认为那些讨厌大写锁定键的人的生活是黑暗的。然后我想起我是一个开源用户,总有办法解决简单的问题,比如被忽视的GUI控制面板。dconfGNOME桌面使用dconf,这是一个存储重要配置选项的数据库。它是GSettings的后端,GNOME系统应用程序需要通过该界面发现系统首选项。可以使用gsetting命令查询dconf数据库,也可以使用dconf命令直接设置dconf键值。GSettingsdconf数据库不一定是您所说的可发现的数据库。这是一个您通常不需要考虑的不起眼的数据库,它包含许多您通常不需要直接与之交互的数据。但是,如果您想更好地了解GNOME管理的所有首选项,浏览它会很有趣。您可以使用list-schemas子命令列出所有dconf模式。浏览数百种模式后,您可以使用grep将注意力缩小到看起来特别相关的内容,例如org.gnome.desktop。$gsettingslist-schemas|grep^org.gnome.desktop[...]org.gnome.desktop.backgroundorg.gnome.desktop.privacyorg.gnome.desktop.remote-desktop.vncorg.gnome.desktop.interfaceorg.gnome.desktop.default-applications.terminalorg.gnome.desktop.sessionorg.gnome.desktop.thumbnailersorg.gnome.desktop.app-foldersorg.gnome.desktop.notificationsorg.gnome.desktop.soundorg.gnome.desktop.lockdownorg.gnome.desktop.default-applications.office通过手动搜索或阅读GSetting文档,您可能已经注意到org.gnome.desktop.input-sources架构,它有助于定义键盘布局。按照设计,GSetting架构包含键和值。使用dconf重新映射capslockxkb-options键以包括可选的键盘覆盖。要设置此键,请使用dconf,将上述模式中的点(.)转换为斜杠(/),如dconf数据库所期望的/。$dconfwrite/org/gnome/desktop/input-sources/xkb-options"['caps:ctrl_modifier']"我将caps设置为ctrl_modifier因为我使用Ctrl修饰符比其他任何修饰符都多,但Vim用户可能喜欢设置它逃离。检查您的设置以使此更改立即生效并在重新启动后保持不变。这是您在GNOME中定义的首选项,并且在您更改它之前一直有效。可以通过gsettings在dconf中看到新的值。首先,检查可用键:$gsettingslist-keys\org.gnome.desktop.input-sourcesxkb-optionsmru-sourcesshow-all-sourcescurrentper-windowsources,然后使用xkb-options键检查设置:$gsettingsget\org.gnome。桌面。input-sources\xkb-options['caps:ctrl_modifier']optionenrichment我在我的GNOME3.4系统上使用这个小技巧来设置大写锁定键以及Compose键(compose:ralt)。虽然我相信开发中有GUI控件可以控制这些选项,但我也不得不承认以编程方式设置这些选项的能力是一种特权。作为一个以前没有可靠方法来调整桌面设置的系统的管理员,能够使用命令修改我的首选项使得设置新桌面变得快速和容易。GSettings提供了许多有用的选项并且有详细的文档记录。如果您有想要更改的内容,请查看可用的内容。