Xorg:如何将AltGr映射到CapsLock键(以切换3级符号)


12

和我不需要的一样多CapsLock。我想重新分配它,使其具有的功能AltGr。我使用Kubuntu 9.10,但我认为必须有一个独立于发行版的解决方案。

我已经尝试使用setxkbmapxmodmapxmodmap至少通过使用此描述,我设法CapsLock使其表现出类似Del的行为。

但是我无法实现将AltGr行为分配给CapsLock

Answers:


14

我知道这个问题很旧,但是如果有人再次跌跌撞撞,就会有另一种解决方案:

setxkbmap -option "lv3:caps_switch"

有关选项的完整列表,请阅读以下内容的“选项”部分

man xkeyboard-config

6

根据丹尼斯的回答并玩弄xev我发现魔术短语似乎是ISO_Level3_Shift

至少这对我有用:

xmodmap -e "keycode 66 = ISO_Level3_Shift"

现在,在德语键盘上键入[,],{,}和co时,我不会碰到手指折断的危险。

编辑:现在使用xmodmap的-e选项


谢谢!从Windows迁移到Ubuntu以来,我一直在寻找这个。没有此JavaScript,德语键盘会很痛苦。
gzost '16

1

尝试以下方法之一(如果不同,请用大写锁定键的keyim或键码代替):

xmodmap -e "keysym 0xffe5 = Mode_switch"

要么

xmodmap -e "keycode 66 = Mode_switch"

谢谢。您的行不能直接工作有两个原因:1. xmodmap需要一个文件,因此我必须通过管道传输字符串并从stdin中读取。2.已成功分配Mode_switch,但未生成第三级修饰符。然后我再次玩xev。当我意识到字符串“ Mode_switch”显示在此处时,很容易按AltGr并在相应的位置查看可以读取的内容。-> ISO_Level3_Shift
cknoll 2010年

@basweber:我忘记了该-e选项。我已经编辑了答案。
暂停,直到另行通知。

是。那比管道方法干净得多。
cknoll 2010年

1

Long的答案是像Gnome这样的现代台式机的最佳答案,因为Gnome本身使用xkb并默认覆盖xmodmap配置(而且,xmodmap即将退出,在Wayland中不受支持)。不幸的是,它仍然只能工作直到重启。

您可以使用以下命令将该选项永久性地应用于Gnome桌面:

gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:caps_switch']"

当然,您也可以永久使用此更改,甚至可以在整个系统范围内进行更改,而无需使用Gnome。如果您使用Gnome,则仍应使用上述命令来防止Gnome覆盖此设置。对于Arch,您可以添加/etc/X11/xorg.conf.d/90-custom-kbd.conf具有以下内容的文件:

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "lv3:caps_switch"
EndSection

我认为这在发行版之间会有所不同,因此您的里程可能会有所不同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.