La saisie automatique

Fonction puissante qui envoie des pressions de touches simulées aux autres applications.


Informations de base sur la saisie automatique

KeePass dispose d'une fonctionnalité de "saisie automatique". Cette fonctionnalité permet de définir une séquence de touches pressées, que KeePass peut automatiquement accomplir pour vous. Les touches pressées simulées peuvent être envoyées à n'importe quelle autre fenêtre actuellement ouverte de votre choix (navigateur, boîtes de dialogue de login, etc.).

Par défaut, la séquence de touches pressées envoyée est {USERNAME}{TAB}{PASSWORD}{ENTER}, c'est-à-dire qu'elle tape d'abord le nom d'utilisateur de l'entrée sélectionnée, puis appuie sur la touche Tabulation, saisit le mot de passe de l'entrée et appuie finalement sur la touche Entrée.

Pour les entrées de NAT (TAN), la séquence par défaut est {PASSWORD}, c'est-à-dire qu'elle saisit juste le NAT dans la fenêtre cible, sans appuyer sur Entrée.

Vous pouvez librement définir votre propre séquence de saisie automatique : écrivez simplement la séquence dans le champ remarques de l'entrée, préfixé par "saisie automatique :". Vos remarques pourraient ressembler à ceci :

Vous pouvez écrire des notes ici. Mon adresse de courriel que j'utilise pour m'inscrire : moi@exemple.com Auto-Type: {USERNAME}{TAB}{TAB}Une certaine chaîne de caractères fixée{TAB}{PASSWORD}{ENTER}
Ici vous pouvez continuer avec vos remarques si vous le souhaitez...

Comme vous pouvez le voir, la seule chose importante est que la séquence de saisie automatique soit préfixée en utilisant "Auto-Type:" et est une seule ligne. Une séquence de saisie automatique ne peut pas être définie à l'aide de deux lignes ou plus.

Si vous définissez deux ou plusieurs séquences de saisie automatique, alors la première est utilisée.

De plus, vous pouvez créer des associations fenêtre/séquence personnalisées, qui remplacent la séquence par défaut. Vous pouvez spécifier différentes séquences de touches pressées pour différentes fenêtres pour chaque entrée. Par exemple : imaginez une page HTML, sur laquelle vous souhaitez vous connecter, qui a plusieurs pages dont une permet la connexion. Ces pages pourraient toutes sembler un peu différentes (sur une vous pourriez de plus avoir besoin de vérifier des cases à cocher – comme on en voit souvent sur les forums). Ici la création d'associations fenêtre/séquence personnalisées résout les problèmes : il vous suffit de spécifier simplement différentes séquences de saisie automatique pour chaque fenêtre (identifiée par leur titre).

Appel de la saisie automatique :
Il y a trois méthodes différentes pour appeler la saisie automatique :

  • Appel de la saisie automatique pour une entrée en utilisant la commande du menu contextuel Accomplir la saisie automatique tout en ayant au préalable sélectionnée l'entrée.
  • Sélectionnez l'entrée et appuyez sur Ctrl+V (c'est le raccourci de la commande du menu contextuel ci-dessus).
  • En utilisant les raccourcis clavier globaux de saisie automatique. KeePass recherchera dans toutes les entrées de la base de données actuellement ouverte des séquences de correspondance.

Toutes les méthodes sont expliquées en détail ci-dessous.

Focus d'entrée :
Remarquez que la saisie automatique démarre en tapant dans le contrôle de la fenêtre cible qui a le focus d'entrée. Donc, par exemple pour la séquence par défaut vous devez vous assurer que le focus d'entrée est positionné sur le contrôle d'utilisateur de la fenêtre cible avant l'appel de la saisie automatique en utilisant les méthodes ci-dessus.


Exigences et limitations

Les droits :
Pour que la saisie automatique fonctionne, KeePass doit s'exécuter avec les mêmes droits ou droits plus élevés que l'application cible. Notamment, si l'application cible s'exécute avec les droits d'administration, KeePass doit également s'exécuter avec les droits d'administration. Pour les détails, cf. conception du mécanisme d'intégrité de Windows. Un exemple : certaines instances de VMware Workstation s'exécutent sur un niveau d'intégrité supérieur.

