加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:50:52 所属栏目:Linux 来源:网络整理
导读:问题是: 如何在Linux上重新映射(交换)系统范围内的修改键? 说明: 我想在我的电脑上安装Debian Jessie,以便与Emacs一起使用.我有一台带有Emacs的MacBook并主要使用它.以下是笔记本电脑上按键的排列方式: fn ctrl alt cmd spacebar cmd alt fn在我的Emacs
问题是:

如何在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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读