如何在Linux系统上重新映射(交换)修饰键?
我想在我的电脑上安装Debian Jessie,并将其与Emacs一起使用。 我有一个Emacs的MacBook,并主要使用它。 以下是笔记本上的按键排列方式:
fn ctrl alt cmd spacebar cmd alt
fn在我的Emacs工作stream程中没有使用,其他键configuration如下:
Hyper
Meta
Control
这些configuration为我Emacs体验(大拇指命中Control
cmd键),我习惯了这种键绑定。
默认情况下alt被用作Meta
,而ctrl被用作Control
,按键被交换,大拇指放在Meta
我想以同样的方式在Linux上configuration我的密钥,这是我的电脑键盘上的:
ctrl 赢得 alt 空格键 alt win 菜单 ctrl
所以,为了与我的笔记本电脑键相对应,我需要将胜利键映射到Alt
修饰符,并将Alt键映射到Control
修饰符。 在这种情况下, ctrl可以用作Super
修改器,而菜单可以保持不变。
是否可以在Linux(Debian)系统上进行这样的configuration?
最后,我设法通过以下configuration实现我的目标:
!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
此外,这里是相当有帮助和简单的指南类似的问题 。
xmodmap
是开始的地方,牢记X对Hyper
或Meta
一无所知,所以你必须研究emacs对这些修饰符使用哪个编号的修饰符(mod4,mod5等)。
以下是一些有用的链接:
另外和可能比使用xmodmap
更容易检查由setxkbmap
给出的键盘布局选项。 这些选项实现了常见的xmodmap
更改,所以它们可能包含你想要的。
例如,我喜欢 – 选择-option ctrl:nocaps
,这为我添加了caps lock
另一个control
。 请考虑文件/usr/share/X11/xkb/rules/base.lst
以获取标准选项的列表。
但是, xmodmap
和setxkbmap
包含纯文本tty
终端(非X)的键盘设置。