Pular para o conteúdo principal

Passos, Script e AutoHotkey

O que uma ação faz pode ser escrito de três formas. Escrita como, no cartão O que ela faz da página Ações, escolhe qual delas é executada.

O que ela faz
Escrita como
PassosScriptAutoHotkey
Cada modo mantém seu próprio conteúdo. Somente o selecionado é executado.
ModoO que éEscolha-o quando
PassosUma lista de passos que você escolhe e preenche, uma linha cada. Nenhum código para digitar.Você quer montar a ação sem escrever código. A maioria das ações cabe aqui: enviar teclas, digitar texto, mover ou fechar janelas, aguardar, fazer uma pergunta.
ScriptA própria linguagem de script do Input.Observer, digitada em um editor de código.Você precisa de aritmética, montar texto a partir de partes, repetições que contam com uma variável, ou qualquer coisa que o Passos não consiga expressar.
AutoHotkeyUm script do AutoHotkey v2, executado pelo próprio AutoHotkey.Você já tem código do AutoHotkey, ou precisa de algo que só o AutoHotkey faz.

Passos e Script são executados dentro do Input.Observer e chamam as mesmas funções internas: o Passos é uma forma visual de escrever o que um script escreveria. Consulte Passos e a Referência da linguagem de script.

Cada modo mantém o próprio conteúdo​

Uma ação contém um conteúdo de Passos, um conteúdo de Script e um conteúdo de AutoHotkey lado a lado. Alternar Escrita como ① muda qual deles é executado. Isso nunca exclui os outros, então você pode voltar.

Se o modo que você selecionar estiver vazio enquanto outro modo tem conteúdo, um aviso abaixo da chave diz que executar a ação não faz nada, e oferece um botão para usar o modo que tem conteúdo.

Mudar de Passos para Script​

Quando você muda de Passos para Script enquanto a ação tem passos e o conteúdo de Script dela está vazio, o Input.Observer oferece traduzir os passos: Converter os passos em um script? Escolha Converter para colocar a tradução no editor de Script.

  • Os passos ficam como estão. Voltar para Passos os mostra inalterados.
  • Nada converte de volta. Um script não pode ser transformado em passos.
  • Passos que usam Repetir enquanto…, Repetir até…, Sair da repetição ou Parar os passos não são oferecidos para tradução, porque o Script não tem instruções equivalentes. Você ainda pode mudar; o conteúdo de Script simplesmente começa vazio.
  • O AutoHotkey nunca é convertido para outro modo nem a partir de outro modo.
  • Quando os passos são uma gravação da página Gravador, a caixa de diálogo também diz que o script ignora Velocidade de reprodução e Detalhe do trajeto do mouse na reprodução: as esperas dele ocorrem na velocidade gravada e cada movimento do mouse gravado é reproduzido (Configurações do gravador).

De Passos para Script mostra no que cada tipo de passo se transforma.

AutoHotkey​

O AutoHotkey é um programa separado que o Input.Observer inicia quando uma ação do AutoHotkey é executada. Ele não está incluído; você mesmo instala o AutoHotkey v2 e informa ao Input.Observer onde ele está.

  1. Instale o AutoHotkey v2.
  2. Na página Geral, ative Ativar AutoHotkey e defina Executável do AutoHotkey como o arquivo de programa dele, como AutoHotkey64.exe.
  3. AutoHotkey passa a aparecer em Escrita como. Aplique as alterações para que o mecanismo use a nova configuração.

As regras:

  • AutoHotkey é oferecido em Escrita como somente enquanto Ativar AutoHotkey estiver ligada, ou quando a ação já é executada como AutoHotkey. Uma ação do AutoHotkey com o AutoHotkey desligado não faz nada, e a página avisa isso.
  • Use uma compilação normal do AutoHotkey. As compilações com _UIA no nome, como AutoHotkey64_UIA.exe, não conseguem executar scripts a partir do Input.Observer.
  • Quando o AutoHotkey está ligado, mas o programa dele não é encontrado na inicialização ou quando a configuração é recarregada, o Input.Observer pede que você escolha Procurar o executável do AutoHotkey ou Deixar como está.
  • Cada execução inicia um novo processo do AutoHotkey com o seu script. Ele não pode chamar as funções internas do Input.Observer, e é executado até terminar sozinho; a tecla de atalho para parar todas as ações o encerra.
  • Antes do seu script, o Input.Observer define variáveis que descrevem o gatilho, como IO_ActionName, IO_TriggerKind e a janela do gesto ou da tecla de atalho (Variáveis do AutoHotkey). A lista Variáveis disponíveis aqui do editor mostra as que os gatilhos da ação fornecem; clique em uma para inseri-la.
  • O que o script escreve na saída padrão dele aparece no console de diagnóstico, começando com AHK: (O console de diagnóstico).

Uma ação de Passos ou de Script também pode executar um trecho de código do AutoHotkey com a função interna AutoHotkeyExecuteScript. Valem a mesma configuração e o mesmo executável.

