如何将左 Alt 与右 Alt 交换

如何将左 Alt 与右 Alt 交换

如何交换按键并使左键也能发挥Alt作用?AltGr我尝试了xmodmap以下方法:

clear mod1
clear mod5
keycode 108 = Alt_L Meta_L
keycode 64 = Alt_R Meta_R
add mod1 = ISO_Level3_Shift
add mod5 = Alt_L Meta_L

但它不起作用。xev我向左击时的输出Alt

KeyRelease event, serial 38, synthetic NO, window 0xb000001,
    root 0x1e0, subw 0x0, time 70149128, (43,110), root:(3464,565),
    state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,

右边Alt

KeyPress event, serial 38, synthetic NO, window 0xb000001,
    root 0x1e0, subw 0x0, time 70149484, (43,110), root:(3464,565),
    state 0x10, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,

我看到人们尝试使用ISO_Level3_Shift有没有办法使用 setxkbmap 将 AltGr 键重新映射到 Ctrl?xmodmaphttps://askubuntu.com/questions/93624/how-do-i-swap-left-ctrl-with-left-alt-on-my-keyboard但这还不够。文档xmodmap很糟糕。

答案1

man xkeyboard-config,选择第 3 级的按键,列出了几个选项来修改对第三级的访问。

lv3:alt_switch             Any Alt
lv3:lalt_switch            Left Alt
lv3:ralt_switch            Right Alt
lv3:ralt_switch_multikey   Right Alt; Shift+Right Alt as Compose
lv3:ralt_alt               Right Alt never chooses 3rd level

因此

setxkbmap -option lv3:lalt_switch -option lv3:ralt_alt

使左侧 Alt 进入第三级,右侧 Alt 成为普通 Alt。

将命令放入启动脚本中以使其持久化,或者在基于 Debian 的系统中包含以下选项/etc/default/keyboard:

XKBOPTIONS="lv3:lalt_switch,lv3:ralt_alt"

相关内容