您的位置:首页 > 运维架构 > Linux

linux修改键盘按键

2014-01-28 11:34 405 查看
我的电脑:Fedora-19

$ uname -a

Linux localhost.localdomain 3.11.10-200.fc19.i686 #1 SMP Mon Dec 2 20:48:22 UTC 2013 i686 i686 i386 GNU/Linux

使用xmodmap工具进行修改,使用man xmodmap,里面就有交换按键caplock(大小写切换键)和右ctrl键的例子,

如果您的修改不同,可以做相应的替换即可。我就是参考这个例子对我的右Alt键和Ctrl键进行修改的。

下面先看man自带的例子

!

! Swap Caps_Lock and Control_L

!

remove Lock = Caps_Lock

remove Control = Control_L

keysym Control_L = Caps_Lock

keysym Caps_Lock = Control_L

add Lock = Caps_Lock

add Control = Control_L

将上面的语句写入文件,例如keymaprc,然后xmodmap keymaprc即可生效,

因为这个是交换键的功能,如果您执行第二次的话,按键就又会恢复回来的。

注意:这个修改只对当前有效,电脑重启会失效,得重新输入命令。

下面是我自己的修改,把keymaprc命名为隐藏文件: .keymaprc,放在$HOME目录下。

$ cat ~/.keymaprc

remove Control = Control_R

remove mod1 = Alt_R

keysym Control_R = Alt_R

keysym Alt_R = Control_R

add Control = Control_R

add mod1 = Alt_R

然后执行 $ xmodmap ~/.keymaprc

这样就生效了

为了更加修改按键,不想很次都输入xmodmap ~/.keymaprc这么长的命令,可以将命令写入文本,放到$PATH路径下,下面是我的做法

$ touch swkey

$ echo "xmodmap ~/.keymaprc" > swkey

$ chmod +x swkey

$ sudo mv swkey /usr/bin

$ swkey #现在想交换两个按键就直接输入这个命令,无论在什么路径下都可以,也不用记文件路径,会比较方便

备注:

alt对就MODIFIERNAME为mod1,可以在man文档中找到其他的MODIFIERNAME,也可以直接xmodmap查看,window键应该对应mod4

$ xmodmap

xmodmap: up to 4 keys per modifier, (keycodes in parentheses):

shift Shift_L (0x32), Shift_R (0x3e)

lock Caps_Lock (0x42)

control Control_L (0x25), Control_R (0x69)

mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)

mod2 Num_Lock (0x4d)

mod3

mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)

mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: