我的电脑: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)

最新文章

  1. 【原】Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
  2. 转:linux coredump调试
  3. 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel
  4. Centos5.8 安装 Redmine
  5. CSS用border绘制三角形
  6. 结构型—桥接(Bridge)模式
  7. flex容器解析
  8. js判断某个方法是否存在
  9. android-将系统和应用程序级的屏幕亮度
  10. Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介
  11. javaFX笔记----ComboBox模仿qq账号下拉框删除账号
  12. Python2.7.13下载安装全过程(Windows版)
  13. MVC JsonResult 结果返回
  14. Windows下mysql服务的安装与卸载
  15. Mad Libs游戏 & 华氏温度与摄氏温度转换
  16. CentOS下安装Docker-CE
  17. POJ - 1584 A Round Peg in a Ground Hole(判断凸多边形,点到线段距离,点在多边形内)
  18. maven阿里云镜像及本地仓库
  19. Fatal error: Call to undefined function mb_strlen()
  20. day39-异常处理

热门文章

  1. php 基础 自动类型转换
  2. Django框架之模板路径及静态文件路径配置
  3. 服务器(2)——IIS(2)——IIS Express(1)——IIS跟IIS Express之间的区别和关系
  4. Educational Codeforces Round 82 C. Perfect Keyboard
  5. 【剑指Offer面试编程题】题目1509:树中两个结点的最低公共祖先--九度OJ
  6. Keras入门——(1)全连接神经网络FCN
  7. MAVLINK协议
  8. 【PAT甲级】1053 Path of Equal Weight (30 分)(DFS)
  9. Java日期时间API系列10-----Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter
  10. oracle 高级函数2