交换ctrl和caps_loack的新方法

Table of Contents

1 过程

debian用了几年,由于emacs的关系,一直将右ctrl和caps_lock键交换,使用的是xmodmap 方式,写了.Xmodmap脚本,在.xinitrc中加入:xmodmap ~/.Xmodmap,但最近这个方法无效 了,我只能在.bashrc中执行脚本,但是每开一次终端,脚本都会执行一次,所以再次打开 终端,键位就恢复了。

!
! Swap Caps_Rock and Control_R
!
remove Lock = Caps_Rock
remove Control = Control_R
keysym Control_R = Caps_Rock
keysym Caps_Rock = Control_R
add Lock = Caps_Rock
add Control = Control_R

我将脚本执行放在.xsession,.xsessionrc中都在无法开机时自动执行xmodmap, 最后只有求助于setxkbmap。setxkbmap选项位于这几个文件里: /usr/share/X11/xkb/rules/evdev.lst /usr/share/X11/xkb/rules/base.lst,这俩文件一模 一样……,利用grep搜索过滤"ctrl:或:ctrl"。

$ grep -e "ctrl:\|:ctrl" /usr/share/X11/xkb/rules/evdev.lst 

grp:ctrls_toggle     Both Ctrl keys together
grp:ctrl_shift_toggle Ctrl+Shift
grp:ctrl_alt_toggle Alt+Ctrl
ctrl:nocaps Caps Lock as Ctrl
ctrl:lctrl_meta Left Ctrl as Meta
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:ac_ctrl At left of 'A'
ctrl:aa_ctrl At bottom left
ctrl:rctrl_ralt Right Ctrl as Right Alt
ctrl:menu_rctrl Menu as Right Ctrl
ctrl:ctrl_ralt Right Alt as Right Ctrl
caps:ctrl_modifier Make Caps Lock an additional Control but keep the Caps_Lock keysym
altwin:ctrl_win Control is mapped to Win keys (and the usual Ctrl keys)
altwin:ctrl_alt_win Control is mapped to Alt keys, Alt is mapped to Win keys
terminate:ctrl_alt_bksp Control + Alt + Backspace

我选择了ctrl:nocaps,执行dconf-editor, 在org.gnome.desktop.inputsources下面, xkboptions选项,添加如下:['ctrl:nocaps'],OK.若需立即生效,终端键入 setxkbmap -print即可。

Date: 2014-11-26 12:08:12 CST

Author: 雪庭

Org version 7.8.06 with Emacs version 23

Validate XHTML 1.0

交换ctrl和caps_loack的新方法的更多相关文章

  1. linux两种增加交换分区(swap)的方法

    在安装Oracle后,为使Oracle流畅运行,需要手动增加linux的交换分区(相当于Windows下的虚拟内存)的大小,本文介绍两种增加交换分区(swap)的方法. 第一种方法:新建分区 1.fd ...

  2. 《基于TCP交换的电路交换与分组交换融合方法》读书笔记

    简介 在论文<Is IP going to take over the world (of communications)?>中作者对IP相关的一些说法(假设)提出了质疑,并得出结论:虽然 ...

  3. 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法

    若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...

  4. 【Android】一种提高Android应用进程存活率新方法

    [Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...

  5. Execel(导出新方法):

    #region 新方法 //var sbHtml = new StringBuilder(); //sbHtml.Append("<table border='1' cellspaci ...

  6. Eclipse解决Ctrl+c很卡的方法

    问题如下 : 每当在eclipse中开发java项目打开jsp页面编辑的时候,按了ctrl+c就会卡死几秒的状态,一天经常这样会让人非常的烦躁. 解决方法如下: Eclipse -- Windows- ...

  7. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

  8. 用javascript得到客户端IP的新方法

    javascript得到客户端IP的新方法 很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: < ...

  9. iOS5中UIViewController的新方法

    iOS5中UIViewController的新方法 前言 在苹果的 WWDC2011 大会视频的<Session 101 - What's New in Cocoa> 和<Sessi ...

随机推荐

  1. 基于.NET的CAD二次开发学习笔记一:CAD开发入门

    1.AutoCAD .NET API由不同的DLL文件组成,它们提供用于访问图形文件或AutoCAD应用程序的包含丰富的类.结构.方法和事件.每一个DLL文件都定义不同的使用基于功能的库组织组件的命名 ...

  2. npm(cnpm)介绍

    1.npm(node package manager) nodejs的包管理器,用于node插件管理(安装.卸载.更新.管理依赖等); 2.使用npm安装安装插件: 1).命令提示符执行 npm in ...

  3. 总结之H3C汇聚层交换机认证在线人数展示系统

    前情提要:意外接了老师说的一个小程序,然后计划7天(实际10天)的小项目就冒出来了. (1)时间与工程量.在和老师开始谈具体需求前,我凭感觉猜了猜完成这个小项目的时间.然后,再和老师确定需求后,再回头 ...

  4. block,inline和inline-block概念和区别(转)

    转自  http://www.cnblogs.com/KeithWang/p/3139517.html 总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-lev ...

  5. 类A have-a 类B,类B访问类A public 成员

    需求是类A中包含类B,而类B又需要访问类A的public属性的成员. 首先类B中要访问类A的属性,那么对于类B而言,我们必须要知道有类A这个类,所以在类B的具体实现之前我们需要前向声明类A. 对于类A ...

  6. [转]: 两分钟彻底让你明白Android Activity生命周期(图文)!

    转自:http://blog.csdn.net/android_tutor/article/details/5772285 大家好,今天给大家详解一下Android中Activity的生命周期,我在前 ...

  7. jQuery元素查找方式

    jQuery常用的元素查找方法总结 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到 ...

  8. js jquery实时计算输入字符

    在项目中需要倒还可以输入多少字符

  9. 全新的跨平台app软件开发工具——Lae软件开发平台

    Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android ...

  10. Halcon pick_and_place_scara_stationary_cam.hdev程序学习

    此示例显示如何基于由SCARA手眼校准确定的校准信息,使用SCARA机器人执行拾取和放置应用程序. 在第一步骤中,根据模型图像定义形状模型. 然后,基于该形状模型,在每个图像中搜索对象. 对于一个选定 ...