# Automatiser une séquence de touches (X11, quelque soit le logiciel)

**URL:** <https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185>\
**Category:** Support Debian\
**Created:** [Mai 25, 2020, 1:38 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185 "2020-05-25T13:38:50Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Mai 25, 2020, 1:38 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/1 "2020-05-25T13:38:50Z")

</div>

Bonjour,  
est-il possible de créer une commande qui reproduit un certains nombre de fois (ou, au moins une fois), une séquence de touches claviers.

Concrètement, dans «&nbsp;grisbi&nbsp;», j’ai entré un grand nombres d’opération en me trompant d’années, et il ne me paraît pas possible de réaliser une sélection et modification globale de ce type (changer seulement l’année dans la date)  
, mais la séquence de touche est constante.

---

<div class="post-metadata">

**Author:** ![littlejohn75](https://www.debian-fr.org/user_avatar/www.debian-fr.org/littlejohn75/32/3840_2.png) [@littlejohn75](https://www.debian-fr.org/u/littlejohn75)\
**Post date:** [Mai 25, 2020, 4:59 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/2 "2020-05-25T16:59:06Z")

</div>

> [@josephtux](#):
>
> st-il possible de créer une commande qui reproduit un certains nombre de fois (ou, au moins une fois), une séquence de touches claviers.

```plaintext
aptitude show xdotool
....
Taille décompressée : 125 k

Description : génération d'évènements X11 d'entrées clavier ou de souris
 Xdotool permet de simuler par programmation (ou manuellement) l'activité d'entrée de
 clavier ou de souris, les déplacements et redimensionnements de fenêtres, etc. Il
 réalise cela en utilisant l'extension XTEST de X11 et d'autres fonctions Xlib.

```

Si vous n’utilisez pas `wayland` il le semble que vous devriez pouvoir vous en sortir avec `xdotool` (125 Ko de pur Xlib)

Cordialement,  
Regards,  
Mit freundlichen Grüßen,  
مع تحياتي الخالصة

* * *

F. Petitjean  
Ingénieur civil du Génie Maritime.

« Un ordinateur c’est comme un frigo : on le branche et ça marche. »  
Laurent Serano Directeur informatique, réunion Délégués du Personnel 2010

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Mai 25, 2020, 6:12 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/3 "2020-05-25T18:12:15Z")

</div>

Bonsoir

Je viens de faire une rapide recherche  
et dans [cette page web](https://sourceforge.net/projects/grisbi/files/Documentation/Format-fichier-grisbi/) j’ai pu constater  
que le format des fichiers utilisés par Grisbi était du XML.

Je pense que tu devrais pouvoir ouvrir ces fichiers avec LibreOfficeCalc  
qui devrait te permettre de retrouver facilement les champs que tu veux modifier  
et la modification sera sans doute beaucoup plus facile.

Ne modifie pas les fichiers originaux, mais fais-en des copies,  
et mets les originaux de côté.

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Mai 26, 2020, 5:16 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/4 "2020-05-26T05:16:03Z")

</div>

Merci à tous les deux, je vais voir ça, les deux suggestions sont intéressantes.

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Mai 27, 2020, 8:02 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/5 "2020-05-27T08:02:28Z")

</div>

> [@anon29980398](#):
>
> ouvrir ces fichiers avec LibreOfficeCalc

pourquoi utiliser un éléphant pour abattre une mouche ?!  
un éditeur de texte suffit, voire en ligne de commande, puisque c’est du XML 😉  
( \<3 Geany )

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Mai 27, 2020, 8:25 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/6 "2020-05-27T08:25:14Z")

</div>

Je comprend bien ton point de vue,  
mais un éditeur de texte ne sera pas capable de comprendre, interpréter, et écrire en vérifiant le balisage XML et ses imbrications,  
et un éditeur de texte ne pourrait pas faire la différence entre le texte du nom des balises et le texte contenu entre ces balises.

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Mai 27, 2020, 11:30 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/7 "2020-05-27T11:30:07Z")

</div>

> [@anon29980398](#):
>
> un éditeur de texte ne pourrait pas faire la différence entre le texte du nom des balises et le texte contenu entre ces balises.

vim le peu, il peut tout faire d’ailleurs même le café.^^  
Je vois le truc avec une regex et une substitution

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Mai 27, 2020, 5:39 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/8 "2020-05-27T17:39:16Z")

</div>

> [@limax](#):
>
> Je vois le truc avec une regex et une substitution

à moins que je ne me trompe mais un coup de sed devrait suffire. non ?!  
du type:

```auto
sed -i -e "s#annee-a-changer#annee-modifiee#g" fichier.xml

```

_(moi : en mode certainement très naïf)_

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Mai 28, 2020, 5:16 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/9 "2020-05-28T17:16:26Z")

</div>

Habitué à _vim_, _sed_ ne devrait pas trop me poser de problème. D’ailleurs, il est aussi simple d’utiliser _vim_, qui présente l’avantage de montrer immédiatement le résultat et de rectifier la regex, puisqu’il ne s’agit d’agir que sur un seul fichier (une copie par prudence évidente).  
Merci à tous.

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Mai 30, 2020, 9:24 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/10 "2020-05-30T21:24:32Z")

</div>

> [@PengouinPdt](#):
>
> sed -i -e «&nbsp; **s** #annee-a-changer#annee-modifiee#g&nbsp;» fichier.xml

Bonjour  
Le s ne veut il pas dire substitute?  
Dans les deux cas (avec vim ou sed) on utilise une regex et une substitution.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Mai 30, 2020, 10:12 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/11 "2020-05-30T22:12:42Z")

</div>

> [@limax](#):
>
> … vim le peu, il peut tout faire d’ailleurs même le café.^^ …

Oui, et …  
Extrait de [Référence Debian (Préface)](https://www.debian.org/doc/manuals/debian-reference/pr01.fr.html#_what_is_debian)

> [@Miquel van Smoorenburg](#):
>
> « This is UNIX. It gives you enough rope to hang yourself. » — Miquel van Smoorenburg [miquels@cistron.nl](mailto:miquels@cistron.nl) (C’est UNIX. Il vous donne assez de corde pour vous pendre vous-même).

Ce que je voulais dire par là,  
c’est qu’une regex appliquée directement sur le texte d’un fichier XML  
pourrait très vite mettre en vrac toute la structure hiérarchique d’un document XML  
tant qu’on n’en connaît pas bien la structure et le nom de toutes les balises qu’il utilise.

Mais je suis aussi tout à fait d’accord avec vous pour dire que,  
si on sait ce qui va être impacté, **vim** ou/et **sed** seront beaucoup plus rapide  
et consommeront énormément moins de ressources  
que l’utilisation d’une application comme **LibreOffice Calc**

* * *

Et entre les deux, il y a aussi la très efficace _library_ [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) de python

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Mai 31, 2020, 11:14 UTC](https://www.debian-fr.org/t/automatiser-une-sequence-de-touches-x11-quelque-soit-le-logiciel/82185/12 "2020-05-31T11:14:46Z")

</div>

> [@anon29980398](#):
>
> Et entre les deux, il y a aussi la très efficace _library_ [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) de python

Absolument, et pas difficile à prendre en main ! 😛
