mah*_*off 8 keyboard shortcut-keys tmux xkb
如何在终端中使用 xkb 或其他一些工具将 Caps Lock 永久绑定到ctrl+ b?
(这是Caps Lock为 tmux制作默认前缀键。如果太困难,它也可以映射到特定键,例如功能键,然后可以将其设为 tmux 前缀。)
XKB 将适用于 Xwindows 或 Wayland GUI。它不会影响虚拟控制台,但 GUI 终端模拟器会很好。对于 XKB 背景,我将向您指出一些(概述、系统与用户) ..其他(自定义选项) ..答案(自定义规则)。
下面将允许您caps:myf13使用您通常使用的任何工具(setxkbmap、localectl设置、GNOME 面板等)向现有 XKB 布局添加新选项。
现有的 XKB 大写锁定选项列在/usr/share/X11/xkb/rules/evdev.lst. 查看.../rules/evdev文件中对应的选项,可以看到这些选项都是从文件中加载的.../symbols/capslock。它们都是修饰键,这可能不是最好的例子,但caps:backspace可能是一个很好的比较。查看文件,我们找到了定义此选项的节:
hidden partial modifier_keys
xkb_symbols "backspace" {
key <CAPS> { [ BackSpace ] };
};
Run Code Online (Sandbox Code Playgroud)
grep通过其他符号文件,我们可以看到 F13 符号只是F13. 新选项节可能如下所示:
hidden partial modifier_keys
xkb_symbols "myf13" {
key <CAPS> { [ F13 ] };
};
Run Code Online (Sandbox Code Playgroud)
如您所见,我们只更改了选项的名称和分配给键的符号。
唯一剩下要做的就是连接新的节。在基本的 Xwindows 系统上,使用setxkbmap和等命令行工具xkbcomp,自定义用户位置就可以了;对于 GNOME、KDE 或 Wayland 系统,您需要在系统 XKB 数据库中进行更改。
作为系统更改的示例(您将需要sudo访问权限才能创建或编辑这些文件):
将自定义节放在一个新的符号文件中,例如/usr/share/X11/xkb/symbols/mycaps.
将此添加到/usr/share/X11/xkb/rules/evdev以下行的正下方caps:backspace:
caps:myf13 = +mycaps(myf13)
Run Code Online (Sandbox Code Playgroud)... 添加到/usr/share/X11/xkb/rules/evdev.lst:
caps:myf13 Caps Lock is F13
Run Code Online (Sandbox Code Playgroud)... 添加到/usr/share/X11/xkb/rules/evdev.xml:
<option>
<configItem>
<name>caps:myf13</name>
<description>Caps Lock is F13</description>
</configItem>
</option>
Run Code Online (Sandbox Code Playgroud)最后,备份您的.../rules/evdev*文件,或创建补丁文件。每当xkb-data更新包时,您的更改都将被覆盖。如果您将修改节保存到.../symbols/capslock文件中,则还需要对其进行备份。
进行这些更改后,您应该能够像设置任何其他 XKB 选项一样设置此选项。您可能需要重新启动任何 GNOME/KDE 会话,以便控制面板获取更改,但类似的工具setxkbmap应该会立即找到它:setxkbmap -option caps:myf13
| 归档时间: |
|
| 查看次数: |
1932 次 |
| 最近记录: |