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


10

我们有符合人体工程学的键盘在工作,但我并不完全习惯。当我进入时,我似乎不断按下Capslock键,vim并且它开始变得烦人。如何禁用此键,或更改为另一个键?


Answers:


7

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

$ xmodmap -e 'clear Lock'

下一个问题是您要如何处理?我通常将其设为Ctrl关键:

$ xmodmap -e 'keycode 66 = Control_L'

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


Arrr,太快了4个我;)无论如何,那么就setxkbmap在我的答案中添加一个解决方案……
rozcietrzewiacz 2011年

6

使用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上的Solaris/usr/share/lib/keytables/type_6/reset(对于其他类型的键盘,您将其替换type_6为适当的类型):

找到此行:

key 57   all shiftkeys+capslock

替换为:

key 57   all shiftkeys+leftctrl up shiftkeys+leftctrl

自然,您可以Control用任何您想要的钥匙代替。


0

这是我的一部分.xmodmaprc,即轮流CapsLock进入Esc,反之亦然:

clear lock

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

add lock = Caps_Lock

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


这在Vi / Vim中使用非常方便
polemon'8
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.