4

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

所以这是我xmodmap在 Linux 上使用的方法(我的键盘布局是我们):

首先,我通过运行交换 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"

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

然后,我通过运行禁用 Left_Control 键:

$ xmodmap -e "remove Control = Control_L"  

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

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

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

4

1 回答 1

2

我会做什么:

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

您可以Control_L使用xev.

或者:

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

要重新启用Caps LockControl_L在这两种情况下:

$ setxkbmap -option
于 2015-05-07T17:13:41.440 回答