Costumo digitar as mesmas palavras em várias aplicações:
- Editor (emacs, vi)
- Navegador da Web
- Cartuchos
Seria ótimo ter um preenchimento automático das palavras que eu digitei durante a última semana disponível em todos os aplicativos acima.
Cada um deles tem uma maneira de melhorar a velocidade da digitação. Mas algo no nível da área de trabalho seria o melhor.
Exemplo: "Integração Contínua". Eu quero uma maneira rápida de digitar esta palavra sem alterar o programa que recebe a entrada.
Já existe algo assim?
desktop-environments
usability
guettli
fonte
fonte
Respostas:
A solução para sua solicitação é o método de entrada.
O que você descreveu é algo familiar para a maioria dos usuários da linguagem CJK. Vamos revisar como o método de entrada funciona nos sistemas Linux atuais.
O sistema de método de entrada
Aqui está uma arquitetura simples para um sistema de método de entrada comum:
NOTA: Tirei uma foto dessa imagem do protocolo X Input Method . Algumas das setas são irrelevantes para a discussão seguinte.
Historicamente, o XIM (o protocolo X Input Method) era o único protocolo. É excessivamente complexo e carece de alguns recursos desejados. Portanto, a maioria é abandonada, embora a compatibilidade ainda seja fornecida por kits de ferramentas populares como GTK, Qt.
Um sistema moderno de métodos de entrada contém várias partes:
Suporte de biblioteca do lado do cliente
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/
)Como essas peças se encaixam?
Um usuário digita uma chave. O servidor X recebe o evento de hardware da interface evdev, compõe um XEvent e envia para o aplicativo sob o foco do teclado. O módulo do método de entrada do kit de ferramentas do aplicativo (GTK, Qt) intercepta o evento e passa as informações para o servidor do método de entrada. O servidor do método de entrada calcula o que o usuário pode desejar e passa algum texto de volta ao módulo de IM.
Agora, vamos falar sobre a arquitetura do servidor de MI.
Um servidor de IM geralmente consiste em duas partes:
Em suma, o que um IM faz é transformar o que você digita em algo diferente e, opcionalmente, fornecer previsões.
Um exemplo
Usamos
ibus-pinyin
aqui para digitar alguns caracteres chineses.A romanização de 汉语拼音 é
han yu pin yin
. Em, primeiro você precisa digitar todas essas letras para obter os quatro caracteres chineses. Mas, depois de algumas vezes, você só precisa digitar os quatro caracteres iniciaish y p y
para obter o caractere chinês.No
ibus-pinyin
caso,han yu pin yin
é reduzido parah y p y
.Mecanismos de MI mais avançados utilizam técnicas de aprendizado estatístico para fornecer uma melhor previsão. Nada pode impedir você de escrever um mecanismo de método de entrada em inglês para fornecer um impulso de digitação.
Como bônus, todos os kits de ferramentas têm suporte ao método de entrada, exceto alguns programas X simples e antigos. Portanto, esta é uma solução bastante universal.
Agradecimentos a Anders FU Kiær. Recursos / Booster de digitação | O Wiki do Projeto Fedora deve ser a resposta
fonte
Dê uma olhada no meu script, TextSuggest .
Em ação:
Instalação:
Instale os seguintes pacotes:
xdotool
xclip
suckless-tools
(paradmenu
)Em seguida, atribua 2 atalhos de teclado:
python3 /path/to/TextSuggest.py
O primeiro simplesmente fornecerá uma lista pesquisável de todas as palavras. Use o segundo quando tiver algum texto selecionado e desejar obter sugestões / conclusões.
As sugestões aceitas são armazenadas como histórico (e são sugeridas primeiro) no arquivo
~/.textsuggest_history.txt
.Você pode definir palavras personalizadas e expansões / aliases em
~/.Custom_Words.txt
.fonte
Dê uma olhada no Autokey . Pode atender às suas necessidades. C / P em seu site:
fonte