linux添加自己的键盘映射,Linux 键盘映射

这篇博客讲述了Vim用户如何在Linux环境下通过xmodmap工具自定义键盘布局,尤其是交换Caps_Lock、Esc和Ctrl键位的过程。作者提到Linux Gnome Tweak Tool不能满足其需求,因此选择了xmodmap,并详细给出了配置和备份步骤。需要注意的是,xmodmap不支持恢复初始设置,所以在出错时可能需要重启或重新插拔键盘。此外,文章还提及了Fedora 25之后默认使用Wayland作为Display Server Protocol,但xmodmap不被支持,需要切换回X11。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为Vim使用者。由于我的键盘是108键全键盘,需要remap键位来适应vim编辑器。我的目的是两两交换Cap_Locks,Esc,Ctrl三个键。

Linux gnome tweak tool 有提供交换Cap和Ctrl等功能,但是不能满足的我的需求,故放弃。

最后选择用xmodmap。

xmodmap 不提供恢复初始化到功能,所以在使用如下指令备份map表,防止map出错 xmodmap -pke > /etc/X11/.Xmodmap.bak

如果出错导致键盘不能正常使用,可以重启。如果是外接键盘,重新插拔即可恢复

Xmodmap配置文件

remove Control = Control_L remove Lock = Caps_Lock

keysym Control_L = Escape NoSymbol Escape keysym Caps_Lock = Control_L keysym Escape = Caps_Lock NoSymbol Caps_Lock

add Control = Control_L add Lock = Caps_Lock

Ctrl、Caps作为modifier key(修饰键)在重新映射之前必要先去除其修饰性,使其不影响已有到map。如不这样做会报错。

keysym会将将等号左边的keysym name转换为相应到keycode,将等号右边的值映射给等号左边到keycode。

以keysym Control_L = Escape NoSymbol Escape为例,Control_L(left)到keycode是29,于是这句话等价为keycode 29 = Escape NoSymbol Escape。第一个Escape为直接按键的操作,其他到是配合不同到修饰键到操作。

结语

貌似没有什么好办法,每次开机解锁屏幕都要敲一遍,比较麻烦,但没与办法。只能设置别名少打点字。。。 xmd=”xmodmap ~/.Xmodmap”

更新

Fedora 25之后默认使用Wayland作为 Display Server Protocol。目前它还不支持xmodmap命令,所以需要换回X11。修改配置文件/etc/gdm/custom.conf

# GDM configuration storage

[daemon]

# Uncoment the line below to force the login screen to use Xorg

WaylandEnable=false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值