Plugins
Un plugin est un programme distinct qui fonctionne avec Input.Observer. La plupart dessinent quelque chose : le plugin Styles, fourni avec Input.Observer, dessine les styles de tracé animés et les indications et messages décorés. D'autres peuvent ajouter des fonctions qu'appellent les scripts, ou exécuter des actions écrites dans un autre langage. Input.Observer démarre, surveille et arrête lui-même chaque plugin ; vous ne démarrez jamais un plugin à la main.
Cette page couvre la gestion des plugins. L'écriture d'un plugin est décrite dans la documentation distincte destinée aux développeurs de plugins.
Mode Avancé. La page Plugins se trouve dans la section Moteur de la navigation, masquée en mode Simple. Les plugins continuent de s'exécuter en mode Simple, et la page Apparence affiche et contrôle les styles du moteur de rendu dans les deux modes.
Les modifications sur cette page prennent effet immédiatement. Elles ne font pas partie des modifications non enregistrées de votre configuration : Appliquer n'est pas nécessaire, et Abandonner ne les annule pas. Les plugins ne sont jamais exportés ni importés.
La page Plugins
| Nom | Chemin | Fonctionnalités | État | Actions |
|---|---|---|---|---|
| Input.Observer.Styles | C:\Program Files\Input.Observer\Input.Observer.Styles.exe | Styles | Opérationnel | Désactiver |
| Plugin d'exemple | D:\Tools\SamplePlugin.exe | Fonctions de script | Non utilisé | Utiliser comme moteur de rendu |
La page liste chaque plugin enregistré ②, avec une zone de recherche et un filtre d'état (Tous les états, Opérationnels, Attention requise, Désactivés) au-dessus de la liste. La ligne de titre compte les plugins enregistrés et opérationnels.
| Colonne | Ce qu'elle affiche |
|---|---|
| Nom | Le nom du plugin. La ligne du moteur de rendu porte un badge Moteur de rendu. Le bouton de copie copie le nom exactement, tel que l'exige l'appel PluginSendMessage d'un script. |
| Chemin | Le fichier programme du plugin. Le bouton à son extrémité ouvre l'Explorateur de fichiers avec le fichier sélectionné. |
| Fonctionnalités | Ce que propose le plugin : Tracé du geste, Indication, Message à l'écran, Styles, Commandes de script, Fonctions de script, Moteur de script, Paramètres, Paramètres ici. Un plugin qui ne s'exécute pas affiche ce qu'il proposait lors de sa dernière exécution. |
| État | Voir le tableau ci-dessous. |
| Actions | Les boutons qui s'appliquent à ce plugin en ce moment (ci-dessous). |
| État | Signification |
|---|---|
| Opérationnel | S'exécute et répond. |
| Démarrage… | En cours de démarrage. La page vérifie de nouveau chaque seconde jusqu'à stabilisation. |
| Non utilisé | Un plugin de dessin qui n'est pas le moteur de rendu, ou le moteur de rendu tant que rien ne lui est confié. Il ne s'exécute pas et n'utilise pas de mémoire (voir « Non utilisé » ci-dessous). |
| Ne répond pas | S'exécute mais n'a pas répondu depuis 10 secondes. Input.Observer le redémarre. |
| Désactivé | Désactivé avec Désactiver. |
| Désactivé automatiquement -- échec du démarrage | Son démarrage a échoué plusieurs fois de suite. Input.Observer a cessé d'essayer (voir « Quand un plugin échoue » ci-dessous). |
| Fermé par le plugin | Le plugin s'est fermé volontairement. Il reste fermé jusqu'à ce que vous choisissiez Réessayer, que vous le désactiviez puis le réactiviez, ou que vous redémarriez Input.Observer. |
Les boutons de la colonne Actions :
| Bouton | Affiché quand | Ce qu'il fait |
|---|---|---|
| Utiliser comme moteur de rendu | Un plugin de dessin activé qui n'est pas le moteur de rendu | En fait le moteur de rendu (ci-dessous). |
| Paramètres (engrenage) | Le plugin a des paramètres et s'exécute ou n'est pas utilisé | Ouvre ses paramètres (ci-dessous). |
| Aperçu / Arrêter l'aperçu | Le plugin dessine un tracé, une indication ou des messages | Montre ce qu'il dessine (ci-dessous). |
| Réessayer | Désactivé automatiquement, ou fermé par le plugin | Le redémarre et remet à zéro le compteur d'échecs. |
| Autoriser les rappels / Bloquer les rappels | Le plugin fournit des fonctions de script ou un moteur de script | Voir « Rappels » ci-dessous. |
| Activer / Désactiver | Toujours | Démarre ou arrête le plugin en le gardant enregistré. |
| Retirer | Toujours | Arrête le plugin et l'oublie. Le programme lui-même n'est pas supprimé. |
Désactiver et Retirer demandent d'abord confirmation quand des scripts de votre configuration ont besoin du plugin — des scripts qui s'exécutent dans son moteur de script ou appellent ses fonctions — et les listent. Ces scripts cessent de fonctionner tant que le plugin est absent.
Ajouter un plugin
- Choisissez Ajouter un plugin… ① et sélectionnez le programme du plugin (
.exe). - Input.Observer démarre une fois le programme pour lui demander son nom, puis le redémarre et vérifie qu'il se connecte et répond. Cela prend quelques secondes.
- S'il réussit, le plugin est ajouté en haut de la liste et continue de s'exécuter. S'il dessine des tracés, des indications ou des messages, il devient aussi le moteur de rendu, et une note « Moteur de rendu changé » l'indique.
Si le plugin échoue, « Impossible d'ajouter le plugin » en explique la raison : le fichier est absent, le programme n'a pas répondu ou a mal répondu (ce n'est peut-être pas un plugin Input.Observer), il a mis trop de temps, son nom est déjà utilisé par un autre plugin enregistré, ou ses fonctions de script ou son moteur de script utilisent des noms qu'un autre plugin utilise déjà. Dans tous les cas, rien n'est ajouté.
Input.Observer conserve le chemin du plugin relativement à son propre dossier quand le plugin s'y trouve : un plugin installé à côté d'Input.Observer continue donc de fonctionner si Input.Observer est déplacé.
Faire confiance à un plugin
- Ajouter un plugin l'exécute. L'étape 2 démarre immédiatement le programme, avec vos autorisations, et à partir de là Input.Observer le démarre à chacun de ses propres démarrages. Input.Observer ne vérifie ni qui a créé un plugin ni s'il est signé. N'ajoutez que des programmes provenant de sources fiables, comme avant d'exécuter n'importe quel programme.
- Un plugin s'exécute comme un programme à part. Il ne s'exécute jamais à l'intérieur d'Input.Observer, et Input.Observer n'attend jamais un plugin pendant qu'il traite votre souris et votre clavier : un plugin lent ou défectueux ne peut donc pas ralentir votre saisie.
- Un plugin de dessin reçoit vos tracés de gestes et le texte des indications et des messages, pour pouvoir les dessiner.
- Un plugin doté de fonctions de script reçoit les valeurs que les scripts transmettent à ces fonctions.
Le moteur de rendu
Le moteur de rendu est le seul plugin qui dessine pour Input.Observer : les styles de tracé, et les indications et messages quand ceux-ci sont réglés sur Assorti au style sur la page Apparence. Un seul plugin à la fois est le moteur de rendu. Une installation standard enregistre le plugin Styles comme moteur de rendu.
Pour faire d'un autre plugin de dessin le moteur de rendu, choisissez Utiliser comme moteur de rendu sur sa ligne. Le moteur bascule immédiatement : le nouveau moteur de rendu démarre, le précédent s'arrête et affiche Non utilisé, et le tracé, les indications et les messages que le nouveau plugin sait dessiner lui sont confiés. Vos choix sur la page Apparence décident alors de ce qu'il dessine (Apparence). Un plugin qui ne propose pas de styles apparaît comme une seule vignette dans la galerie, sous son propre nom ; ses propres paramètres décident de sa façon de dessiner.
Désactiver ou retirer le moteur de rendu ne laisse aucun moteur de rendu : le tracé, la fenêtre d'indication et la fenêtre de message classiques d'Input.Observer dessinent jusqu'à ce que vous en choisissiez un autre.
Non utilisé
Input.Observer n'exécute pas un plugin qui n'a rien à faire. Un plugin de dessin ne s'exécute que tant qu'il est le moteur de rendu et qu'un élément de la page Apparence lui est confié. Un plugin qui fournit des fonctions de script ou un moteur de script s'exécute toujours tant qu'il est activé.
Un plugin non utilisé est démarré un instant quand vous ouvrez ses paramètres ou affichez son aperçu, puis
revient à Non utilisé. Le plugin Styles s'arrête environ une minute après votre dernière modification
de ses paramètres. L'appel PluginSendMessage d'un script à un plugin de dessin qui ne s'exécute pas
échoue avec une erreur qui l'indique ; il ne démarre pas le plugin.
Paramètres des plugins
L'engrenage sur la ligne d'un plugin ouvre ses paramètres :
- Un plugin marqué Paramètres ici affiche ses paramètres dans une fenêtre dessinée par la fenêtre de configuration, avec une liste de sections à gauche. Ceux du plugin Styles sont décrits dans Tracés des gestes.
- Tout autre plugin doté de Paramètres ouvre sa propre fenêtre de paramètres.
Un plugin qui ne s'exécute pas est d'abord démarré : la fenêtre peut donc mettre quelques secondes à se remplir. Les modifications prennent effet immédiatement et sont enregistrées par le plugin lui-même, dans son propre fichier à côté de votre fichier de configuration ; elles n'attendent pas Appliquer, et Abandonner ne les annule pas. Rétablir les valeurs par défaut remet la section sélectionnée aux valeurs par défaut du plugin. Si une modification ne peut pas être faite, une note dans la fenêtre en indique la raison : le plugin n'a pas démarré ou ne propose pas ces paramètres, n'a pas répondu à temps, a refusé la modification, ou l'a faite sans pouvoir l'enregistrer.
Aperçu
Aperçu montre ce que dessinerait un plugin de dessin, sans vrai geste : un tracé qui suit votre pointeur, une indication et un message d'exemple. Cliquez avec le bouton droit pour voir le tracé se terminer et recommencer ; le clic droit n'ouvre rien pendant l'aperçu.
Pendant un aperçu, les gestes sont suspendus partout, et un bandeau sur la page l'indique. L'aperçu prend fin quand vous appuyez sur Échap, choisissez Arrêter l'aperçu, quittez la page Plugins, ou quand le plugin s'arrête. Un aperçu ne peut pas démarrer pendant un enregistrement de macro ou un entraînement de gestes.
Quand un plugin échoue
Input.Observer vérifie chaque plugin en cours d'exécution toutes les 5 secondes.
- Un plugin qui cesse de répondre pendant 10 secondes (deux vérifications manquées) affiche Ne répond pas et est redémarré.
- Un plugin qui se ferme de façon inattendue est redémarré 10 secondes plus tard.
- Un plugin dont le démarrage échoue est réessayé après 2, 5 et 10 secondes. Après la troisième tentative échouée, il est Désactivé automatiquement -- échec du démarrage et Input.Observer le laisse de côté, même d'un redémarrage à l'autre, jusqu'à ce que vous choisissiez Réessayer. Le compteur d'échecs revient à zéro dès qu'un plugin a fonctionné sans problème pendant 5 minutes.
- Un plugin qui se ferme volontairement affiche Fermé par le plugin et n'est pas redémarré tant que vous ne choisissez pas Réessayer, ne le désactivez puis le réactivez, ou ne redémarrez pas Input.Observer.
Tant que le moteur de rendu est indisponible, le tracé, la fenêtre d'indication et la fenêtre de message classiques d'Input.Observer dessinent à sa place, et la page Apparence l'indique avec un bouton Redémarrer. Chaque fois que cela arrive, une ligne est écrite dans la section Système de la console (Console).
Au démarrage, Input.Observer démarre chaque plugin qui a du travail et attend chacun jusqu'à environ 5 secondes ; l'écran de démarrage nomme le plugin en cours de chargement. Un plugin qui dépasse ce délai est pris en charge un peu plus tard. Quand Input.Observer se ferme, il ferme chaque plugin, et un plugin ne peut jamais continuer de s'exécuter après l'arrêt d'Input.Observer. En mode sans échec, aucun plugin n'est démarré (Dépannage).
Rappels
Un plugin qui fournit des fonctions de script ou un moteur de script peut demander à exécuter du script Input.Observer pendant qu'il traite un appel. C'est bloqué, sauf si vous choisissez Autoriser les rappels sur sa ligne et confirmez. Ne l'autorisez que pour un plugin de confiance : ses demandes peuvent alors faire tout ce que peut faire un script ici — appuyer sur des touches, déplacer et fermer des fenêtres, lancer des programmes —, y compris dans des fenêtres exécutées en tant qu'administrateur, que le plugin ne peut pas atteindre de lui-même. Bloquer les rappels retire de nouveau l'autorisation.