linux下将capslock键修改为esc

linux下将capslock键修改为esc

经常被capslock困扰,用着用着突然就变成大写然后还得去找这个按键 老实说这个按键真的鸡肋

干脆改成escape

使用xmodmap的解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
解决方法1:
vim ~/.xmodmap

--
remove Lock = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
--

xmodmap ~/.xmodmap

解决方法2:
xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

问题1: 启动输入法例如fcitx或更换键盘设备时 该配置会失效

解决: 在定时任务中经常执行 例如5分钟执行一次,不优雅 但实用

问题2: 若不小心切换到CapsLock状态,然后CapsLock又已被切换到Esc怎么恢复

解决: xmodmap -e ‘clear Lock’ -e ‘keycode 0x42 = Caps_Lock’

使用keyd的解决方案

github keyd

keyd 是一个管理键盘映射的工具,相对xmodmap更灵活 更易用,而且不再面临烦人的失效问题

在archlinux下如何使用keyd设置capslock 为 escape

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
yay -S keyd
sudo systemctl enable keyd.service

/etc/keyd/default.conf 写入内容

该配置文件可实现 capslock按住时表现为crtl,单次点击表现为esc

----------
[ids]

*

[main]

capslock = overload(control, esc)
----------

sudo systemctl restart keyd.service

另还有更多配置可参考:doc


FQ CAPSLOCK


linux下将capslock键修改为esc
https://yaocc.cc/capslocktoesc/
作者
Yaocan Chen
发布于
2022年12月28日
许可协议