首页 > 其他, 初级 > 交换你的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. Mew
    2010年11月30日13:00 | #1

    其实脚踏开关最美了,左脚Control右脚Meta,多美好啊…… :)

    [回复]

    hylan 回复:

    @Mew, 试着手脚配合一下,太不好了。不灵活,累。

    [回复]

    ahei 回复:

    @hylan, 呵呵,咋不灵活了?

    [回复]

  2. 2010年12月12日15:05 | #2

    看李杀网的介绍,当初emacs开发时,原来ctrl所在的位置是现在alt所在的位置,所以我觉得可以把现在的alt改成ctrl,win键改成ctrl更好用。──这只对笔记本来说,台式机的ctrl用手掌很好按的。

    [回复]

    lynn 回复:

    @lynn, 又想到一个更好的方案,左边alt和ctrl交换,其它都不变,想要C时按alt,想要M时去按右边那个alt!把两个大指姆充分利用起来,小指姆几乎没有压力了。所以终于明白为什么Xah Lee说要找一个两边alt对等的键盘了,我估计他就是这样按的。

    [回复]

    ahei 回复:

    @lynn, 呵呵,个人还是更喜欢把capslock键和右边的菜单键交换

    [回复]

    lynn 回复:

    @ahei, capslock可以有更好的用途,那就是变成backspace
    这两天在看关于键盘布局相关的东东,colemak键盘布局默认就是把capslock改成退格键,这可以减少相当多的手指移动。

    [回复]

    ahei 回复:

    @lynn, backspace我都是用C-h的,在bash下都是用C-h做backspace的,看帮助我设置了一些更方便的按键. Emacs中ctrl键明显使用频率最高,把capslock键当ctrl键,这样三排字母键都能照顾到,把win键当ctrl键, 这样按上面一排字母键明显不太方便, 呵呵, 而且ubuntu下, 我还把win键定义成一些全局的快捷键, windows下win键当然也有好多其他全局快捷键

    [回复]

  3. hqkng
    2010年12月19日20:41 | #3

    哈哈,初学emacs。就看到这么好玩的讨论了,运气不错~

    [回复]

  4. 雪狼湖
    2011年1月14日10:18 | #4

    我也交换了用确实比较方便了,但是主要问题是似乎连续按那个被更换的Caps lock键不能像原来的Ctrl一样可以连续响应,比如C-x C-f以前是按住ctrl然后x,f。现在必须要Capslock x 然后抬起Capslock按Capslock f
    不知道怎么解决这个按能Capslock一直响应Ctrl.

    [回复]

    雪狼湖 回复:

    @雪狼湖,
    并且我觉得那个caps lock键不是总用,可以用右ctrl键或者win键代替之。然后把capslock换成ctrl,而原来的ctrl不换,这样就真的方便很多。唯一比较痛苦的还是那个连续响应的问题,比如要是删除一个东西c-h 这样用capslock h,可就要删一个字符抬起来一下子capslock.

    [回复]

    ahei 回复:

    @雪狼湖, 不会阿,我的可以阿,我用过别人的,也可以的

    [回复]

    雪狼湖 回复:

    @ahei,
    我刚才试了一下c-h删除的时候如果你一直按住没问题还用,如果安的中间稍微停了一下子
    比如抬起来一下h再去按h的时候,就不行了,这个过程中caps-lock一直按住了。
    并且我测试了C-x C-f我的还是不行,如果我不抬一下子capslock 按的就是C-x f

    [回复]

    ahei 回复:

    @雪狼湖, 那你杯具了

    [回复]

    雪狼湖 回复:

    @ahei,
    找到问题了,我的笔记本自带的键盘没问题但是外接的dell键盘就不行了,真是奇怪。

    [回复]

    poponion 回复:

    @雪狼湖, 我也遇到一样到问题 请问你有方法解决吗?

    [回复]

    匿名 回复:

    @poponion, 没有解决办法,因为我的情况更加复杂,我的键盘是串口,我是用了一个转接口转到usb的,所以问题就在这里,如果你是一个usb键盘应该不会有问题。所以我没在测试直接换了一个usb键盘就没问题了。哈哈,试着换键盘吧,没办法。串口的早该淘汰了。

    [回复]

    ppoponion 回复:

    @, 好吧 我的情况跟你一摸一样,刚买的转接口
    用过时键盘的人伤不起啊 买键盘去……….

    [回复]

    ahei 回复:

    @雪狼湖, 我就是把capslock和右ctrl键交换的, :)

    [回复]

    匿名 回复:

    @ahei, 在windows里怎么修改了

    [回复]

    悱然 回复:

    @, 用Autohotkey,想怎么改都行。

    [回复]

  5. victor
    2011年1月19日00:06 | #5

    我想在linux下面交换右ctrl键和右窗口键,应该如何修改啊?

    [回复]

    ahei 回复:

    @victor, 还真不知道

    [回复]

    tubo 回复:

    @ahei,
    xmod 配置一下应该可以。

    [回复]

    victor 回复:

    @tubo, 刚才配置了一下没有成功,还是用的fedora里面自带的工具把ctrl映射到了Win键上

    [回复]

  6. 2011年1月20日14:32 | #6

    @victor
    http://forum.ubuntu.org.cn/viewtopic.php?f=24&t=282374

    文章标题 : 用xmodmap交换Win键和Ctrl键

    [回复]

    ahei 回复:

    @tubo, 哦,win键阿,是可以的

    [回复]

  7. fi5e
    2011年1月25日18:10 | #7

    UBUNTU 10.10中键盘首选项内有交换CapsLock和Ctrl的选项

    [回复]

    maunix 回复:

    @fi5e,
    Debian Squeeze 系统菜单中亦支持CapsLock和Ctrl 交换选项!

    [回复]

  8. 匿名
    2011年5月14日11:00 | #8

    怎样在windows里交换caplock键和右ctrl键了? 这里只说了caplock和左ctrl键交换的方法

    [回复]

    langfanyun 回复:

    @,
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
    “Scancode Map”=hex:
    00,00,00,00,00,00,00,00,
    03,00,00,00,3a,00,1d,e0,
    1d,e0,3a,00,00,00,00,00

    [回复]

  9. 匿名
    2011年7月2日18:33 | #9

    为什么,我用KeyTweak,替换后,Caps和Ctrl 都变成Ctrl了???? :?:

    [回复]

    ahei 回复:

    你没弄对吧?

    [回复]

  10. chunfeng
    2011年11月28日00:45 | #10

    Mac的版本如果是10.4以上,可以直接在keyboard设置里面交换 Capslock 和 control。
    刚才在网上找到的:http://c2.com/cgi/wiki?RemapCapsLock

    [回复]

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