Plug-ins
Um plug-in é um programa separado que trabalha com o Input.Observer. A maioria desenha coisas: o plug-in Styles, que vem com o Input.Observer, desenha os estilos de rastro animados e as dicas e mensagens decoradas. Outros podem adicionar funções que os scripts chamam, ou executar ações escritas em outra linguagem. O Input.Observer inicia, monitora e para cada plug-in por conta própria; você nunca inicia um plug-in à mão.
Esta página trata do gerenciamento de plug-ins. Como escrever um está descrito na documentação separada para desenvolvedores de plug-ins.
Modo Avançado. A página Plug-ins fica na seção Mecanismo da navegação, que fica oculta no modo Simples. Os plug-ins continuam em execução no modo Simples, e a página Aparência mostra e controla os estilos do renderizador nos dois modos.
As alterações nesta página têm efeito imediatamente. Elas não fazem parte das alterações não salvas da sua configuração: Aplicar não é necessário, e Descartar não as desfaz. Os plug-ins nunca são exportados nem importados.
A página Plug-ins
| Nome | Caminho | Recursos | Status | Ações |
|---|---|---|---|---|
| Input.Observer.Styles | C:\Program Files\Input.Observer\Input.Observer.Styles.exe | Estilos | Íntegro | Desativar |
| Plug-in de exemplo | D:\Tools\SamplePlugin.exe | Funções de script | Não usado | Usar como renderizador |
A página lista todos os plug-ins registrados ②, com uma caixa de pesquisa e um filtro de status (Todos os status, Íntegros, Precisam de atenção, Desativados) acima da lista. A linha do título conta os plug-ins registrados e os íntegros.
| Coluna | O que mostra |
|---|---|
| Nome | O nome do plug-in. A linha do renderizador tem um selo Renderizador. O botão de copiar copia o nome exatamente, que é o que a chamada PluginSendMessage de um script precisa. |
| Caminho | O arquivo de programa do plug-in. O botão no fim abre o Explorador de Arquivos com o arquivo selecionado. |
| Recursos | O que o plug-in oferece: Rastro do gesto, Dica, Mensagem na tela, Estilos, Comandos de script, Funções de script, Mecanismo de script, Configurações, Configurações aqui. Um plug-in que não está em execução mostra o que oferecia na última vez que foi executado. |
| Status | Consulte a tabela abaixo. |
| Ações | Os botões que se aplicam a este plug-in no momento (abaixo). |
| Status | Significado |
|---|---|
| Íntegro | Em execução e respondendo. |
| Iniciando… | Está sendo iniciado. A página verifica de novo a cada segundo até ele se estabilizar. |
| Não usado | Um plug-in de desenho que não é o renderizador, ou o renderizador enquanto nada está atribuído a ele. Ele não está em execução e não usa memória ("Não usado", abaixo). |
| Não está respondendo | Em execução, mas não respondeu por 10 segundos. O Input.Observer o reinicia. |
| Desativado | Desligado com Desativar. |
| Desativado automaticamente -- falha ao iniciar | Falhou ao iniciar várias vezes seguidas. O Input.Observer parou de tentar ("Quando um plug-in falha", abaixo). |
| Fechado pelo plug-in | O plug-in se fechou de propósito. Ele fica fechado até você escolher Tentar novamente, desativá-lo e ativá-lo, ou reiniciar o Input.Observer. |
Os botões em Ações:
| Botão | Aparece quando | O que faz |
|---|---|---|
| Usar como renderizador | Um plug-in de desenho que está ligado e não é o renderizador | Torna-o o renderizador (abaixo). |
| Configurações (engrenagem) | O plug-in tem configurações e está em execução ou não usado | Abre as configurações dele (abaixo). |
| Visualizar / Parar visualização | O plug-in desenha um rastro, uma dica ou mensagens | Mostra o que ele desenha (abaixo). |
| Tentar novamente | Desativado automaticamente, ou fechado pelo plug-in | Inicia-o de novo e zera a contagem de falhas. |
| Permitir retornos de chamada / Bloquear retornos de chamada | O plug-in fornece funções de script ou um mecanismo de script | Consulte "Retornos de chamada", abaixo. |
| Ativar / Desativar | Sempre | Inicia ou para o plug-in e o mantém registrado. |
| Remover | Sempre | Para o plug-in e o esquece. O programa em si não é excluído. |
Desativar e Remover perguntam antes quando há scripts na sua configuração que precisam do plug-in (scripts executados no mecanismo de script dele ou que chamam as funções dele), e os listam. Esses scripts param de funcionar enquanto o plug-in não estiver lá.
Adicionar um plug-in
- Escolha Adicionar plug-in… ① e escolha o programa do plug-in (
.exe). - O Input.Observer inicia o programa uma vez para perguntar o nome dele, depois o inicia de novo e verifica se ele se conecta e responde. Isso leva alguns segundos.
- Se ele passar, o plug-in é adicionado no topo da lista e continua em execução. Se ele desenhar rastros, dicas ou mensagens, ele também se torna o renderizador, e uma nota "Renderizador alterado" avisa isso.
Se o plug-in não passar, "Não foi possível adicionar o plug-in" explica por quê: o arquivo não está lá, o programa não respondeu ou respondeu de forma errada (ele pode não ser um plug-in do Input.Observer), demorou demais, o nome dele já é usado por outro plug-in registrado, ou as funções de script ou o mecanismo de script dele usam nomes que outro plug-in já usa. Em cada caso, nada é adicionado.
O Input.Observer guarda o caminho do plug-in relativo à própria pasta quando o plug-in está dentro dela, então um plug-in instalado ao lado do Input.Observer continua funcionando se o Input.Observer for movido.
Confiar em um plug-in
- Adicionar um plug-in o executa. O passo 2 inicia o programa imediatamente, com as suas permissões, e a partir daí o Input.Observer o inicia toda vez que é iniciado. O Input.Observer não verifica quem fez um plug-in nem se ele é assinado. Adicione somente programas de fontes em que você confia, como faria antes de executar qualquer programa.
- Um plug-in é executado como um programa próprio. Ele nunca é executado dentro do Input.Observer, e o Input.Observer nunca espera por um plug-in enquanto trata o seu mouse e o seu teclado, então um plug-in lento ou com defeito não consegue deixar a sua entrada atrasada.
- Um plug-in que desenha recebe os traços dos seus gestos e o texto das dicas e das mensagens, para poder desenhá-los.
- Um plug-in com funções de script recebe os valores que os scripts passam a essas funções.
O renderizador
O renderizador é o único plug-in que desenha para o Input.Observer: os estilos de rastro, e as dicas e as mensagens quando elas estão em Seguir o estilo na página Aparência. Somente um plug-in é o renderizador de cada vez. Uma instalação padrão registra o plug-in Styles como renderizador.
Para tornar outro plug-in de desenho o renderizador, escolha Usar como renderizador na linha dele. O mecanismo troca imediatamente: o novo renderizador inicia, o anterior para e mostra Não usado, e o rastro, as dicas e as mensagens que o novo plug-in consegue desenhar são atribuídos a ele. As suas escolhas na página Aparência decidem então o que ele desenha (Aparência). Um plug-in que não oferece estilos aparece como um único bloco na galeria, com o próprio nome; as próprias configurações dele decidem como ele desenha.
Desativar ou remover o renderizador deixa nenhum renderizador: o rastro, a janela de dica e a janela de mensagens clássicos do Input.Observer desenham até você escolher outro.
Não usado
O Input.Observer não executa um plug-in que não tem nada a fazer. Um plug-in de desenho só é executado enquanto é o renderizador e algo na página Aparência está atribuído a ele. Um plug-in que fornece funções de script ou um mecanismo de script é sempre executado enquanto está ativado.
Um plug-in que não está em uso é iniciado por um instante quando você abre as configurações dele ou o
visualiza, e depois volta para Não usado. O plug-in Styles para cerca de um minuto depois da sua
última alteração nas configurações dele. A chamada PluginSendMessage de um script a um plug-in de
desenho que não está em execução falha com um erro que diz isso; ela não inicia o plug-in.
Configurações dos plug-ins
A engrenagem na linha de um plug-in abre as configurações dele:
- Um plug-in marcado com Configurações aqui mostra as configurações em uma janela desenhada pela janela de configuração, com uma lista de seções à esquerda. As do plug-in Styles estão descritas em Rastros de gestos.
- Qualquer outro plug-in com Configurações abre a própria janela de configurações.
Um plug-in que não está em execução é iniciado antes, então a janela pode levar alguns segundos para ser preenchida. As alterações têm efeito imediatamente e são salvas pelo próprio plug-in, no próprio arquivo dele ao lado do seu arquivo de configuração; elas não esperam por Aplicar, e Descartar não as desfaz. Restaurar padrões devolve a seção selecionada aos padrões do plug-in. Se uma alteração não puder ser feita, uma nota na janela diz por quê: o plug-in não iniciou ou não oferece essas configurações, não respondeu a tempo, recusou a alteração, ou a fez mas não conseguiu salvá-la.
Visualização
Visualizar mostra o que um plug-in de desenho desenharia, sem um gesto real: um rastro que segue o seu ponteiro, uma dica de exemplo e uma mensagem de exemplo. Clique com o botão direito para ver o rastro terminar e começar de novo; o clique direito não abre nada durante a visualização.
Enquanto uma visualização está em execução, os gestos ficam pausados em todo lugar, e uma faixa na página avisa isso. A visualização termina quando você pressiona Esc, escolhe Parar visualização, sai da página Plug-ins ou o plug-in para. Uma visualização não pode começar enquanto uma gravação de macro ou um treinamento de gestos estiver em execução.
Quando um plug-in falha
O Input.Observer verifica cada plug-in em execução a cada 5 segundos.
- Um plug-in que para de responder por 10 segundos (duas verificações perdidas) mostra Não está respondendo e é reiniciado.
- Um plug-in que sai inesperadamente é reiniciado 10 segundos depois.
- Um plug-in que falha ao iniciar é tentado de novo depois de 2, 5 e 10 segundos. Depois da terceira tentativa com falha, ele fica Desativado automaticamente -- falha ao iniciar e o Input.Observer o deixa em paz, mesmo entre reinicializações, até você escolher Tentar novamente. A contagem de falhas volta a zero assim que um plug-in é executado sem problemas por 5 minutos.
- Um plug-in que se fecha de propósito mostra Fechado pelo plug-in e não é reiniciado até você escolher Tentar novamente, desativá-lo e ativá-lo, ou reiniciar o Input.Observer.
Enquanto o renderizador está fora do ar, o rastro, a janela de dica e a janela de mensagens clássicos do Input.Observer desenham no lugar dele, e a página Aparência avisa isso com um botão Reiniciar. Toda vez que isso acontece, uma linha vai para a seção Sistema do console (Console).
Quando o Input.Observer é iniciado, ele inicia cada plug-in que tem trabalho a fazer e espera até cerca de 5 segundos por cada um; a tela de abertura nomeia o plug-in que está carregando. Um plug-in que perde esse tempo é assumido um pouco depois. Quando o Input.Observer sai, ele fecha todos os plug-ins, e um plug-in nunca pode continuar em execução depois que o Input.Observer parou. No Modo de segurança, nenhum plug-in é iniciado (Solução de problemas).
Retornos de chamada
Um plug-in que fornece funções de script ou um mecanismo de script pode pedir para executar script do Input.Observer enquanto trata uma chamada. Isso fica bloqueado a menos que você escolha Permitir retornos de chamada na linha dele e confirme. Permita somente para um plug-in em que você confia: os pedidos dele podem então fazer qualquer coisa que um script aqui pode (pressionar teclas, mover e fechar janelas, executar programas), inclusive em janelas executadas como administrador, que o plug-in não consegue alcançar sozinho. Bloquear retornos de chamada retira a permissão de novo.