Les bureaux à distance et les machines virtuelles :
KeePass ne connaît pas la disposition du clavier qui a été sélectionné sur un bureau distant ou une fenêtre de machine virtuelle. Si vous souhaitez saisir automatiquement dans une telle fenêtre, alors vous devez vous assurer que le système local et le système distant/virtuel utilise la même disposition de clavier.

Au moment d'accomplir la saisie automatique à l'intérieur d'un bureau distant ou une fenêtre de machine virtuelle, les caractères suivants peuvent être problématiques (selon les circonstances exactes) et doivent donc être évités, si possible : " (U+0022), ' (U+0027), ^ (U+005E), ` (U+0060), ~ (U+007E), ¨ (U+00A8), ¯ (U+00AF), ° (U+00B0), ´ (U+00B4), ¸ (U+00B8), les lettres qui modifient l'espacement (U+02B0 to U+02FF), et les caractères qui ne peuvent pas être réalisés en une combinaison de touches directe.

Wayland :
Sur des système Unix-like avec un compositeur Wayland, il peut y avoir d'autres limitations ; cf. la page Auto-Type on Wayland.


Depuis le menu contextuel : la commande 'Accomplir la saisie automatique'

Cette méthode est celle qui nécessite le moindre effort et est la plus simple, mais elle a l'inconvénient que vous devez sélectionner dans KeePass l'entrée dont vous souhaitez la saisie automatique.

La méthode est simple : clic droit sur l'entrée de votre base de données actuellement ouverte et cliquez 'Accomplir la saisie automatique' (ou appuyez alternativement le raccourci Ctrl+V pour cette commande). La fenêtre qui précédemment avait le focus (c'est-à-dire celle dans laquelle vous travailliez avant de permuter vers KeePass) sera appelée au premier plan et KeePass saisit automatiquement vers cette fenêtre.

La séquence qui est saisie automatiquement dépend du titre de la fenêtre. Si vous ne spécifiez aucune association fenêtre/séquence personnalisée la séquence par défaut est envoyée. Si vous avez créé des associations, KeePass utilise la séquence de la première association qui correspond. Si aucune des associations ne correspond, alors la séquence par défaut est utilisée.


Raccourci clavier global de la saisie automatique

C'est la méthode la plus puissante, mais elle nécessite également un peu plus de travail/connaissance, avant de pouvoir être utilisée.

Exemple d'une simple saisie automatique globale :

  1. Créer dans KeePass une entrée qui s'intitule Bloc-notes avec les valeurs pour le nom d'utilisateur et le mot de passe.
  2. Démarrer le Bloc-notes (depuis 'Programmes' → 'Accessoires').
  3. Appuyer sur Ctrl+Alt+A depuis le Bloc-notes. Le nom d'utilisateur et le mot de passe seront saisis dans le Bloc-notes.

Le titre Bloc-notes de l'entrée de KeePass correspond avec le titre de la fenêtre du Bloc-notes et la séquence par défaut de saisie automatique est tapée.

Comment ça fonctionne ? - Détails :

KeePass enregistre un raccourci clavier global pour la saisie automatique. L'avantage de ce raccourci clavier est que vous n'avez pas à permuter vers la fenêtre KeePass et sélectionner l'entrée. Vous appuyez simplement sur le raccourci tout en ayant la fenêtre cible ouverte (c'est-à-dire la fenêtre qui recevra la pression des touches simulées).

Par défaut, le raccourci clavier global est Ctrl+Alt+A (c'est-à-dire maintenez les touches Ctrl et Alt, appuyez sur A et relâchez toutes les touches). Vous pouvez modifier ce raccourci clavier dans la boîte de dialogue des options (menu principal → 'Outils' → 'Options...', onglet 'Avancé') : ici, cliquez dans la fenêtre de saisie de texte du raccourci de saisie automatique global et saisissez le raccourci que vous souhaitez utiliser. Si le raccourci clavier est utilisable, il apparaîtra dans la zone de texte.

Quand vous appuyez le raccourci clavier, KeePass examine le titre de la fenêtre actuellement ouverte et recherche les entrées utilisables dans la base de données actuellement ouverte. Si KeePass trouve plusieurs entrées qui peuvent être utilisées, alors il affiche une boîte de dialogue de sélection. Une entrée est considérée comme utilisable pour le titre de la fenêtre courante quand au moins une des conditions suivantes est remplie :

  • Le titre de l'entrée est une sous-chaîne du titre de la fenêtre actuellement active.
  • L'entrée a une association fenêtre/séquence, dont le spécifiant de fenêtre correspond au titre de la fenêtre actuellement active.

La seconde condition a déjà été mentionnée, mais la première est nouvelle. En utilisant les titres d'entrée comme filtres pour les titres des fenêtres, le coût de la configuration pour la saisie automatique est presque nul : vous n'avez besoin que de vous assurer que le titre de l'entrée est contenu dans le titre de la fenêtre dans laquelle vous souhaitez que l'entrée soit saisie automatiquement. Bien sûr, ceci n'est pas toujours possible (par exemple : si une page HTML a un titre très générique comme "Bienvenue"), alors ici vous devez utiliser des associations fenêtre/séquence personnalisées.

Des associations fenêtre/séquence personnalisées peuvent être spécifiées sur l'onglet 'Saisie automatique' de chaque entrée.

Des association fenêtre/séquence personnalisées peuvent être spécifiées en utilisant le champ Remarques de l'entrée.

Mon adresse de courriel que j'utilise pour m'inscrire : moi@exemple.com Auto-Type: {USERNAME}{TAB}{TAB}Une certaine chaîne de caractères fixée{TAB}{PASSWORD}{ENTER} Auto-Type-Window: Un site Web - Bienvenue*
Ici, vous pouvez continuer avec vos remarques si vous le souhaitez...

Si vous avez maintenant une fenêtre ouverte qui commence par "Un site Web - Bienvenue" et appuyez sur la combinaison de touches de raccourci globale de saisie automatique, alors KeePass exécute la séquence de type automatique ci-dessus.

Certains sites, notamment les banques, utilisent des schémas de connexion multi-pages. Vous pouvez utiliser des chaînes Auto-Type-Window pour automatiser ces sites. Vous pouvez également utiliser les chaînes Auto-Type-Window pour normaliser votre connexion LAN dans une entrée KeePass.

Vous pouvez définir autant de chaînes Auto-Type-Window par entrée que vous le souhaitez.

De plus, une séquence peut être utilisée pour plusieurs fenêtres. Pour cela, définissez d'abord une paire de fenêtre/séquence comme d'habitude, puis continuez en ajoutant '-' et un nombre, en commençant par 1. Exemple :

Auto-Type: {USERNAME}{TAB}{PASSWORD}{ENTER} Auto-Type-Window: Une certaine boîte de dialogue - * Auto-Type-1: {USERNAME}{ENTER} Auto-Type-Window-1: * - Editor Auto-Type-Window-1: * - Notepad Auto-Type-Window-1: * - WordPad Auto-Type-2: {PASSWORD}{ENTER} Auto-Type-Window-2: Une certaine page Web - *

Ici, la séquence Auto-Type-1 sera utilisée pour toutes les fenêtres Auto-Type-Window-1.

Les associations de fenêtres personnalisées remplacent le titre de l'entrée KeePass. Si des associations de fenêtres personnalisées sont spécifiées, alors elles seront les seuls éléments utilisés pour déterminer une correspondance et le titre d'entrée KeePass sera ignoré.

Les définitions de fenêtre de saisie automatique, des titres d'entrée et adresses (URLs) sont compilées par Spr, c'est-à-dire que des paramètres substituables (placeholders), variables d'environment, références de champ, etc. peuvent être utilisés.


Les séquences de touches pressées de la saisie automatique

Une séquence de touches pressées de saisie automatique est une chaîne d'une ligne qui peut contenir des paramètres substituables et des codes de touche spéciale.

Une liste complète de tous les paramètres substituables pris en charge peut être trouvée sur la page paramètres substituables. Les codes de touche spéciale peuvent être trouvés ci-dessous.

Au-dessus vous avez déjà vu que la saisie automatique par défaut est {USERNAME}{TAB}{PASSWORD}{ENTER}. Ici, {USERNAME} et {PASSWORD} sont des paramètres substituables : lorsque la saisie automatique est accomplie, ceux-ci sont remplacés par les valeurs de champ appropriées de l'entrée. {TAB} et {ENTER} sont des codes de touche spéciale : ils sont remplacés par les touches appropriées. Les codes de touche spéciale sont la seule façon de spécifier des touches spéciales comme Flèche vers le bas, Maj, Échap, etc.

Bien sûr, les séquences de touches peuvent également contenir des caractères simples à envoyer. Par exemple : la chaîne suivante est parfaitement valide en tant que chaîne de séquence de touches :
{USERNAME}{TAB}Du texte pour envoi ! {ENTER}.

Les codes de touche spéciale sont sensibles à la casse.

Les touches spéciales :
Les codes suivants pour les touches spéciales sont pris en charge :

Touche spéciale

Code

Tabulation

{TAB}

Entrée

{ENTER} ou ~

Flèche vers le haut

{UP}

Flèche vers le bas

{DOWN}

Flèche gauche

{LEFT}

Flèche droite

{RIGHT}

Insertion

{INSERT} ou {INS}

Supprimer

{DELETE} ou {DEL}

Début

{HOME}

Fin

{END}

Page précédente

{PGUP}

Page suivante

{PGDN}

Espace

{SPACE}

Retour arrière

{BACKSPACE}, {BS} ou {BKSP}

Pause

{BREAK}

Verrouillage des majuscules

{CAPSLOCK}

Échap

{ESC}

Touche Windows

{WIN} (équ. à {LWIN})

Touche Windows : gauche, droite

{LWIN}, {RWIN}

Applications/Menu

{APPS}

À l'aide

{HELP}

Pavé numérique verrouillé

{NUMLOCK}

Imprime écran

{PRTSC}

Arrêt défilement

{SCROLLLOCK}

F1 - F16

{F1} - {F16}

Pavé numérique +

{ADD}

Pavé numérique -

{SUBTRACT}

Pavé numérique *

{MULTIPLY}

Pavé numérique /

{DIVIDE}

Pavé numérique 0 à 9

{NUMPAD0} à {NUMPAD9}

Maj

+

Ctrl

^

Alt

%


Touche spéciale

Code

+

{PLUS}

%

{PERCENT}

^

{CARET}

~

{TILDE}

(, )

{LEFTPAREN}, {RIGHTPARENT}

{, }

{LEFTBRACE}, {RIGHTBRACE}

De plus, certaines commandes spéciales sont prises en charge :

Syntaxe de commande

Action

{DELAY X}

Retarde X millisecondes.

{DELAY=X}

Définit le retard par défaut à X millisecondes pour toutes les pressions de touches suivantes.

{CLEARFIELD}

Efface le contenu du contrôle d'édition qui a actuellement le focus (seulement les contrôles d'édition sur une seule ligne).

{VKEY X}

Envoi la touche virtuelle de valeur X.

{APPACTIVATE TitreFenêtre}

Active la fenêtre "TitreFenêtre".

{BEEP X Y}

Émet un son avec une fréquence de X Hertz et une durée de Y millisecondes.

Exemples :

{TITLE}{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}
Saisit le titre de l'entrée, une Tabulation, le nom d'utilisateur, une Tabulation, le mot de passe de l'entrée actuellement sélectionnée, et appuie sur Entrée.

{TAB}{PASSWORD}{ENTER}
Appuie sur la touche Tabulation, saisit le mot de passe de l'entrée et appuie sur Entrée.

{USERNAME}{TAB}^v{ENTER}
Saisit le nom d'utilisateur, appuie sur Tabulation, appuie sur Ctrl+V (qui copie les données depuis le presse-papiers de Windows dans la plupart des applications), et appuie sur Entrée.

Basculer les cases à cocher :
Une case à cocher (par exemple : "Rester connecté sur cet ordinateur") peut habituellement être basculé en envoyant un caractère espace (' '). Exemple :
{USERNAME}{TAB}{PASSWORD}{TAB} {TAB}{ENTER}
S'il y a un formulaire avec un champ de nom d'utilisateur, un champ de mot de passe et une case à cocher, cette séquence entrera le nom d'utilisateur, le mot de passe et activera la case à cocher qui suit le contrôle du mot de passe.

Appuyer sur les boutons autres que ceux par défaut :
En appuyant sur les boutons autres que ceux par défaut, cela revient à basculer les cases à cocher : envoie un espace (' '). Remarquez que cela doit être utilisé que pour les boutons autres que ceux par défaut ; pour les boutons par défaut, {ENTER} doit être envoyé à la place.

Les plus hauts caractères ANSI :
La fonction de saisie automatique prend en charge l'envoi des plus hauts caractères ANSI dans l'intervalle 126-255. Ce qui signifie que vous pouvez envoyer un caractère spécial comme ©, @, etc. sans aucun problème ; vous pouvez les écrire directement dans la définition de la séquence de touches pressées.


Les filtres de la fenêtre cible

Quand on crée une association fenêtre/séquence personnalisée, vous devez indiquer à KeePass à quoi ressemblent les titres de fenêtre correspondants. Ici, KeePass prend en charge les caractères génériques simples :

Chaîne avec des caractères génériques

Signification

STRING

Correspond à tous les titres de fenêtre nommés exactement "STRING".

STRING*

Correspond à tous les titres de fenêtre commençant par "STRING".

*STRING

Correspond à tous les titres de fenêtre se terminant par "STRING".

*STRING*

Correspond à tous les titres de fenêtre contenant "STRING" quelque part dans le titre de la fenêtre. Cela inclut la chaîne se trouvant directement au début ou à la fin du titre de la fenêtre.


Les autres caractères génériques ne sont pas pris en charge. Le caractère générique * ne doit pas être dans au milieu d'une chaîne de caractères.

Par exemple : *Windows*Explorer* ne correspondra pas à l'Explorateur Windows, il ne correspondra qu'à Windows*Explorer, c'est-à-dire que le caractère * du milieu est traité comme un caractère de texte '*' au lieu d'un caractère générique.

En utilisant des caractères génériques, vous pouvez faire des associations de saisie automatique indépendamment du navigateur. cf. les exemples d'utilisation pour plus d'informations.


Modifier la séquence de saisie automatique par défaut

La séquence de saisie automatique par défaut (c'est-à-dire celle qui est utilisée quand vous n'en spécifiez pas une personnalisée) est {USERNAME}{TAB}{PASSWORD}{ENTER}. KeePass vous permet de modifier cette séquence par défaut. Normalement vous n'avez pas besoin de la modifier (utiliser plutôt les définitions de fenêtre/séquence personnalisées à la place !), mais c'est quand même utile quand d'autres applications interfèrent avec KeePass (par exemple un logiciel de sécurité qui vous demande toujours la permission avant d'autoriser KeePass à effectuer une saisie automatique).

La séquence de saisie automatique par défaut peut être modifiée dans la configuration de la boîte de dialogue de la saisie automatique. Cette boîte de dialogue se trouve dans 'Outils''Options...''Avancé''Saisie automatique'.


Exemple d'utilisation

Maintenant, jetons un œil sur un exemple concret : la connexion à un site. Dans cet exemple, nous utiliserons le raccourci clavier de saisie automatique globale pour remplir la page de connexion. Tout d'abord, ouvrez la page de test, et créez ensuite une nouvelle entrée dans KeePass avec le titre Test Form et un nom d'utilisateur et un mot de passe de votre choix.

Supposons que le raccourci clavier de saisie automatique globale soit défini sur Ctrl+Alt+A (valeur par défaut). KeePass s'exécute en arrière-plan, vous avez ouvert votre base de données et l'espace de travail est déverrouillé.

Lorsque vous naviguez maintenant sur la page de test et que vous êtes invités à saisir votre nom d'utilisateur et mot de passe, cliquez alors simplement dans le champ du nom d'utilisateur et appuyer sur Ctrl+Alt+A. KeePass entre le nom d'utilisateur et le mot de passe pour vous !

Pourquoi cela a-t-il fonctionné ? Le titre de la fenêtre de votre navigateur était "Test Form - KeePass - Internet Explorer" ou "Test Form - KeePass - Mozilla Firefox", selon le navigateur que vous utilisez. Parce que nous avons donné à l'entrée dans KeePass le titre Test Form, le titre de l'entrée est contenu dans le titre de la fenêtre, donc KeePass utilise cette entrée.

Ici vous voyez les énormes avantages de la saisie automatique : non seulement elle ne nécessite pas d'un logiciel de navigation supplémentaire (le navigateur ne sait rien de KeePass – il n'y a pas besoin de greffons d'aide de navigateur), mais elle est également indépendante du navigateur : la seule entrée que vous avez créée dans KeePass fonctionne pour Internet Explorer et Mozilla Firefox (et autres navigateurs) sans nécessiter une modification ou définition.

Lorsque vous utiliserez des associations fenêtre/séquence (au lieu de la correspondance du titre de l'entrée), vous pourrez obtenir le même résultat indépendamment du navigateur en utilisant des caractères génériques : vous auriez pu par exemple utiliser Test Form - KeePass - * comme filtre de fenêtre. Ce filtre correspond à la fois à la fenêtre Internet Explorer et à la fenêtre Firefox.