交换alt和super

用户名

我有一台运行Linux的Macbook Air。我想互相交换键盘两侧altsuper键。

如何使用cli工具做到这一点?

更新

在Drav Sloan回答之后,我使用了以下内容:

keycode 64 = Alt_L
keycode 133 = Super_L
remove Mod1 = Alt_L
remove Mod4 = Super_L
add Mod1 = Super_L
add Mod4 = Alt_L

keycode 108 = Alt_R
keycode 134 = Super_R
remove Mod1 = Alt_R
remove Mod4 = Super_R
add Mod1 = Super_R
add Mod4 = Alt_R
德拉夫·斯隆(Drav Sloan)

实现该目标的一种方法是通过xmodmap您可以运行xev以获取关键事件。在运行时,xev将出现一个框,您可以将其聚焦,然后按要交换的键。它应该输出与Alt密钥相似的详细信息

KeyPress event, serial 28, synthetic NO, window 0x8800001,
  root 0x25, subw 0x0, time 2213877115, (126,91), root:(1639,475),
  state 0x0, keycode 14 (keysym 0xffe9, Alt_L), same_screen YES,
  XLookupString gives 0 bytes: 
  XmbLookupString gives 0 bytes: 
  XFilterEvent returns: False

我在PC上,没有“命令键”,但有等效的“ Windows键”,xev给出:

KeyPress event, serial 28, synthetic NO, window 0x8000001,
  root 0x25, subw 0x0, time 2213687746, (111,74), root:(1624,98),
  state 0x0, keycode 93 (keysym 0xffeb, Super_L), same_screen YES,
  XLookupString gives 0 bytes: 
  XmbLookupString gives 0 bytes: 
  XFilterEvent returns: False

由于xmodmap不了解state,并且很容易破坏键映射,因此建议您执行以下操作:

xmodmap -pke > defaults

然后我们创建一个xmodmap文件:

keycode 14 = Alt_L
keycode 93 = Super_L
remove Mod1 = Alt_L
remove Mod4 = Super_L
add Mod1 = Super_L
add Mod4 = Alt_L

请注意我如何使用xev返回的键码同样在这里,我只替换左超级键和alt键(而将右键保留为它们的旧行为)。然后,我们可以简单地运行xmodmap,以设置以下键:

$ xmodmap -v modmap.file
! modmap:
! 1:  keycode 14 = Alt_L
        keycode 0xe = Alt_L
! 2:  keycode 93 = Super_L
        keycode 0x5d = Super_L
! 3:  remove Mod1 = Alt_L
! Keysym Alt_L (0xffe9) corresponds to keycode(s) 0xe
        remove mod1 =  0xe
! 4:  remove Mod4 = Super_L
! Keysym Super_L (0xffeb) corresponds to keycode(s) 0x5d
        remove mod4 =  0x5d
! 5:  add Mod1 = Super_L
        add mod1 = Super_L
! 6:  add Mod4 = Alt_L
        add mod4 = Alt_L
!
! executing work queue
!
        keycode 0xe = Alt_L
        keycode 0x5d = Super_L
        remove mod1 =  0xe
        remove mod4 =  0x5d
        add mod1 = Super_L
        add mod4 = Alt_L

您可以在不使用-v(详细)开关的情况下运行以进行静默运行,但是如果您在modmap文件中犯了错误,我认为它很有用。如果情况变得混乱,则只需重新应用默认值即可:

xmodmap defaults

Modmap通常是在X的启动时运行的,因此,如果将modmap命令放在中,则可以将它们作为默认值应用~/.xmodmaprc

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

锁与比较和交换

来自分类Dev

sprintf参数交换和HEREDOC

来自分类Dev

使用指针和“ ^ =”交换值

来自分类Dev

在Ubuntu 13.10中重新映射Ctrl,Alt和Super键

来自分类Dev

IIS暂存和生产交换

来自分类Dev

在Saucy中用Left Win交换Left Alt(13.10)

来自分类Dev

隐藏的键绑定?(特别是Ctrl + Alt + D和Shift + Super +!)

来自分类Dev

交换,交换和待机:唤醒时开始交换

来自分类Dev

在Saucy中用Left Win交换Left Alt(13.10)

来自分类Dev

隐藏的键绑定?(特别是Ctrl + Alt + D和Shift + Super +!)

来自分类Dev

PostgreSQL,拖动和交换

来自分类Dev

锁与比较和交换

来自分类Dev

KVM和交换空间

来自分类Dev

我的Ctrl和Alt键被交换了,我该如何将它们交换回去?

来自分类Dev

在Kinesis键盘(或任何键盘)上交换左Alt和右Alt

来自分类Dev

Linux,SSD和交换

来自分类Dev

如何在一个键盘而不是另一个键盘中交换ALT和Windows键?

来自分类Dev

Linux用xmodmap交换alt和meta中断'5'(需要管理员注意)

来自分类Dev

Gnome上的Super + Tab和Alt + Tab有什么区别?

来自分类Dev

交换,交换和待机:唤醒时开始交换

来自分类Dev

在Ubuntu 14.04上交换Apple键盘的'Super_R'和'ISO_Level3_Shift'键的角色

来自分类Dev

内存:堆栈和交换

来自分类Dev

使用alt + shift交换键盘

来自分类Dev

alt + tab和alt + escape之间的区别

来自分类Dev

同时交换分区和交换文件?

来自分类Dev

我可以在KDE中交换CTRL和ALT吗?

来自分类Dev

从17.04升级到17.10后,Alt + Tab和Super + Tab不起作用

来自分类Dev

SharedPreferences 和变量交换

来自分类Dev

如何将左 Alt 与右 Alt 交换