如何交换按键并使左键也能发挥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?和xmodmap
:https://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"