『小拇指疼』的终结解决方案:对换两个键

把空格左边的键改成 Ctrl,右边的键改成 Alt,左手大拇指按 Ctrl,右手大拇指按 Alt,完事。


  • 不用学 modal editing:不是每个人都喜欢 modal editing 的(就像玩鬼泣有人喜欢用 Dante 有人喜欢用 Nero)
  • 不用买特殊的键盘
  • 不用练习用小鱼际按 Ctrl:除了难练之外,很多键盘左下角是 Fn 键,换个键盘就很容易按错的

理由:Emacs pinky 大多是因为常常要扭曲小拇指去够 Ctrl 键(或者 Caps Lock 键,比 Ctrl 好点儿,但其实也会扭到小拇指),所以改用左手大拇指即可。而本来需要用左手大拇指按的 Alt,改成用右手大拇指按。


我之前左右小指疼/手腕发酸后(我一直用 Microsoft 的 ergonomic 系列键盘,所以光靠人体工学键盘是不够的),改用上述按法后,再也没有为此困扰过。

GNU/Linux 下可以用 xmodmap 改,以 Microsoft Sculpt 为例:

clear control
clear mod1
clear mod2
clear mod3
clear mod4
keycode 133 = Super_L
keycode 64 = Control_L
keycode 37 = Alt_L Meta_L
keycode 134 = Super_R
keycode 108 = Alt_R Meta_R
add control = Control_L Control_R
add mod1 = Super_L
add mod2 = Alt_L Meta_L
add mod3 = Alt_R Meta_R
add mod4 = Super_R
3 个赞

我也是用的这个办法,比较新的 linux 发行版有内置的规则哇, 可以直接用

setxkbmap -option ctrl:swap_lalt_lctl
3 个赞

我以前一直用这个方法。很舒服。不过有些小麻烦。最主要的问题是不能随处获得,临时用别人电脑的时候会极度不适应。此外,与大家的习惯相差太大,别人用自己电脑的时候要跟人家解释解释。

我现在心目中的终极解决方案其实是:粘滞键。不知道为什么大家不怎么提这个方案。优点是直接解决修饰键的问题,一次一个键;设置简单,不用改键盘,几乎随处可用,至少Windows各个版本都支持。

mac有人配置过类似的,我试了,还不错。

(when (eq system-type 'darwin)	; mac specific bindings
  (setq mac-right-command-modifier 'meta ; right cmd = meta
	    mac-command-modifier 'control ; left cmd = control
	    mac-option-modifier 'super ; left option = super
	    mac-right-option-modifier nil ; right option = special characters
	    mac-control-modifier 'hyper ; left control = hyper
	    ns-function-modifier 'hyper ; fn key = hyper
	    ns-right-alternate-modifier nil)); don't know what that is so I unbound it

我自己的键盘不知道为什么左右的command modifer调转了,所以只要

(when (eq system-type 'darwin)	; mac specific bindings
  (setq mac-right-command-modifier 'control ; right cmd = meta
        mac-command-modifier 'meta ; left cmd = control
        mac-option-modifier 'super ; left option = super
        mac-right-option-modifier nil ; right option = special characters
        mac-control-modifier 'hyper ; left control = hyper
        ns-function-modifier 'hyper ; fn key = hyper
        ns-right-alternate-modifier nil)); don't know what that is so I unbound it

这样尽量用拇指来输入modifier key,大大减少小拇指的使用。

1 个赞

这个方案真不错, 希望以后多多分享

1 个赞

调换按键的方式我之前也试过,使用emacs 确实舒服了,不过如果同时还需要使用更多别的应用时,可能就会不适应。比如有些应用是Ctrl+Shit+Alt 这个几个组合键来实现一些快捷操作的情况。

特别是Mac下,cmd按键会变成ctrl。要花时间把cmd的按键映射到ctrl上。或者要用Bettertouchtool把一些原有的cmd组合键映射到ctrl对应的组合键,例如cmd+h映射为ctrl+h。

其实如果一直用一台机器的话,怎么改都容易适应。不过,像我这种经常需要在Windows机器和Mac之间切换的,还是尽量不改变原有键盘布局。
所以,我才最终采用掌压的方式,加上windows上通过xkeymacs实现全局Emacs按键,这样和Mac的使用体验就更接近了。

囧rz,看了这个方案后我好像终于明白了小拇指疼的原因了,我一直都是用caps代替ctrl键,没想到小拇指按多了还是会疼,看来得学习使用下这个方案了

我用了10年了,没疼啊 其实还有一种方法,就是用脚踩踏板,代替Ctrl键。 哈哈

我不知道是不是我手指太弱了,我以前这样干了之后,大拇指疼了,也不是疼,就是很难受。按 alt 之类的时候可以感觉到。

不是你手指太弱,我也是这样啊,大拇指再强壮,按多了也会疼。

不明白为什么大家都不用粘滞键。

不知道你们为什么要用小拇指,我都是无名指按ctrl按了十几年,一点都不疼

我用了几天后,左手大拇指的确有点不舒服,因为终究位置不是很自然。

试了一天,确实很不错,虽然一开始有点不习惯。

我也用caps代替过ctrl键,但只要还用小拇指就一样会疼,大拇指也一样用得太多,太频繁还是会疼的,目前我感觉最好的办法是按快捷键用两支手一起按,一支手按shift,一支手按字母,只要键盘上有两个shift键,且比caps,enter键都要大,手指就肯定不会疼的,如果这都还疼说明应该休息了

我自己是用模式编辑的,极少用到 ctrl 和 alt。 自己还有一个长按大写的插件,用来解决按 shift 的问题。

手指就集中在主要的键盘的主区域,配上小红点,我觉得体验很好。

我这样用了5,6年了,用起来很爽,但是,左手大拇指按多了,也会不舒服的。

粘滞键 是什么,有什么好处?

将空格右边的ALT换成CTRL。win7下改注册表:

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