首页 > 其他, 初级 > 交换你的Caps-Lock和右Control键

交换你的Caps-Lock和右Control键

2009年11月12日 ahei 发表评论 阅读评论

前阵子,无意中在网上发现一篇文章Effective Emacs中文版,第一条就是说把Caps-Lock和Control键互换,作者是这样说的:

1
2
3
4
5
条款1:把Caps-Lock和Control键互换!
 
在Windows和苹果Mac键盘上,那个Ctrl键居然被远远地放在左下角,而Ctrl对于emacs的使用却是时时刻刻都很重要的,
如果你不把Ctrl放到一个更舒服的位置,你就很难成一个emacs艺术大师了。这位置应该与你的基本手位处于同一行,
那么,Caps Lock是最佳选择。在很多unix工作站上,这个位置放的就是Ctrl键,原因同上。

我觉得说的挺有道理的,于是乎,赶紧照着说明把caps lock键和右ctrl键交换过来了,右ctrl键使用的更少,你还可以把caps lock键和右ctrl键旁边的那个右键菜单键,那个键使用的更不频繁。交换方法如下:(以下方法是交换caps lock键和左ctrl键)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
要想在w2000或者XP中实现这个互换,需要修改注册表。从开始菜单中选择“运行”,输入regedit。在左边的树状视图中,找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
点击 KeyboardLayout 项,使之获得焦点。再从“编辑”菜单中选择新建一个二进制值,命名为 "Scancode Map",它的类型应该显示为 REG_BINARY。
然后选择这个新建的"Scancode Map"值项,用“编辑”菜单中选择修改二进制值,在二进制编辑对话框中,输入下列数据:
 0000: 00 00 00 00 00 00 00 00
 0008: 03 00 00 00 3A 00 1D 00
 0010: 1D 00 3A 00 00 00 00 00
 
选择OK关闭对话框,退出注册表编辑器,注销后重登入,你的caps和ctrl键应该就互换成功了。也可能要重启一次。
 
在linux的X-Window中,可以使用xmodmap工具。在你的主目录新建一个名字为.xmodmap的文件,如果已经存在则只需修改。向该文件加入下列内容:
 !
 ! 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
保存,再向你的 /etc/rc.local 文件加入一行:
xmodmap ~/.xmodmap 2>/dev/null
 
在Mac OS X(Panther或Jaguar)中,你得安装一个修改过的键盘驱动,这说来有些吓人,但是很有效。
这儿有个关于驱动的讨论:
http://www.macosxhints.com/article.php?story=20031102032521826
如果你用的不是Mac笔记本,好像有一个XML文件可以编辑来实现,可以参考这儿:
http://www.eecs.wsu.edu/%7Eschneidj/mac-os-x-10.3.html#swap
下面的URL有一条关于在其它系统上实现的信息:
http://www.manicai.net/comp/swap-caps-ctrl.html

windows用户还可以去这里看看一些比较好用交换按键的软件, 使用极其简单.

刚开始的时候特别不习惯,因为要用左小拇指来按那个caps lock键,而左小拇指不太容易用力,其中比较难按的键有Ctrl+A,Ctrl+S,Ctrl+Q,Ctrl+Z,主要是那些与caps lock键离的很近的键,不过天将降大任于斯人也,必先苦其心志阿,我经过几天的折磨我的左小拇指,终于能非常熟练的把caps lock键当ctrl键使了,确实方便多了,敲caps lock键的时候,手根本不需要离开键盘区域,特别方便,我现在到别人的机器上,去按Ctrl键,感觉好不习惯,明显觉得Ctrl键比caps lock键难按多了,:)当然, 并不是只有用emacs才需要交换这两个键, 不用emacs的话当然也可以交换, 毕竟快捷键基本上都是以Ctrl键开头的.

分享家:Addthis中国
GD Star Rating
loading...
交换你的Caps-Lock和右Control键, 6.5 out of 10 based on 8 ratings 标签:caps lock, control, ctrl, effective emacs, Emacs, linux, profile, se, text, windows, 安装, 按键

相关日志

