【发布时间】:2015-11-15 21:45:36
【问题描述】:
问题:
如何在 Linux 系统范围内重新映射(交换)修饰键?
解释:
我想在我的 PC 上安装 Debian Jessie 以将其与 Emacs 一起使用。我有一台带有 Emacs 的 MacBook,主要使用它。以下是笔记本电脑上按键的排列方式:
fn ctrl alt cmd 空格键 cmd alt
fn 在我的 Emacs 工作流程中未使用,其他键配置如下:
-
ctrl 充当
Hyper -
alt 充当
Meta -
cmd 充当
Control
这些配置简化了我的 Emacs 体验(大拇指点击 Control cmd 键)并且我习惯了这种键绑定。
默认情况下,alt 被用作Meta,而ctrl 被用作Control,键被交换并且大拇指放在@987654328 @
我想以同样的方式在 Linux 上配置我的按键,这是我 PC 键盘上的内容:
ctrl win alt 空格键 alt win 菜单 ctrl
所以,为了对应我的笔记本电脑键,我希望 win 键映射到 Alt 修饰符,而 alt 键映射到 Control 修饰符.在这种情况下,ctrl 可以用作Super 修饰符,而 menu 可以保持不变。
是否可以在 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,提供非常有用且简单的指南。
【问题讨论】:
标签: linux emacs configuration keyboard