在Linux上重新映射Win,Ctrl和Alt键

前端之家收集整理的这篇文章主要介绍了在Linux上重新映射Win,Ctrl和Alt键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是:

如何在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与非常有用和简单的指南.

解决方法

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)

猜你在找的Linux相关文章