Xorg: Jak zmapować AltGr na klawisz CapsLock (aby przełączać symbole 3. poziomu)

12

jak wielu innych nie potrzebuję CapsLock. Chcę zmienić przypisanie tak, aby miało funkcję AltGr. Używam Kubuntu 9.10, ale myślę, że musi istnieć rozwiązanie niezależne od dystrybucji.

Próbowałem już użyć setxkbmap lub xmodmap. Przy użyciu xmodmapprzynajmniej udało mi CapsLocksię tak postępować, postępując Delzgodnie z tym opisem .

Nie udało mi się jednak przypisać tego AltGrzachowania CapsLock.

cknoll
źródło

Odpowiedzi:

14

Wiem, że to pytanie jest stare, ale jeśli ktoś natknie się na niego ponownie, istnieje alternatywne rozwiązanie:

setxkbmap -option "lv3:caps_switch"

Aby uzyskać pełną listę opcji, przeczytaj sekcję „OPCJE” w

man xkeyboard-config
Długi
źródło
6

Opierając się na odpowiedzi Dennisa i bawiąc się z nią xev, odkryłem, że magiczna fraza wydaje się być ISO_Level3_Shift.

Przynajmniej to działa dla mnie:

xmodmap -e "keycode 66 = ISO_Level3_Shift"

Teraz nie „grozi mi złamanie palców podczas pisania [,], {,} i co na moim niemieckim układzie klawiatury.

Edycja: teraz za pomocą opcji -e xmodmap

cknoll
źródło
Dzięki! Właśnie tego szukałem od czasu przejścia na system Ubuntu z systemu Windows. Bez tego JavaScript jest kłopotliwy dla niemieckiej klawiatury.
gzost
1

Wypróbuj jedną z nich (zastąp klawisz lub kod klawisza Caps-Lock, jeśli jest inny):

xmodmap -e "keysym 0xffe5 = Mode_switch"

lub

xmodmap -e "keycode 66 = Mode_switch"
Wstrzymano do odwołania.
źródło
Dzięki. Twoja linia nie działała bezpośrednio z dwóch powodów: 1. xmodmap chce pliku, więc muszę przesłać potokiem i odczytać ze standardowego wejścia. 2. Przełącznik Mode_switch został pomyślnie przypisany, ale nie spowodował zmiany na 3. poziomie. Potem znowu grałem z Xevem. Kiedy zdałem sobie sprawę, że pojawia się tam napis „Mode_switch”, łatwo było nacisnąć AltGr i sprawdzić, co można zamiast tego przeczytać w odpowiednim miejscu. -> ISO_Level3_Shift.
cknoll
@basweber: Zapomniałem -eopcji. Zredagowałem swoją odpowiedź.
Wstrzymano do odwołania.
Tak. To o wiele czystsze niż podejście do orurowania.
cknoll
1

Odpowiedź Long jest najlepsza dla współczesnych komputerów stacjonarnych, takich jak Gnome, ponieważ sam Gnome domyślnie używa xkb i zastępuje konfiguracje xmodmap (również xmodmap jest w drodze i nie jest obsługiwane w Wayland). Niestety nadal będzie działać tylko do momentu ponownego uruchomienia.

Możesz zastosować tę opcję na stałe na pulpicie Gnome za pomocą tego polecenia:

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

Oczywiście możesz również wprowadzić tę zmianę na stałe, a nawet w całym systemie, bez korzystania z Gnome. Jeśli używasz Gnome, nadal powinieneś użyć powyższego polecenia, aby powstrzymać Gnome przed nadpisaniem tego ustawienia. W przypadku Arch możesz dodać plik /etc/X11/xorg.conf.d/90-custom-kbd.confo następującej treści:

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

Zakładam, że różni się to między dystrybucjami, więc przebieg może się różnić.

Daniel R.
źródło