Blog Linux Avante

Como Automatizar a Digitação Repetitiva (Expansão de Texto) Com AutoKey no Linux

8 de novembro de 2020

Expansão de texto AutoKey no Linux

A expansão (ou substituição) de texto ajuda a economizar tempo ao transformar abreviações em uma longa sequência de texto. Use-o para aumentar sua produtividade inserindo rapidamente uma frase que você precisa digitar com frequência, seu endereço, código e assim por diante, em qualquer aplicativo.

Este artigo explica como automatizar a digitação repetitiva usando AutoKey, um utilitário de automação de desktop para Linux/X11. Usando isso, você digitará menos e fará mais, não importa o aplicativo usado, uma vez que a expansão/substituição de texto funcionará em qualquer aplicativo - um navegador da web, editor de texto ou código e assim por diante.

Por exemplo, você pode digitar addr e, em seguida, pressionar Space, Tab ou Enter e o AutoKey expande-o para seu endereço completo. Ou você pode definir um atalho de teclado no AutoKey e pressioná-lo para inserir automaticamente seu endereço (ou qualquer outro texto de sua preferência) no aplicativo em foco. Existem também casos de uso mais avançados, como selecionar algum texto e envolvê-lo em blocos de código, por exemplo.

Vale a pena notar que como este é um aplicativo X11, ele não funcionará corretamente se você usar o Wayland (por exemplo, o Fedora usa o Wayland por padrão; se você quiser usar o Xorg, você deve fazer logout e selecionar "GNOME no Xorg" no ícone de engrenagem ao lado do botão Sign In).

Relacionado: Use Espanso Text Expander para economizar tempo e aumentar a produtividade (Linux, Windows, macOS)

Instalando AutoKey

Instale AutoKey

Debian, Ubuntu e Debian ou distribuições Linux baseadas no Ubuntu, como Linux Mint, Elementary OS, Pop!_OS e assim por diante

Para Ubuntu 20.04/Linux Mint 20/Debian bullseye ou sid e mais recente, instale AutoKey a partir dos repositórios:

Comandos para usar no terminal

sudo apt install autokey

Para Ubuntu 18.04, Debian Buster, Linux Mint 19.x, etc.:

Eu recomendo usar a versão mais recente do AutoKey. Por exemplo, no Ubuntu 18.04, que tem AutoKey 0.90.4 (Debian Buster e mais antigos têm a mesma versão, mas eu não tentei no Debian), eu travava frequentemente ao tentar usar este aplicativo, isso sendo corrigido depois instalando a versão mais recente disponível no AutoKey GitHub.

Portanto, neste caso, baixe a última do AutoKey da guia de versões do GitHub. Você encontrará pacotes DEB para download - obtenha (e instale) o pacote DEB autokey-common e autokey-qt para a versão QT (por exemplo, se você usar Kubuntu/KDE Plasma) ou o autokey-gtk para a versão GTK (por exemplo se você usa o Ubuntu com uma área de trabalho baseada em GNOME, incluindo Xfce, Cinnamon, MATE, etc.).

Remova quaisquer pacotes AutoKey que você possa ter instalado antes de instalar os DEBs da página de versões do AutoKey GitHub:

Comandos para usar no terminal

sudo apt purge autokey*

Por exemplo, supondo que você baixou os pacotes DEB autokey-common e autokey-gtk em sua pasta de início, instale-os no Debian/Ubuntu usando:

Comandos para usar no terminal

sudo apt install ~/autokey-*.deb

Fedora

  • Instale AutoKey-GTK:

Comandos para usar no terminal

sudo dnf install autokey-gtk

  • Instale AutoKey-Qt:

Comandos para usar no terminal

sudo dnf install autokey-qt

Arch Linux ou Manjaro

AutoKey pode ser instalado a partir do Arch User Repository.

Se você usa outras distribuições Linux, pesquise Autokey nos repositórios ou consulte as instruções de instalação na página do projeto AutoKey (você também pode clonar o repositório e executá-lo diretamente sem instalá-lo).

É importante notar que AutoKey precisa de uma bandeja/indicador para funcionar. Se você usa GNOME Shell, certifique-se de ter uma bandeja (por exemplo, instalando a extensão AppIndicator Support - isso não é necessário no Ubuntu, pois esta extensão é instalada por padrão). A bandeja pode ser usada para mostrar a janela principal do aplicativo (o AutoKey inicia na bandeja, tendo sua janela principal oculta) e executar frases ou scripts.

Devo também acrescentar que a AutoKey precisa estar em execução para que as abreviações de expansão de texto e as teclas de atalho funcionem, portanto, certifique-se de ativar a opção Automatically start AutoKey at login em suas preferências.

Expansão de texto no Linux usando AutoKey

Você pode alterar a abreviatura e a frase nas instruções abaixo para atender às suas necessidades, pois este é apenas um exemplo para mostrar como funciona a AutoKey e como criar suas próprias expansões de texto.

Vamos criar uma abreviatura que será substituída por uma frase usando AutoKey. Abra a janela principal do AutoKey (clique em Show Main Window no menu da bandeja do AutoKey), clique em My Phrases na barra lateral e, em seguida, clique em New > Phrase na barra de ferramentas para adicionar uma nova frase. Vamos chamar essa nova frase de test neste exemplo.

No painel do lado direito, digite a frase para a qual deseja que isso seja expandido. Para este teste, vamos usar Testing AutoKey text expansion on Linux como a frase:

tutorial de expansão de texto autokey 1

