如何禁用或更改键盘上的大写锁定键?

如何禁用或更改键盘上的大写锁定键?

我们在工作中使用符合人体工程学的键盘,但我不太习惯。当我在里面时,我似乎一直在按大写锁定键vim,这开始让人烦恼。如何禁用此键,或更改为另一个键?

答案1

禁用它的快速而肮脏的方法是xmodmap

$ xmodmap -e 'clear Lock'

下一个问题是你想用它做什么?我通常将其设为关键Ctrl

$ xmodmap -e 'keycode 66 = Control_L'

根据您的 DE/WM,可能有一种方法可以在 GUI 配置中执行此操作。例如,Gnome 在控制面板上有一个“键盘布局”选项,其中包含几个类似的布局修改的选项选项卡。

答案2

使用xmodmap

禁用大写锁定的设置是

remove Lock = Caps_Lock

这将被放置在您的.xmodmap文件中。

另一个选项 - 要暂时禁用它,您可以使用一个setxkbmap选项:

setxkbmap -option ctrl:nocaps

然后,恢复正常行为: setxkbmap -option

答案3

使用 xmodmap 只会更改 X 中的键绑定。如果您在控制台上需要它,那就有点不同了。下面的更改将修改 X 以及控制台,所以我总是这样做。

为了Linux将其添加到 /etc/rc.local (或创建一个初始化脚本):

(echo $(dumpkeys |grep -i keymaps); echo keycode 58 = Control) | loadkeys -

为了索拉里斯在带有 USB 键盘编辑的 PC 上/usr/share/lib/keytables/type_6/reset(对于其他类型的键盘,您可以type_6用适当的类型替换):

找到这一行:

key 57   all shiftkeys+capslock

替换为:

key 57   all shiftkeys+leftctrl up shiftkeys+leftctrl

当然,您可以替换Control为您想要的任何键。

答案4

这是 my 的一部分.xmodmaprc,变成CapsLockEsc反之亦然:

clear lock

keycode 9 = Caps_Lock ISO_Next_Group Caps_Lock ISO_Next_Group
keycode 66 = Escape NoSymbol Escape

add lock = Caps_Lock

xev您可以通过运行并按下要检查的按钮来检查键码。

相关内容