问题是:
如何在Linux上重新映射(交换)系统范围内的修改键?
说明:
我想在我的电脑上安装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与非常有用和简单的指南.