Xorg: Como posso mapear o AltGr para a tecla CapsLock (para alternar entre os símbolos do terceiro nível)

12

tantos outros que eu não preciso CapsLock. Quero reatribuí-lo para que ele tenha a função de AltGr. Eu uso o Kubuntu 9.10, mas acho que deve haver uma solução que seja independente da distribuição.

Eu já tentei usar setxkbmap ou xmodmap. Usando xmodmappelo menos eu consegui que CapsLockse comportasse como Delseguindo esta descrição .

Mas não consegui atribuir o AltGrcomportamento a CapsLock.

cknoll
fonte

Respostas:

14

Sei que essa pergunta é antiga, mas se alguém a encontrar novamente, haverá uma solução alternativa:

setxkbmap -option "lv3:caps_switch"

Para obter uma lista completa de opções, leia a seção "OPÇÕES"

man xkeyboard-config
Grandes
fonte
6

Com base na resposta de Dennis e brincando, xevdescobri que a frase mágica parece ser ISO_Level3_Shift.

Pelo menos isso funciona para mim:

xmodmap -e "keycode 66 = ISO_Level3_Shift"

Agora não corro o perigo de quebrar meus dedos enquanto digito [,], {,} e co no layout do teclado alemão.

Edit: agora usando a opção -e do xmodmap

cknoll
fonte
Obrigado! Eu estava procurando exatamente isso desde que mudei para o Ubuntu a partir do Windows. Sem esse JavaScript, há uma dor no teclado alemão.
gzost
1

Experimente uma destas opções (substitua o código ou o código da sua tecla caps-lock, se for diferente):

xmodmap -e "keysym 0xffe5 = Mode_switch"

ou

xmodmap -e "keycode 66 = Mode_switch"
Pausado até novo aviso.
fonte
Obrigado. Sua linha não funcionou diretamente por dois motivos: 1. O xmodmap quer um arquivo, então eu tenho que canalizar a string e ler a partir de stdin. 2. O interruptor de modo foi atribuído com êxito, mas não resultou no modificador de terceiro nível. Então eu joguei com o xev novamente. Quando percebi que a string "Mode_switch" aparece lá em cima, era fácil pressionar AltGr e ver o que se podia ler no lugar correspondente. -> ISO_Level3_Shift.
Cknoll
@basweber: esqueci a -eopção. Eu editei minha resposta.
Pausado até novo aviso.
Sim. Isso é muito mais limpo que a abordagem de tubulação.
Clloll
1

A resposta de Long é a melhor para desktops modernos como o Gnome, porque o próprio Gnome usa xkb e sobrescreve as configurações do xmodmap por padrão (também, o xmodmap está saindo e não é suportado em Wayland). Infelizmente, ainda funcionará apenas até a reinicialização.

Você pode aplicar esta opção permanentemente à área de trabalho do Gnome com este comando:

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

É claro que você também pode fazer essa alteração permanentemente e mesmo em todo o sistema, sem usar o Gnome. Se você usa o Gnome, você ainda deve usar o comando acima para impedir que o Gnome substitua essa configuração. Para o Arch , você pode adicionar um arquivo /etc/X11/xorg.conf.d/90-custom-kbd.confcom o seguinte conteúdo:

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

Suponho que isso difere entre distribuições, portanto sua milhagem pode variar.

Daniel R.
fonte