如何将Caps Lock重新映射到Control,然后禁用Linux上的Left Control?

时间:2015-05-07 16:41:05

标签: linux vim capslock xmodmap

我是VIM用户,我想将Caps_Lock键重新映射到Left_Control,这样可以更轻松地按下Control。此外,我还想训练我的手指,所以我需要禁用Left_Control键,这迫使我按下Caps_Lock而不是Left_Control。

所以这是我在Linux上使用SELECT names from Units where (id = @Id or (isnull(@Id, '') = '')) 的方法(我的键盘布局是我们):

首先,我通过运行:

交换Caps_Lock键和Left_Control
xmodmap

所以在第一步之后,Caps_Lock键是Control,Left_Control键是Caps_Lock键。

然后,我通过运行:

来禁用Left_Control键
$ xmodmap -e "remove Lock = Caps_Lock"  
$ xmodmap -e "remove Control = Control_L"  
$ xmodmap -e "keysym Control_L = Caps_Lock"  
$ xmodmap -e "keysym Caps_Lock = Control_L"  
$ xmodmap -e "add Lock = Caps_Lock"  
$ xmodmap -e "add Control = Control_L"

但这不起作用,我仍然可以使用Left_Control作为Caps_Lock。

有人可以帮我解决这个问题吗?

更新:我在Arkadiusz Drabczyk找到了解决方案。

1 个答案:

答案 0 :(得分:2)

我会做什么:

# make Caps Lock key a Control key
$ setxkbmap -option ctrl:nocaps
# disable left Control key
$ xmodmap -e "keycode 37="

您可以使用xev找到 Control_L 键码。

或者:

# swap Control with Caps Lock
$ setxkbmap -option ctrl:swapcaps
# disable Caps Lock
$ xmodmap -e "keysym Caps_Lock = NoSymbol"

在两种情况下重新启用 Caps Lock Control_L

$ setxkbmap -option