Remapeamento complexo do teclado no Linux

0

Aqui está outra pergunta sobre o remapeamento de chaves nas distribuições modernas do Linux.

Antecedentes:

Sou usuário do Mac há seis anos e usuário do Linux há cerca de 20 anos. Isso causou dois problemas:

  • Codificar em um teclado sueco em um Mac é horrível, então fui forçado a usar um layout americano ao codificar
  • Alternando constantemente entre layouts de teclado no Linux e no Mac

No Mac, fiz algumas alterações no layout dos EUA para obter acesso aos caracteres suecos (å, ä, ö). Para obter esses caracteres em um teclado sueco, normalmente há três teclas à direita do teclado. Eu remapeei aqueles com Ukelele para que normalmente eles funcionassem como em um layout americano, mas com "alt" (ou "alt + shift") pressionado eu recebo os caracteres suecos. Depois de algum tempo se acostumando com isso, funciona muito bem.

Em segundo lugar, é bastante comum os usuários do Linux remapearem as teclas ctrl-win-alt, de modo que a tecla win atue como uma segunda tecla ctrl. Isso faz com que a maioria dos atalhos funcionem da mesma maneira no Mac e no Linux. Há uma configuração para isso no GNOME (ou no GNOME Tweaks): "Ctrl é mapeado para Win e as teclas Ctrl usuais".

Mas o pedido ainda não é o mesmo que em um teclado Mac: o mac tem "comando de opção de controle", mas um teclado de PC tem "ctrl win alt". Há outra opção no GNOME Tweaks: "Alt é trocado por Win". Infelizmente, o GNOME Tweaks permite apenas uma destas opções.

Então aqui está o remapeamento completo que eu quero (baseado em um layout americano):

  • Alt + "[" = > å
  • Alt + Shift + "['" = > Å
  • Alt + "'" = > ä
  • Alt + Shift + "'" = > Ä
  • Alt + ";" = > ö
  • Alt + Shift + ";" = > Ö
  • Ctrl esquerda = > Ctrl esquerda
  • Vitória à esquerda = > Alt esquerdo
  • Alt esquerdo = > Ctrl esquerda
Infelizmente, parece haver tantas opções de como conseguir isso, e todas elas são difíceis de acertar, então eu gostaria de receber ajuda sobre isso!

(No Mac, consegui fazer isso usando o Ukelele, uma ferramenta gráfica para criar um layout de teclado que é então instalado para que eu possa alternar para ele com a mesma facilidade com que você pode alternar entre um layout dos EUA ou da Suécia. bom.)

Atualização:

Eu tenho a parte Ctrl / Alt / Win resolvida. Eu criei um novo arquivo (chamado "jomag" no meu caso) e coloquei em "/ usr / share / X11 / xkb / symbols /":

partial modifier_keys              
xkb_symbols "jomag" {     
        key <LALT> { [ Control_L, Control_L ] };     
        key <LWIN> { [ Alt_L, Alt_L ] };             
        modifier_map Control { <LALT>, <LWIN> };     
};                        

Também adicionei uma linha a / usr / share / X11 / xkb / rules / evdev:

! option     =    symbols
jomag:jomag  =    +jomag(jomag)    <--- this one

Não tenho certeza se foi necessário.

Descobri que a melhor maneira de carregá-lo é usando o setxkbmap:

setxkbmap -option jomag:jomag

Para recarregar, execute com a opção vazia:

setxkbmap -option
setxkbmap -option jomag:jomag
    
por Jonatan 02.03.2018 / 11:06

0 respostas