Answers:
不需要使用过时的,xmodmap
因为已经有一个xkb
选项- ctrl:nocaps
例如在终端中:
setxkbmap -option ctrl:nocaps
使用gnome 3,您可以在org> gnome>桌面>输入源下使用dconf-editor
并添加 ctrl:nocaps
到xkb-options中:
或只需在“ 键入”>“ Ctrl”键位置下的Ctrl中启用Caps Lock作为Ctrl:gnome-tweak-tool
man keyboard
并且在/etc/default/keyboard
我知道这已经有一个公认的答案,但这里是唯一正确的方法来改变Caps Lock对ctrl。这适用于整个系统的所有Linux版本,所有发行版(控制台,X,等等)。它在内核中将映射设置在应设置的位置。
(echo $(dumpkeys |grep -i keymaps); echo keycode 58 = Control) | loadkeys -
将此添加到启动脚本(例如/etc/rc.local
,或创建自己的脚本)。
在Debian(及其衍生产品)上,dumpkeys / loadkeys是kbd
软件包的一部分,如果由于某种原因尚未安装的话。
/etc/rc.local
,并尝试注销并重新启动
这是一个精简版本:
0)确保Caps Lock已关闭
1)创建以下文件:
/etc/udev/hwdb.d/10-caps-modifier.hwdb
---
evdev:atkbd:dmi:* # built-in keyboard: match all AT keyboards for now
KEYBOARD_KEY_3a=leftctrl # bind capslock to leftctrl
2)运行以下命令:
$ systemd-hwdb update
3)运行以下命令,使重新映射立即生效:
$ udevadm trigger
这已在运行Xfce的Ubuntu 18.04.2 LTS上进行了测试。重映射在tty控制台和X输入系统中非常有用。
感谢此页面的所有详细信息:https : //wiki.archlinux.org/index.php/Map_scancodes_to_keycodes,但是它花了很多精力来解析实际需要完成的工作。