Autohotkey equivalente?


48

Existe um produto / método equivalente para o AutoHotkey. Para quem não sabe, é um produto que permite programar os movimentos do mouse e do teclado. Isso me permite "macro" certas funções em programas, em vez de ter que fazê-lo manualmente. Antigamente, eles costumavam chamá-los de tecelões. Mas isso é apenas metade da solução, pois também preciso de um stuffer de "movimento do mouse".

Existe uma fera assim?

Respostas:


31

Há uma porta do AutoHotKey para Linux chamada IronAHK e uma ferramenta semelhante chamada Autokey . Também não usei, não sei como eles funcionam.

Além desses programas, você não encontrará exatamente o mesmo tipo de ferramentas de automação. A ferramenta básica de automação de usuário em sistemas unix é o shell. O shell é a cola que combina outras ferramentas: ele pode iniciar programas externos e controlar como eles trocam dados. O próprio shell não inclui nada para manipular conceitos de GUI, como janelas e o ponteiro do mouse¹. O que você faz é chamar ferramentas especializadas em um script de shell, em particular o xdotool para manipular janelas e injetar pressionamentos de tecla e eventos de mouse .

Por exemplo, o script a seguir clica na posição (40,20) na janela do Myapp.

#!/bin/sh
xdotool search --class Myapp \
        mousemove --window %1 40 20 \
        click 1

¹ Exceto pelo dtksh , mas nunca vi uma porta Linux nele.


Bom resumo, pena que o projeto esteja desatualizado há 4 anos e os binários são todos 404, mas vamos tentar o xdotool. Obrigado por reservar um tempo.
Meer Borg

experimentou xdotool, funciona como um encanto, mas você deve definitivamente ler os seus documentos antes de iniciar
ConstantineK

1
AFAIK, IronAHK nunca foi totalmente implementado e foi abandonado.
Joe

2

Você pode usar xautomation no Linux. Uso-o nas telas do Raspberry Pi para enviar atualizações da página F5 e pressionar 'Enter' (digitar) para logins.



1

Baixe Autohotkey no Linux. Crie um arquivo de Autohotkey (exemplo.ahk). Use o vinho para executar o Ahk2Exe.exe na pasta Autohotkey. Compile seu arquivo example.ahk no exemplo.exe Use o wine para executar o exemplo.exe


2
Não é uma boa opção. Por enquanto, a funcionalidade do Autohotkey executada no wine é muito limitada: appdb.winehq.org/… .
banan3'14

1

Existem vários projetos que abordam isso. Os dois mais ativos, AFAIK, são sikuli e AutoKey (um projeto que eu ajudo a apoiar).

Eu não usei o sikuli, mas parece basear-se em encontrar padrões na tela e acionar ações com base neles.

O AutoKey permite ao usuário definir frases de gatilho e teclas de atalho que expandem frases (semelhantes a um recurso de correção automática muito poderoso) ou executam scripts escritos em Python3, limitados apenas pelas habilidades de programação do usuário. Ele fornece uma API para geração de eventos de teclado e mouse. Ele também se integra ao Xautomation, que permite encontrar uma pequena imagem na tela e mover o cursor do mouse para ela.

Uso o AutoKey há muitos anos e o apoio em nossa lista . É como uma série de ferramentas de produtividade: você pode sobreviver sem ele, mas depois que começar a usá-lo, você se perguntará como nunca o fez.

Algumas especificidades:

O AutoKey não funciona com definições e scripts do AutoHotKey. Eles terão que ser reescritos.

Escrevi um script de prova de conceito (disponível mediante solicitação) que traduz frases do AutoHotKey em frases do AutoKey, mas é apenas um ponto de partida e ignora a maioria das opções do AutoHotKey.

Como os scripts do AutoKey são escritos em Python3, também é possível chamar ferramentas como xdotool e wmctrl de dentro de um script para fornecer funcionalidade adicional, mas isso geralmente não é necessário. Embora os scripts do AutoKey sejam escritos em Python, muito pode ser realizado com um conhecimento muito limitado do Python. Você não precisa ser um programador Python fluente para a maioria dos propósitos.

Se você usa uma distribuição baseada na Debian, não instale a versão do AutoKey fornecida pela sua distribuição. O pacote do AutoKey é sem manutenção e muito antigo. Obtenha uma versão atual de nós .


0

... programe os movimentos do mouse e do teclado. Isso me permite "macro" certas funções em programas, em vez de ter que fazê-lo manualmente.

O Kantu é uma ferramenta de automação de desktops multiplataforma que funciona muito bem no Ubuntu (não testei em outros sabores)

A ferramenta básica de automação de usuário em sistemas unix é o shell.

Sim. Mas o AHK e o Kantu permitem ao usuário automatizar tarefas dentro de um aplicativo, simulando cliques do mouse e toques no teclado. O shell não pode fazer isso. Eu o uso para testes automatizados, além de alguns hacks de produtividade.

Obviamente, você pode combinar o kantu com o python ou iniciá-lo diretamente do shell.


2
Jim, se você é afiliado a um desses produtos aos quais vincula, observe que a Central de Ajuda deste site tem diretrizes sobre o Comportamento esperado, no que diz respeito à divulgação de sua afiliação nas suas respostas. As respostas que não incluem isso estão sujeitas a exclusão. Obrigado!
Jeff Schaller

0

Basta usar XEV e XMODMAP. SIMPLES e melhor que programas dedicados ou emulando aplicativos ruins do Windows. Todo o meu material do LINUX usa scripts para redefinir teclas e alterar os modos de tela e, quando o programa é concluído e sai, restaura tudo ao normal. É tão fácil usar o XMODMAP e criar um script quanto criar um script AHK, mas com o bônus adicional de não ter que executar um aplicativo emulado do Windows. E para as pessoas dizendo que você não pode fazer isso ou aquilo ... ERRADO. Você pode fazer mais com o shell Linux do que qualquer outro sistema operacional e pode fazer tudo o que estamos falando, incluindo mover janelas, e ainda estar usando comandos de sistema amigáveis ​​do sistema que estão embutidos!


3
Esta resposta pode, pelo que sei, ser 100% correta e precisa. No entanto, seria  muito mais útil se incluísse alguns exemplos e / ou instruções, ou mesmo links para documentação adicional.
Scott

0

Gostaria de observar que todas as soluções comentadas acima funcionam apenas nos sistemas X11. Não há nenhuma solução (ou, pelo menos, ainda não encontrei ninguém) que funcione em Wayland.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.