Variáveis do AutoHotkey​

Toda execução do AutoHotkey começa com algumas linhas que o Input.Observer adiciona antes do seu script, definindo variáveis IO_ a partir do que disparou a ação. Isso vale para uma ação escrita como AutoHotkey e para o código executado com AutoHotkeyExecuteScript, que recebe as variáveis da ação que o chamou.

Toda execução define estas três:

VariávelContém
IO_ActionNameO nome da ação. Para um evento global, Global_Event_ seguido do nome do evento no arquivo de configuração, como Global_Event_release ou Global_Event_foreground_changed. Vazia quando nada disparou a execução, como um script executado pelo console.
IO_AppGroupNameO nome do grupo de aplicativos em que a ação foi encontrada, como Global. Vazia para um evento global.
IO_TriggerKindO que disparou a execução: Gesture, Hotkey, TextExpansion, MouseButton (um evento global de botão do mouse ou de Botão de desenho solto), Wheel (um evento global da roda) ou None.

As outras dependem do gatilho, e somente as desse gatilho são definidas:

GatilhoVariávelContém
GestoIO_GestureWindowA janela sobre a qual o gesto começou
IO_GestureButtonO botão de desenho: left, right, middle, x1 ou x2
IO_GestureStartX, IO_GestureStartYOnde o traço começou
IO_GestureEndX, IO_GestureEndYOnde ele terminou
IO_GestureBoundsLeft, IO_GestureBoundsTop, IO_GestureBoundsRight, IO_GestureBoundsBottomO retângulo em torno do traço inteiro
IO_GesturePointsCada ponto do traço na ordem do desenho, como uma matriz de matrizes [x, y]
Tecla de atalhoIO_HotkeyWindowA janela que estava na frente quando a tecla de atalho foi pressionada
IO_HotkeyVkCodeO código de tecla virtual do Windows da tecla final, como 75 para K
IO_HotkeyModifiersAs teclas modificadoras da combinação, somadas: Ctrl 1, Shift 2, Alt 4, Win 8 (Ctrl+Alt é 5)
Expansão de textoIO_TextExpansionWindowA janela em que você digitou
IO_TextExpansionPatternA abreviação que você digitou
Evento de botão do mouseIO_MouseWindowA janela sob o ponteiro
IO_MouseButtonO botão: left, right, middle, x1 ou x2
IO_MouseX, IO_MouseYOnde o ponteiro estava
Evento da rodaIO_WheelWindowA janela sob o ponteiro
IO_WheelDeltaQuanto a roda girou, como o Windows informa: 120 por entalhe de uma roda comum (rodas de rolagem suave e touchpads enviam passos menores), positivo para longe de você (ou para a direita), negativo para perto de você (ou para a esquerda)
IO_WheelHorizontaltrue para um giro lateral da roda, false para um comum
IO_WheelX, IO_WheelYOnde o ponteiro estava
  • As janelas são identificadores de janela, números que o AutoHotkey lê como um id de janela: "ahk_id " IO_GestureWindow nomeia a janela em WinActivate, WinGetTitle e nas outras funções de janela.
  • As posições são coordenadas de tela em pixels físicos, a partir do canto superior esquerdo do monitor principal. Defina CoordMode "Mouse", "Screen" antes de usá-las com as funções de mouse do AutoHotkey, que caso contrário trabalham em relação à janela ativa.
  • O texto chega exatamente como era; aspas, acentos graves e quebras de linha no nome de uma ação ou de um grupo são escapados para você.
  • Uma variável que o gatilho não fornece não é definida de jeito nenhum, e o AutoHotkey para o script quando lê uma variável não definida. Uma ação com vários tipos de gatilho, ou um snippet chamado por ações diferentes, deve verificar antes IO_TriggerKind, ou usar IsSet(IO_GestureWindow).

Por exemplo, uma ação executada a partir de um gesto ou de uma tecla de atalho, que traz para a frente a janela em que foi usada e mostra o título dela:

CoordMode "Mouse", "Screen"
win := IO_TriggerKind = "Gesture" ? IO_GestureWindow : IO_HotkeyWindow
WinActivate "ahk_id " win
MsgBox WinGetTitle("ahk_id " win), IO_ActionName

Mecanismos de script de plug-ins​

Um plug-in pode adicionar um mecanismo de script próprio. Ele então aparece em Escrita como com o nome do plug-in, e o texto que você digita ali vai para o plug-in exatamente como foi escrito; o Input.Observer não o verifica. Se nenhum plug-in em execução fornecer esse mecanismo, a página avisa que a ação é ignorada quando executada. Consulte Plug-ins.

No modo Simples​

O modo Simples mostra Escrita como somente para uma ação que já tem um script ou um conteúdo de AutoHotkey. Para qualquer outra ação, o cartão mostra os passos diretamente. Para escrever uma ação nova como script, mude a janela para o modo Avançado (A janela de configuração).