问题是:
说明:
我想在我的电脑上安装Debian Jessie,以便与Emacs一起使用.我有一台带有Emacs的MacBook并主要使用它.以下是笔记本电脑上按键的排列方式:
fn ctrl alt cmd spacebar cmd alt
fn在我的Emacs工作流程中未使用,其他键配置如下:
> ctrl充当Hyper
> alt充当Meta
> cmd充当控件
这些配置让我感觉很舒服Emacs体验(大拇指点击Control cmd键),我习惯了这种键绑定.
默认情况下,alt用作Meta,而ctrl用作Control,键是交换的,大拇指放在Meta上
我想在Linux上以同样的方式配置我的密钥,这是我在PC键盘上的内容:
ctrl win alt spacebar alt win menu ctrl
因此,为了对应我的笔记本电脑键,我希望将win键映射到Alt修饰符,并将alt键映射到Control修饰符.在这种情况下,ctrl可以用作超级修饰符,而菜单可以保持不变.
是否可以在Linux(Debian)上进行系统范围的配置?
最后,我设法通过以下配置实现了我的目标:
!file ~/.Xmodmap clear control clear mod1 clear mod4 keycode 37 = Super_L ! left Ctrl becomes Super keycode 64 = Control_L ! left Alt becomes Control keycode 133 = Alt_L Meta_L ! left Win becomes Alt keycode 108 = Control_R ! right Alt becomes Control keycode 134 = Alt_R Meta_R ! right Win becomes Alt keycode 105 = Super_R ! right Ctrl becomes Super add control = Control_L Control_R add mod1 = Alt_L Meta_L add mod4 = Super_L Super_R
此外,这里是similar question与非常有用和简单的指南.
解决方法
xmodmap
是开始的地方,请记住,X对Hyper或Meta一无所知,所以你必须调查看看哪些编号修饰符(mod4,mod5等),emacs用于这些修饰符.
以下是一些有用的链接:
> XModMap
> How to separate alt and meta keys in emacs
> MetaKeyProblems
> Emacs does not use swapped alt&win after xmodmap runs? (GUI emacs)