分类: 其他, 初级
  1. 匿名
    2010年3月22日03:09 | #1

    我按键是左右两边的ctrl和alt都使用,但这样有个问题,像putty这样的终端,右边的alt是无法使用的,更可恶的是C+1,C+2,C+F1,C+F2,C+方向,这样的都无法使用,请问你有什么高招?

    [回复]

    ahei 回复:

    你说的那些键都不是标准键,能在gui下用,一般的terminal都不支持的,所以为了兼容,我一般都不设置那样的键,如果非要在putty下使用那些键,只能改putty的代码了,水木上的网友改过,您可以去水木看看。

    [回复]

  2. 匿名
    2010年3月22日04:50 | #2

    回复的好快啊,谢谢,我看到网上有很多文章设置X字体支持xft,我想问一下现在emacs23.1还需要这么设置吗?有人说emacs23已经默认使用xft了,我是新手。

    [回复]

    ahei 回复:

    Emacs23确实已经支持Xft了:

    The current stable release is 23.1. To obtain it, visit the obtaining section.

    Emacs 23 has a wide variety of new features, including:

    Improved Unicode support.
    Font rendering with Fontconfig and Xft.
    Support for using X displays and text terminals in one session, and for running as a daemon.
    Support for multi-file commits in distributed version-control systems (VC-dir).
    New modes and packages for viewing PDF and postscript files (Doc-view mode), connecting to processes through D-Bus (dbus), connecting to the GNU Privacy Guard (EasyPG), editing XML documents (nXML mode), editing Ruby programs (Ruby mode), and more.
    For more information, read its News file.

    http://www.gnu.org/software/emacs/

    [回复]

  3. wolfhuang
    2010年4月22日04:39 | #3

    引用{
    保存,再向你的 ~/.bash_profile 文件加入一行:
    xmodmap ~/.xmodmap

    这句话如果真加到bash启动文件的话,会发现有时启动这两个键换过来了,有时有换回去了,准确说就是每次启动都toggle了下,man xmodmap 有说明,原文如下:
    This example can be run again to swap the keys back to their previous assignments.
    因此在修改或创建了.xmodmap文件后只需要执行一下xmodmap ~/.xmodmap 就可以了。
    另外一点,xmodmap只能用于X环境下的键映射工具,man是这么描述xmodmap的:
    utility for modifying keymaps and pointer button mappings in X
    呵呵,目前我也没搞过命令行下怎么重映射键位

    [回复]

    ahei 回复:

    @wolfhuang, 谢谢,我当初就发现了这个问题,后来加到/etc/rc.local里面了,就可以了,只是忘记改文章了,现在改过来了。你说的命令行下改是啥意思?启动的时候只启动纯终端,不开x?还是启动x,但是在伪终端下使用?比如在gnome-terminal下使用?如果是后者的话,这个方法就可以的。

    [回复]

  4. wolfhuang
    2010年4月22日06:15 | #4

    我的意思是不开X,之启动纯终端,就是没有图形界面情况。而且最好加个判断是不是启动X系统了,是的话再执行xmode ~/.xmodmap:例如:
    if [ -n "$DISPLAY" ]; then
    if (which xmodmap); then
    xmodmap ~/.xmodmap

    fi
    fi > /dev/null
    呵呵,其实不加也不会出现什么大问题,我试了,只是提示一个错误而已,没有什么大的问题。

    [回复]

    ahei 回复:

    @wolfhuang, 纯终端我也不知道怎么交换两个按键,不过你应该不会经常遇到纯终端的情况吧?我基本不会遇到。你说的另外一个问题这样就可以了: xmodmap ~/.xmodmap 2>/dev/null

    [回复]

  5. wolfhuang
    2010年4月22日06:53 | #5

    呵呵,我也基本不会遇到。
    刚使用了下wmacs下的w3m,发现评论下的[回复]不能用,回车后提示错误,好像是不能执行javascript,所以我只能在最下面的回复栏里写回复了。

    [回复]

    ahei 回复:

    @wolfhuang, wmacs的w3m?你用w3m浏览我的网站?w3m不支持js阿

    [回复]

  6. spp
    2010年5月24日07:45 | #6

    我根据 楼主提供的方法更换了键盘中键的位置,但是我觉得 要是 把capsLock跟右边的ctrl换掉会更方便的, 请楼主赐教我更换方法。 :-o

    [回复]

    ahei 回复:

    @spp, 把相应的Control_L变成Control_R呗

    [回复]

    Sam 回复:

    @ahei,

    把capsLock跟右边的ctrl换掉
    或者把caps lock键和右ctrl键旁边的那个右键菜单键互换

    在windows中应该如何换呢?????

    要改二进制值?怎么改?是什么原理啊???????

    [回复]

    ahei 回复:

    @Sam, 你去找一个叫remapkey的软件

    [回复]

  7. pavilion
    2010年7月10日14:26 | #7

    谢谢,按你的方法没改成功(也不知道为啥),我用的ubuntu,发现系统设置里边有,所以直接偷了个懒,不过发现还瞒好用的 :-D ……

    [回复]

    ahei 回复:

    @pavilion, :) 能用就好

    [回复]

  8. wolfhuang
    2010年7月15日16:54 | #8

    有时会用到右边的Alt键,但是Alt键不太好按,我就把它跟shift_R换了个位置,加入.xmodmap文件如下:
    !
    !Swap Alt_R and Shift_R
    !
    remove shift = Shift_R
    keysym Shift_R = Alt_R
    keysym Alt_R = Shift_R
    add shift = Shift_R

    执行命令#xmodmap .xmodmap

    [回复]

    wolfhuang 回复:

    @wolfhuang, 呵呵发现少加了两行,正确如下
    remove shift = Shift_R
    remove mod1 = Alt_R
    keysym Shift_R = Alt_R
    keysym Alt_R = Shift_R
    add shift =Shift_R
    add mod1 = Alt_R

    [回复]

  9. cbkid
    2010年7月16日00:14 | #9

    其实在linux下如果用gnome或者kde的话都可以在键盘布局里面改,里面就有这些类似把capslock改为ctrl啦,capslock改为esc啦。很方便,但是该后不爽的是切换输入法很麻烦,还有用chromeplus时候的切换标签都很麻烦,有没有在只改emacs下的。

    [回复]

    ziegfeld 回复:

    @cbkid, xfce压力很大

    [回复]

    ahei 回复:

    @ziegfeld, 为何

    [回复]

    ziegfeld 回复:

    @ahei, 没有G、K那样键盘布局选项可以直接改啊,
    要用xmodmap写。
    另外cdkid 也用ChromePlus呀~我在win下还用,但是linux下他太烂了。

    [回复]

    ahei 回复:

    @ziegfeld, xmodmap挺方便的阿

    [回复]

    ziegfeld 回复:

    @ahei, 嗯,博主,我想要交换caps和
    右边的WIN键 (SUPER_R)怎么办呢?
    要不要多remove什么东西?

    另外,我是ubuntu10.10 x64, 把xmodmap命令写到 etc/rc.local 无效啊!
    我都给弄晕了,写到 ~/.profile /etc/bash.bashrc 都没有用
    每次我都自己运行一遍这个命令,然后再等待一会儿才真正生肖交换完毕的

    郁闷。。。

    [回复]

    ahei 回复:

    @ziegfeld, 你看看xmodmap的man.我是把左capslock和右control交换的:

    !
    ! Swap Caps_Lock and Control_L
    !
    remove Lock = Caps_Lock
    remove Control = Control_R
    keysym Control_R = Caps_Lock
    keysym Caps_Lock = Control_R
    add Lock = Caps_Lock
    add Control = Control_R

    有的ubuntu版本放到/etc/rc.local是无效,我也不知道啥原因,我现在都放到一个脚本里,启动机器后,手动执行一下.可以顺便把thunderbird, browser等需要用的程序都放到那个脚本里,一起启动一下

    [回复]

  10. Mew
    2010年11月28日22:43 | #10

    HHKB果然是最适合EMACS的键盘

    [回复]

    David 回复:

    @Mew, 能hack的键盘基本都适合~

    [回复]

    匿名 回复:

    @Mew,
    HHKB好像没有右边的CTRL 这样按个CTRL-X 1不要痛苦死

    [回复]

评论分页
1 2 3 34352
  1. 2012年2月3日21:47 | #1
  2. 2012年4月15日20:16 | #2
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: