Existe uma ferramenta para criar rapidamente layouts de teclado personalizados para teclado internacional, matemática grega e unicode?

20

Existe uma ferramenta para criar rapidamente layouts de teclado personalizados?

Por exemplo, para conseguir isso: /tex//a/86559/1871

teclado

Produzindo caracteres Unicode em camadas secundárias, mas com base no internacional dos EUA (teclas Alt GR desativadas)

Isso é principalmente para digitar matemática usando Unicode, mas mantendo a camada padrão internacional dos EUA.

Talvez já exista um preparado bastante geral, se sim, como instalá-lo?

Esta pergunta não é sobre gerar atalhos em um aplicativo específico, mas alterar o layout do teclado do sistema.

alfC
fonte
Você pode escrever um layout herdado de outro, ref: askubuntu.com/questions/482678/… . Para símbolos matemáticos, use as ferramentas de mapa de caracteres Unicode para obter seu código. Em seguida, insira-os na forma de 0x100xxxxou UXXXX. ex: askubuntu.com/questions/380776/stabilizing-characters-like-and
user.dz

Respostas:

14

Acho que essa ferramenta pode funcionar para você, embora nunca a tenha usado. keyboardlayouteditor

Se não funcionar, com um pouco de paciência, você poderá criar um layout de teclado personalizado.

Eu sei que não é uma maneira rápida de fazer isso, mas, dessa maneira, você aprenderá alguma coisa.

Se você decidir fazer isso sozinho, a única coisa que precisará fazer é editar um arquivo localizado em / usr / share / x11 / xkb / symbols.

Dentro da pasta "symbols", você encontrará todos os arquivos de layout do teclado.

Faça backup do arquivo que você deseja usar, no seu caso, o arquivo "us".

Para fazer backup do arquivo, abra um terminal e digite:

cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/us_backup

Agora abra o arquivo "us":

sudo gedit /usr/share/X11/xkb/symbols/us

Você verá algo assim:

// Alphanumeric section
key <TLDE> {    [     grave,    asciitilde  ]   };
key <AE01> {    [     1,    exclam      ]   };
key <AE02> {    [     2,    at      ]   };
key <AE03> {    [     3,    numbersign  ]   };
key <AE04> {    [     4,    dollar      ]   };
key <AE05> {    [     5,    percent     ]   };
key <AE06> {    [     6,    asciicircum ]   };
key <AE07> {    [     7,    ampersand   ]   };
key <AE08> {    [     8,    asterisk    ]   };
key <AE09> {    [     9,    parenleft   ]   };
key <AE10> {    [     0,    parenright  ]   };
key <AE11> {    [     minus,    underscore  ]   };
key <AE12> {    [     equal,    plus        ]   };

As key <xxxx>entradas são o nome das teclas e as {[]};entradas são os símbolos

A imagem abaixo mostra os códigos principais:

insira a descrição da imagem aqui

Agora, para criar seu layout de teclado personalizado, você precisa substituir o conteúdo {[]};pelos nomes de símbolos desejados.

Por exemplo, para substituir o ponto de exclamação pelo símbolo do dólar, altere a seguinte linha

key <AE01> {    [     1,    exclam      ]   };

para isso:

key <AE01> {    [     1,    dollar      ]   };

Depois de terminar de editar o teclado personalizado, salve o arquivo e reinicie o computador.

Caso deseje voltar ao seu layout de teclado "nós" original, abra um terminal e digite o seguinte:

sudo cp /usr/share/X11/xkb/symbols/us_backup /usr/share/X11/xkb/symbols/us

Para leitura adicional:

kalpetros
fonte
Obrigado, não pude fazer KeyboardLayoutfuncionar devido a um problema de dependência com antlr3( python). A maneira manual parece viável, mas não consigo encontrar nenhum exemplo em que caracteres unicode puros foram incluídos no layout: este charvolant.org/~doug/xkb/html/… diz que um arquivo /usr/X11R6/include/X11/keysymdefhtem essas informações, mas eu posso ' Não encontro no meu sistema.
Alf2 # 13/13
Se você não consegue encontrar keysymdefhaberto um tipo de terminal e:sudo apt-get install x11proto-core-dev
kalpetros
Talvez valha a pena mencionar que você pode se meter em muitos problemas se simplesmente remapear todos os seus caracteres / teclas latinos, pois não poderá mais digitar o comando necessário para recuperar o teclado, ou seja, substituir a letra ccom dollaro deixará incapaz de digitar cp.
Nonsensickle
esta ferramenta é, infelizmente, abandonware e depende de software desatualizado, mas as informações sobre a edição manual ea imagem do teclado são super útil e ainda é relevante, obrigado
Sarge Borsch
1

Recentemente, olhando para os pacotes que encontrei mathwriter input.

Aparentemente, isso no Gnome3 permite a entrada de caracteres matemáticos como se fosse uma linguagem especial. Isso permite inserir símbolos digitando o nome do símbolo; na tela, aparece um menu com opções e o espaço disponível permite escolher uma correspondência.

Links relevantes:

https://launchpad.net/ubuntu/+source/ibus-table-others/1.3.5-2

https://github.com/mike-fabian/ibus-table-others

https://code.google.com/p/ibus/

mathwriter

alfC
fonte
0

Esta não é uma resposta para minha própria pergunta, mas uma alternativa muito útil que consiste em configurar o gedit com a finalidade de digitar caracteres especiais / unicode.

Depois de tentar algumas das soluções propostas, percebi que alterar o layout do teclado é um exagero. Afinal, eu precisava apenas do código (principalmente "string" s com unicode e matemática no LaTeX). Então, decidi que, para meu propósito, era melhor tornar meu editor capaz de converter palavras escritas em caracteres unicode.

Meu editor é gedit, que tem um plugin padrão chamado Snippets. Percebi que, se eu colocasse os caracteres especiais, ~/.config/gedit/snippets/global.xmlseria capaz de digitá-los em qualquer arquivo de texto.

Eu criei um programa que lê uma tabela de caracteres unicode e seus nomes comuns e cria o arquivo de trechos. Desse modo, digito o nome do personagem, gostei, _alphapressiono TABe αaparece. Não há combinações de teclas ou camadas de teclado para lembrar.

Após o processo, minha ~/.config/gedit/snippets/global.xml arquivo fica assim. Não se esqueça de ativar o plugin Snippet.

<?xml version='1.0' encoding='utf-8'?>
<snippets>
  <snippet>
    <description>New snippet</description>
  </snippet>
  <snippet>
    <text><![CDATA[α]]></text>
    <tag>_alpha</tag>
    <description>alpha</description>
  </snippet>
  <snippet>
    <text><![CDATA[β]]></text>
    <tag>_beta</tag>
    <description>beta</description>
  </snippet>
  <snippet>
    <text><![CDATA[χ]]></text>
    <tag>_chi</tag>
    <description>chi</description>
  </snippet>
  <snippet>
    <text><![CDATA[ⅆ]]></text>
    <tag>_dd</tag>
    <description>dd</description>
  </snippet>
  <snippet>
    <text><![CDATA[γ]]></text>
    <tag>_gamma</tag>
    <description>gamma</description>
  </snippet>
  <snippet>
    <text><![CDATA[ℏ]]></text>
    <tag>_hbar</tag>
    <description>hbar</description>
  </snippet>
  <snippet>
    <text><![CDATA[μ]]></text>
    <tag>_mu</tag>
    <description>mu</description>
  </snippet>
  <snippet>
    <text><![CDATA[ω]]></text>
    <tag>_omega</tag>
    <description>omega</description>
  </snippet>
  <snippet>
    <text><![CDATA[Ω]]></text>
    <tag>_Omega</tag>
    <description>Omega</description>
  </snippet>
  <snippet>
    <text><![CDATA[π]]></text>
    <tag>_pi</tag>
    <description>pi</description>
  </snippet>
  <snippet>
    <text><![CDATA[ε]]></text>
    <tag>_varepsilon</tag>
    <description>varepsilon</description>
  </snippet>
  <snippet>
    <text><![CDATA[𝟷]]></text>
    <tag>_1</tag>
    <description>1</description>
  </snippet>
</snippets>

Notas:

  1. A ideia é tirada daqui http://ubuntuforums.org/showthread.php?t=1892012 , com a adição de que eu escrevi um programa para gerar massivamente o arquivo a partir de uma tabela.
  2. Por que o sublinhado (por exemplo _pi)? Isso ocorre porque, caso contrário, muitos trechos entrarão em conflito com o recurso de preenchimento automático. Por exemplo, pi+ TABnão produziráπ mas produzirá picturese essa palavra for mencionada no documento.
  3. Caracteres adicionais podem ser adicionados manualmente, copiando e colando do Gnome Character Map programa.
  4. Para ativar o Snippetsplug - in, primeiro instale o gedit pluginspacote. Então vá para Preferences-> Plugin-> clique em Snippets. Em seguida, no menu Tools-> Manage Snippets..., verifique se as entradas estão disponíveis no Globalgrupo (na parte superior).
alfC
fonte