AutoKey suporta o uso de uma abreviação ou uma tecla de atalho para inserir este texto repetitivo. A seguir, explicarei como usar essas duas opções.

Expanda o texto usando uma abreviatura

Clique no botão Set ao lado de Abbreviations. Na janela que aparece, adicione test como a abreviação e clique no botão OK (deixando as opções de abreviatura como padrão, conforme mostrado na imagem abaixo):

tutorial de expansão de texto autokey 2

Em seguida, clique no botão Save na barra de ferramentas AutoKey. Depois disso, você está pronto para tentar sua expansão de teste.

Para tentar esta expansão de texto de teste, digite test em um editor de texto, em um campo de entrada de texto do navegador ou onde quiser e, em seguida, pressione Space, Enter ou Tab, ou qualquer não palavra, e o texto deve ser automaticamente expandido de test para Testing AutoKey text expansion on Linux.

Isso ocorre porque na janela de abreviações usamos o acionador padrão All non-word. Você pode alterar isso para que a substituição de texto só aconteça quando você pressionar Space and Enter ou Tab na janela de abreviações:

Abreviações Autokey

Você também pode definir várias outras opções lá, como combinar maiúsculas e minúsculas com a abreviação digitada, disparar quando digitada como parte de uma palavra (eu não recomendo isso) e assim por diante.

Inserindo texto repetitivo usando uma tecla de atalho

As abreviações são apenas uma forma de inserir texto usando a AutoKey. Se preferir, você também pode inserir texto usando um atalho de teclado, que não exige a digitação de uma abreviatura.

Para inserir algum texto que você precisa digitar com frequência usando um atalho de teclado, clique no botão Set ao lado de Hotkey, clique em Press to Set na janela recém-aberta e pressione a combinação de teclas que deseja usar para esta frase:

AutoKey definir tecla de atalho

Certifique-se de usar uma tecla de atalho que ainda não esteja em uso, caso contrário, pode não funcionar/interferir com a tecla de atalho já definida. Para experimentar, configure-o para algo como Ctrl + F1 (que não deve ser configurado pelo menos pelo sistema).

Lembre-se de clicar no botão Save na barra de ferramentas AutoKey após definir a frase de atalho, caso contrário, as alterações não terão efeito. Agora experimente: coloque o foco em um editor de texto, algum campo de texto em um formulário da web, etc., e pressione a tecla de atalho que você configurou no AutoKey - a frase Testing AutoKey text expansion on Linux deve ser inserida automaticamente assim que você pressionar o atalho do teclado.

Restringindo a expansão do texto para um determinado aplicativo/janela

Se você quiser:

  • use a expansão de texto apenas com um determinado aplicativo ou janela, ou
  • use a mesma abreviatura/tecla de atalho em vários aplicativos/janelas, mas com uma frase diferente para cada aplicativo ou janela

Em seguida, você pode aplicar um filtro de janela à sua frase.

Autokey definir filtro de janela

Para fazer isso, pressione o botão Set (1) próximo a Window Filter, a seguir clique no botão Detect Window Properties (2) na janela que aparece e clique na janela onde deseja que esta expansão de texto funcione (3) (Gedit em a captura de tela do exemplo acima).

Depois disso, uma nova janela Set Window Filter aparecerá, perguntando se você deseja usar a classe de janela (para que corresponda a essa janela, não importa o seu título) ou o título da janela (para que corresponda a essa janela apenas quando tiver esse título de janela específico) - escolha aquele que se adapta às suas necessidades e clique em OK (4).

Lembre-se de clicar no botão Save na barra de ferramentas AutoKey depois de definir isso, ou as alterações não terão nenhum efeito.

Envolvendo texto ou código em torno do texto existente

Um dos principais motivos pelos quais comecei a usar a AutoKey é para poder envolver algum código em torno do texto existente. Por exemplo. Posso selecionar this text, pressionar um atalho de teclado e this text se torna <code>this text</code>.

Na verdade, o AutoKey tem um exemplo para realizar esta tarefa (e algumas outras tarefas avançadas) embutido, mas pensei em mencioná-lo de qualquer maneira, pois pode não estar claro que isso é possível e fácil de fazer com este aplicativo bacana:

text = clipboard.get_selection()
keyboard.send_key("<delete>")
keyboard.send_keys("The text %s was here previously" % text)

Você encontrará este exemplo na AutoKey Sample Scripts em sua barra lateral, com o nome Selection Test.

Quando atribuído a um atalho de teclado, esse script substitui o texto selecionado atualmente por The text %s was here previously, onde %s é o texto original selecionado.

Exemplo: se você selecionar a palavra TEST e pressionar a tecla de atalho atribuída a este script, TEST é substituído por The text TEST was here previously (isso funciona em um campo de texto editável, portanto, não tente nesta página da web, pois não funcionará).

Desta forma, você pode, por exemplo, envolver <code> </code> ou em torno do texto selecionado, por exemplo:

text = clipboard.get_selection()
keyboard.send_key("<delete>")
keyboard.send_keys(\'<code>%s</code>\' % text)

Usando isso, selecionar TEST e pressionar a tecla de atalho atribuída altera de TEST para <code>TEST</code>.

Como uma observação lateral, certifique-se de usar AutoKey v0.95.4 ou mais recente se quiser colocar literais <code> e </code> em frases ou se quiser enviar usando a função keyboard.send_keys, pois não era possível antes desta versão Devido a um bug.

Veja o wiki AutoKey para perguntas frequentes, limitações conhecidas e alguns exemplos de scripts.

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.
Propaganda