Eu tenho um teclado Mac onde as teclas Alt / Win (ou seja, Option / Command) são invertidas em comparação com um teclado normal do PC, e eu gostaria de trocá-las. Ainda não tive sorte com o xmodmap. A configuração padrão é a seguinte:
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Atualmente, as teclas alt esquerda / direita são códigos de tecla 64 e 108, enquanto as teclas esquerda / direita do Windows são 133 e 134.
Eu aprecio qualquer ajuda!
setxkbmap -device 8 dvorak -option altwin:swap_alt_win,ctrl:nocaps
. Eu só quero o Alt e o Win certos trocados. Isso não "cancela" a troca à esquerda:setxkbmap -device 8 dvorak -option altwin:swap_lalt_lwin,altwin:swap_alt_win,ctrl:nocaps
. Aparentemente não háaltwin:swap_ralt_rwin
opção, de acordo comman xkeyboard-config
.Respostas:
Este é o meu Xmodmaprc:
Você terá que modificar seu .xsession ou .xinitrc para chamar xmodmap .Xmodmaprc
fonte
Eu consegui isso no Ubuntu 13.04 combinando a resposta de Christophe (que me ajudou, mas não funcionou para os modificadores e eu não preciso de graves e til para serem chaves mortas), outra resposta sobre o setxkbmap , jogando com diferentes opções em configurações de teclado-layout de opções (mesmo olhando para o Código fonte ) e inspecionando a configuração atual usando o comando
setxkbmap -query
(que você também deve executar, para verificar o modelo específico do teclado e os códigos de layout, pois eles podem ser diferentes).Eu tenho um script que eu chamo quando mudo para um teclado da Apple (a opção crucial sendo
altwin:swap_lalt_lwin
para trocar as teclas modificadoras Alt e Super):E outro que eu chamo quando estou de volta em um teclado normal:
Note que eu adicionei as configurações
para habilitar a terminação de sessão do Gnome ctrl + alt + backspace, acesso de chave de nível 3 usando a tecla de vitória direita, mudança de layout pressionando ambas as teclas shift e transformou meu Caps Lock em um Ctrl adicional (respectivamente). Você pode querer excluir alguns ou todos eles.
Você pode usar AutoKey para vincular a chamada a algum atalho de teclado ou chamá-lo de seu
.profile
ou.bashrc
se você usar o teclado da Apple o tempo todo.fonte
setxkbmap -option altwin:swap_lalt_lwin
e se você quiser alternar as teclas alt e super esquerda e direita, use este comando:setxkbmap -option altwin:swap_alt_win
.Você também pode definir o
hid_apple
opções do módulo do kernel para modificar apenas o teclado da apple, mas não os teclados normais do PC. Não há necessidade de usar xkbmap ou Xmodmapr. Basta criar o arquivo/etc/modules.d/hid_apple.conf
com o conteúdofnmode=2
mapeia as teclas de função paraF1...F12
sem a necessidade de pressionarFn
. Omitir, se você preferir as teclas de mídia. Veja o Wiki do Arch para mais.Permanentemente no Ubuntu :
fonte
Eu descobri que no Ubuntu 16.04 que usa xkb e gnome você precisa de alguns passos extras quando comparado ao Christopher Devine's answer resposta acima se você quiser manter todo o comportamento de atalho para as teclas alt e super. Esta foi a solução mais fácil que encontrei.
Para obter os números dos seus códigos, na linha de comando
$ xev
e digite as chaves para as quais deseja obter o número. Para mais informações, veja este post: Uso xev e xmodmapFazendo isso me dá:
Super_L
tem código de acesso 133Alt_L
tem código de acesso 64Então, para trocar o Comando do Windows aka (no Mac), também conhecido como Super key pela tecla Alt esquerda, eu faço:
As duas últimas linhas adicionam o mod1 e mod4 de volta ao keysym para Alt_L e Super_L assim que foram removidos. Se isso não for feito, perco os atalhos associados à superchave (pesquisa) e também interrompe a combinação alt + tab para alternar entre as janelas.
Você pode adicionar esses comandos em um arquivo como .xmodmap e depois
$ xmodmap .xmodmap
irá executá-los.Como alternativa, você pode executá-los sequencialmente na linha de comando, como:
$ xmodmap -e <expression here>
Se você quiser retornar aos mapeamentos de teclas padrão, poderá inverter os números no código acima, como:
ou no Ubuntu eu apenas corro:
$ setxkbmap
fonte