Esse é o meu teclado Nativo, adaptado pro meu uso pessoal, já de alguns anos, agora compartilhado publicamente.
Os principais leiautes disponíveis são:
- nativo - é o meu teclado nativo personalizado, listado abaixo como Nativo pessoal;
- original - é o Nativo original, o ABNT2 com as teclas reordenadas, como nasceu o Nativo, com pequenas diferenças no AltGr;
- abnt2 - é o ABNT2 tradicional, com pequenas diferenças no AltGr;
Valem pra todos os leiautes:
- Shift + espaço é underline ― de todas as mudanças, essa é a que me fez criar o repositório e liberar esses arquivos, underline fica numa posição péssima, no ABNT2, pra quem é desenvolvedor;
- o AltGr funciona como um “acento”, você aperta o AltGr e depois a letra, não precisa digitar as 2 teclas ao mesmo tempo;
- os leiautes vão funcionar mesmo em teclados padrão ANSI (tipo americano, com o enter reto), porque as teclas que ele não tem (| e /?° no ABNT2) foram alocadas no AltGr em outros teclas;
- existe um teclado numérico “oculto” nas letras, pra ser usado nos notes que não têm teclado numérico, acessado com CapsLock;
- A composição pode ser: AltGr + Control esquerdo, AltGr + Control direito, e AltGr + Menu;
- o teclado numérico sempre funciona como numérico, mesmo com o NumLock desligado;
Tem alguns outros leiautes, algumas brincadeiras minhas, nada de mais.
Nos exemplos abaixo, os acentos são mostrados usando a letra “o”;
¤ é o dead_currency, usado pra ter acesso a outros símbolos monetários: ¤ + e = €, ¤ + l = £, ¤ + y = ¥, ¤ + c = ¢ etc.
β é o dead_greek, usado pra ter acesso às letras gregas: β + a = α, β + b = β, β + d = δ, β + p = π etc.
Vira e mexe me dá na veneta, e eu altero alguma coisinha nele;
Use como um modelo pra ajustar o que você achar melhor no seu próprio teclado.
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
│ | \ │ 7 │ 5 │ 3 │ 1 │ 9 │ 8 │ 0 │ 2 │ 4 │ 6 ⁄ │ % ‰│ R$ ┃Backspace ┃
│ { ª │ } │ ( β │ ) ° │ [ < │ ] > │ = ≠ │ + ± │ - − │ * × │ / ÷ │ # º │ $ ¤ ┃ ┃
┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━━━┫
┃ ┃ ! − │ ; − │ : − │ H ◦ │ X │ W │ L « │ T » │ C ‹ │ P › │ ò ᵒ̱ │ & ¶ ┃Enter ┃
┃Tab ┃ ? − │ , − │ . − │ • │ · │ W̃ │ “ │ ” │ ‘ │ ’ │ õ ố │ " § ┃ ┃
┣━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┓ ┃
┃Caps ┃ I │ E │ A │ O │ U │ M │ D │ S │ R │ N │ ô ᵒ̣ │ @ ø ┃ ┃
┃Lock ┃ │ È │ À │ Ò │ Ŭ │ µ │ │ │ │ │ ó ö │ ' ’ ┃ ┃
┣━━━━━┳━━━┹─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┻━━━━━━━┫
┃Caps ┃ ‐ │ Y │ Ç │ J │ B │ K │ Q │ V │ G │ F │ Z │ | ┃Caps ┃
┃Shift┃ ’ │ Ỹ │ │ │ │ │ │ │ │ │ │ \ ┃Shift ┃
┣━━━━━┻┳━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━┳━━┷━━━┳━┻━━━━┳━━━━━━┫
┃ ┃ ┃ ┃ Underline _ Espaço inseparável fino ┃ ┃ ┃ ┃ ┃
┃Ctrl ┃Meta ┃Alt ┃ Espaço ␣ Espaço inseparável ┃AltGr ┃Meta ┃Menu ┃Ctrl ┃
┗━━━━━━┻━━━━━━┻━━━━━━━┹───────────────────────────────────────┺━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
│ + ± │ ! ¡ │ @ ½ │ # ¾ │ $ ¼ │ % │ ö │ & │ * │ ( │ ) │ { │ } ┃Backspace ┃
│ = § │ 1 ¹ │ 2 ² │ 3 ³ │ 4 £ │ 5 ¢ │ 6 € │ 7 β │ 8 │ 9 │ 0 │ [ ª │ ] º ┃ ┃
┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━━━┫
┃ ┃ ? ¿ │ < │ > │ H │ X │ W │ L « │ T » │ C ‹ │ P › │ ô │ _ ¶ ┃Enter ┃
┃Tab ┃ / ° │ , ; │ . : │ • │ · │ │ “ │ ” │ ‘ │ ’ │ õ ǒ │ - § ┃ ┃
┣━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┓ ┃
┃Caps ┃ I │ E │ A │ O │ U │ M │ D │ S │ R │ N │ ò │ " ┃ ┃
┃Lock ┃ │ È │ À │ Ò │ Ŭ │ µ │ │ │ │ │ ó ö │ ' ’ ┃ ┃
┣━━━━━┳━━━┹─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┻━━━━━━━┫
┃Caps ┃ : │ Y │ Ç │ J │ B │ K │ Q │ V │ G │ F │ Z │ | ┃Caps ┃
┃Shift┃ ; │ \ │ | │ │ │ │ │ │ │ │ │ \ ┃Shift ┃
┣━━━━━┻┳━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━┳━━┷━━━┳━┻━━━━┳━━━━━━┫
┃ ┃ ┃ ┃ Underline _ Espaço inseparável fino ┃ ┃ ┃ ┃ ┃
┃Ctrl ┃Meta ┃Alt ┃ Espaço ␣ Espaço inseparável ┃AltGr ┃Meta ┃Menu ┃Ctrl ┃
┗━━━━━━┻━━━━━━┻━━━━━━━┹───────────────────────────────────────┺━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
│ " | │ ! ¡ │ @ ½ │ # ¾ │ $ ¼ │ % │ ö │ & │ * │ ( │ ) │ _ │ + ± ┃Backspace ┃
│ ' \ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 £ │ 5 ¢ │ 6 € │ 7 β │ 8 │ 9 │ 0 │ - │ = § ┃ ┃
┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━━━┫
┃ ┃ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ò │ { ┃Enter ┃
┃Tab ┃ / │ ? │ ° │ ¤ │ │ │ Ŭ │ │ │ │ ó ǒ │ [ ª ┃ ┃
┣━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┓ ┃
┃Caps ┃ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ô │ } ┃ ┃
┃Lock ┃ │ │ │ │ │ │ │ │ │ │ õ ö │ ] º ┃ ┃
┣━━━━━┳━━━┹─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┻━━━━━━━┫
┃Caps ┃ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ : │ ? ¿ ┃Caps ┃
┃Shift┃ \ │ │ │ │ │ │ │ µ │ , │ . │ ; │ / ° ┃Shift ┃
┣━━━━━┻┳━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━┳━━┷━━━┳━┻━━━━┳━━━━━━┫
┃ ┃ ┃ ┃ Underline _ Espaço inseparável fino ┃ ┃ ┃ ┃ ┃
┃Ctrl ┃Meta ┃Alt ┃ Espaço ␣ Espaço inseparável ┃AltGr ┃Meta ┃Menu ┃Ctrl ┃
┗━━━━━━┻━━━━━━┻━━━━━━━┹───────────────────────────────────────┺━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛
┏━━━━━┱─────┬─────┬─────┐
┃Num ┃ ÷ │ × ⋅ │ − ₋ │ Normal Shift AltGr
┃Lock ┃ / ∕ │ * 0̅ │ - ⁻ │ / ÷ ∕ (forma frações U+2044)
┡━━━━━╃─────┼─────┼─────┤ * × 0̅ (dízima) ⋅ (multiplicação "ponto")
│ ⁷ │ ⁸ │ ⁹ │ + ₊ │ - − (negativo) ⁻ (superscrito) ₋ (subscrito)
│ 7 ₇ │ 8 ₈ │ 9 ₉ │ + ⁺ │ + ⁺ (superscrito) ₊ (subscrito)
├─────┼─────┼─────┼─────┤ , espaço fio (U+200A) espaço inseparável fino (U+202F)
│ ⁴ │ ⁵ │ ⁶ │ ˙ │ . ponto acima (U+02D9)
│ 4 ₄ │ 5 ₅ │ 6 ₆ │ . │
├─────┼─────┼─────╆━━━━━┪ Para os números, o normal é o número, Shift dá o número como potência,
│ ¹ │ ² │ ³ ┃ E ┃ AltGr dá o número como índice, AltGr + Shift dá a seta simples:
│ 1 ₁ │ 2 ₂ │ 3 ₃ ┃ N ┃ ↖↑↗
├─────┴─────┼─────┨ T ┃ ←↔→
│ ⁰ │ ┃ E ┃ ↙↓↘
│ 0 ₀ │ , ┃ R ┃ ↕
└───────────┴─────┺━━━━━┛
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
│ │ │ │ │ │ │ ≠ │ ± ₊ │ − ₋ │ × ⋅ │ ÷ ∕ │ # │ R$ ┃Backspace ┃
│ │ │ │ │ │ │ = │ + ⁺ │ - ⁻ │ * 0̅ │ / ⁄ │ % ‰│ $ ¤ ┃ ┃
┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━━━┫
┃ ┃ │ │ │ │ │ ⁹ │ ¹ │ ³ │ ⁵ │ ⁷ │ < │ > ┃Enter ┃
┃Tab ┃ │ │ │ │ │ 9 ₉ │ 1 ₁ │ 3 ₃ │ 5 ₅ │ 7 ₇ │ [ │ ] ┃ ┃
┣━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┓ ┃
┃Caps ┃ │ │ │ │ │ ⁸ │ ⁰ │ ² │ ⁴ │ ⁶ │ { │ } ┃ ┃
┃Lock ┃ │ │ │ │ │ 8 ₈ │ 0 ₀ │ 2 ₂ │ 4 ₄ │ 6 ₆ │ ( │ ) ┃ ┃
┣━━━━━┳━━━┹─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┻━━━━━━━┫
┃Caps ┃ │ │ │ │ │ │ │ ˙ │ │ │ │ ┃Caps ┃
┃Shift┃ │ │ │ │ │ │ , │ . │ 00 │ 000 │ 0000│ ZWJ ┃Shift ┃
┣━━━━━┻┳━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━┳━━┷━━━┳━┻━━━━┳━━━━━━┫
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
┃Ctrl ┃Meta ┃Alt ┃ Espaço ␣ ┃AltGr ┃Meta ┃Menu ┃Ctrl ┃
┗━━━━━━┻━━━━━━┻━━━━━━━┹───────────────────────────────────────┺━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛
A instalação depende do python 3 e do pacote lxml, instale de acordo com as instruções da sua distro.
Para instalar, execute o script atualiza.sh
Ele vai copiar os arquivos, usando sudo, para os lugares certos.
Isso feito, você pode usar os comandos:
setxkbmap -layout nativo -variant nativo
setxkbmap -layout nativo -variant original
setxkbmap -layout nativo -variant abnt2
para ativar cada leiaute; a instalação também permite a configuração correta da geometria/modelo de teclado, e do leiaute em si, nos 2 principais ambientes desktop no Linux, o KDE e o Gnome;
Testado usando xkeyboard-config versão 2.37 no Arch Linux.
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
│ | \ │ 7 │ 5 │ 3 │ 1 │ 9 │ 8 │ 0 │ 2 │ 4 │ 6 ⁄ │ % ‰│ R$ ┃Backspace ┃
│ { ᵃ̱ │ } │ ( β │ ) ° │ [ < │ ] > │ = ≠ │ + ± │ - − │ * × │ / ÷ │ # ᵘ̱ │ $ ¤ ┃ ┃
┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━━━┫
┃ ┃ ! − │ ; − │ : − │ W ◦ │ Y │ ô ò │ T « │ K » │ P ‹ │ L › │ H │ & ¶ ┃Enter ┃
┃Tab ┃ ? − │ , − │ . − │ • │ · │ ó õ │ “ │ ” │ ‘ │ ’ │ │ " § ┃ ┃
┣━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┓ ┃
┃Caps ┃ E │ U │ A │ I │ O │ D │ S │ N │ R │ M │ C │ @ ø ┃ ┃
┃Lock ┃ │ Ŭ │ À │ │ │ │ │ │ │ │ Ç │ ' ’ ┃ ┃
┣━━━━━┳━━━┹─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┻━━━━━━━┫
┃Caps ┃ ‐ │ X │ J │ Ò │ È │ Ỹ │ Z │ V │ F │ B │ G │ Q ┃Caps ┃
┃Shift┃ ’ │ │ │ │ │ │ │ │ │ │ │ ┃Shift ┃
┣━━━━━┻┳━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━┳━━┷━━━┳━┻━━━━┳━━━━━━┫
┃ ┃ ┃ ┃ Underline _ Espaço inseparável fino ┃ ┃ ┃ ┃ ┃
┃Ctrl ┃Meta ┃Alt ┃ Espaço ␣ Espaço inseparável ┃AltGr ┃Meta ┃Menu ┃Ctrl ┃
┗━━━━━━┻━━━━━━┻━━━━━━━┹───────────────────────────────────────┺━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛
o゙ + a = á o゙ + i = í
o゙ + à = â o゙ + u = ú
o゙ + e = ê o゙ + y = ỹ
o゙ + è = é o゙ + w = w̃
o゙ + o = ô
o゙ + ò = ó o゙ + c = ç