Como trocar Ctrl esquerdo com Alt esquerdo no teclado?

39

Não existe essa opção nas Opções de layout do teclado, o que é triste.

Como posso fazer isso manualmente?

izhak
fonte
11
A resposta é praticamente uma bobagem da minha resposta aqui: askubuntu.com/questions/23491/…
djeikyb

Respostas:

47

Para fazer isso manualmente, você deseja criar um arquivo chamado .Xmodmap no seu diretório pessoal. Você pode fazer isso usando um comando do terminal

~$ gedit ~/.Xmodmap

Isso criará o arquivo e o abrirá no gedit. Adicione as seguintes linhas ao arquivo:

clear control
clear mod1
keycode 37 = Alt_L Meta_L
keycode 64 = Control_L
add control = Control_L Control_R
add mod1 = Alt_L Meta_L

Salve o arquivo e feche o gedit. Na próxima vez que você fizer login, as novas impressões de teclas estarão ativas. Para que as configurações tenham efeito imediato, execute o seguinte comando:

~$ xmodmap ~/.Xmodmap

Há uma chance de os códigos de tecla acima serem diferentes no seu computador. Se o acima não funcionar, tente executar o programa xev na linha de comando. O Xev irá gerar uma nova pequena janela no canto da tela. Se você começar a pressionar as teclas do teclado, obterá todas as informações de mapeamento de teclas para esse pressionamento.

~$ xev

Por exemplo, se eu pressionar "q" quando o xev estiver em execução, obtenho a seguinte saída:

KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0xb6, subw 0x0, time 9127480, (21,-17), root:(22,36),
state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
XLookupString gives 1 bytes: (71) "q"
XFilterEvent returns: False

keycode 24 é a informação que buscamos. Pressione os botões Ctrl esquerdo e Alt esquerdo enquanto executa o xev para obter seus próprios códigos de tecla e confirmar se são os mesmos que os usados ​​acima.

Espero que ajude.

Cossovich
fonte
O arquivo não existe no Ubuntu 16.04.
MERose
11
Isso costumava funcionar com o 16.04, mas não mais no 17.10.
Niklas
2
Eu tenho que executar novamente xmodmap ~/.Xmodmaptoda vez que eu reiniciar. Como posso automatizar isso?
Mwirabua Tim
askubuntu.com/a/749662/894748 @MwirabuaTim verificar isso
VNC
16

Se você não quer se incomodar xmodmap, também pode fazê-lo através das configurações do gnome.

sudo apt-get install gnome-tweak-tool, abra-o, vá para Digitação e altere a opção de posição da tecla Ctrl para Alternar para a esquerda Alt e Ctrl :

insira a descrição da imagem aqui

Você provavelmente também poderia fazer isso via gsettings, mas não tenho certeza do nome exato da entrada de configuração.

hwjp
fonte
Eu estou tentando usar a ferramenta de ajustes no ubuntu gnome 15.10 e ignora a "swap left win key with left control". Alguma ideia? Estou tentando trocar o L-SUPER, mas suponho que eles sejam a mesma chave.
Dori
segurando os canudos, mas talvez você precise reiniciar ou sair e fazer login novamente no gerenciador de janelas?
Hwjp
Tentei isso e não dif ...
Dori
4
Parece que "Digitando" foi removido no Ubuntu 17.10. Agora está em "Teclado e Mouse" -> "Opções adicionais de layout"
Wurstsalat
Agora está sob "Opções de layout adicionais"
ZiglioUK
10

Simplesmente crie ~ / .Xmodmap usando um editor de texto simples e reinicie o Xserver.


!
! based on: http://www.emacswiki.org/emacs/SwapControlAltAndCapsLock#toc8
!

!----------------------------------------------------------
! Swap Control and Alt keys, both sides
!----------------------------------------------------------

! First clear all modifiers & control
clear control
clear mod1
clear mod4

! Swap Control_L and Alt_L
keycode  64 = Control_L
keycode  37 = Alt_L Meta_L

! Menu becomes Alt_R Meta_R (AltGr)
keycode 135 = Alt_R Meta_R

! Define Control_R and Alt_R similar to Control_L and Alt_L
keycode 108 = Control_L
keycode 105 = Alt_L Meta_L

! We need to set keycodes first, as some programs (emacs!) read
! the key names and seem to ignore what's below.
add mod1    = Alt_L Alt_R Meta_L Meta_R
add mod4    = Super_L Super_R
add control = Control_L Control_R


!------------------------------------------
! Caps_Lock becomes an additional BackSpace
!------------------------------------------
remove lock = Caps_Lock
keysym Caps_Lock = BackSpace
Richard Gomes
fonte
Isso funcionou como um campeão no Crouton Ubuntu Unity no Chromebook. Eu tive que correr xmodmap ~/.Xmodmappara carregá-lo. Não tenho certeza se tenho que fazer isso em cada reinicialização.
swt83
@ swt83: você pode estar interessado nisso: github.com/frgomes/carpalx, que demonstra como redefinir todo o teclado, se desejar.
Richard Gomes
0

Se você quiser manter a tecla Ctrl na posição normal enquanto estiver usando aplicativos de terminal e aplicativos de GUI, poderá ver o Kinto.

https://github.com/rbreaves/kinto

Aqui está um resumo do que ele está fazendo essencialmente, é relativamente simples, na verdade, mas eu criei um instalador, o Kinto, que usa o systemd e trabalha em sistemas baseados em x11 que criarão um serviço / script com xprop que escuta o nome do aplicativo ativo.

https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb

Eu gostaria de oferecer suporte a Wayland e x11 com uma única solução, mas o xprop não foi feito para esse mundo.

Aqui está uma prova de conceito para o KDE Plasma 5 Wayland. https://github.com/rbreaves/applet-window-title/commit/ff17e694579a52a9848d6bea87b2d11f22033718

R Ben R
fonte