我目前正在使用 Caps 键,ISO_Level3_shift
并将 h、j、k、l、$ 和 0 映射到 vim 键。它有效,一切都很好。然而,我使用 SQL,并且我想用大写字母编写 SQL 的所有代码,因此在键入每个字母时很难按 Shift 键。所以,我想要的是按原样使用这个 vim 键,但也能够在进行一些 SQL 编程时切换大写锁定。可能是按住它一段时间或按 Shift+Caps 将其切换回来。
我正在使用 XKB 来实现我正在做的事情,因为 xmodmap 对我不起作用,因为我使用第二个布局,如果我使用 xmodmap,它将无法正常工作。
这是我的/usr/share/X11/xkb/symbols/us
文件 - 或者至少是我设置当前设置的部分文件:
key <AC06> { [ h, H, Left ] };
key <AC07> { [ j, J, Down ] };
key <AC08> { [ k, K, Up ] };
key <AC09> { [ l, L, Right ] };
key <AE10> { [ 0, parenright, Home ] };
key <AE04> { [ 4, dollar, End ] };
key <CAPS> { [ ISO_Level3_Shift ] };
这部分位于
default partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {}
堵塞
在此先感谢您的帮助。
答案1
您可以使用以下命令之一来实现此目的:
将 esc 与大写字母互换:setxkbmap -option caps:swapescape
Shift + Caps 打开大写锁定:setxkbmap -option caps:escape_shifted_capslock
只需在启动时运行其中一个,您就可以将其添加到您的~/.xprofile
来源:man xkeyboard-config
&man setxkbmap