dotool – Installation et configuration (Manjaro / Arch-based)¶
Aperçu¶
dotool est un utilitaire de simulation d’entrée de bas niveau. Contrairement à xdotool, il interagit directement avec le noyau Linux via uinput, ce qui le rend compatible à la fois avec X11 et Wayland.
Installation (Manjaro / Arch)¶
1. Installez le package¶
pamac build dotool
# or via yay: yay -S dotool
2. Autorisations et règles udev¶
Pour permettre à dotool de simuler une entrée sans privilèges root, votre utilisateur doit faire partie du groupe input et une règle udev doit être active :
Ajouter un utilisateur au groupe :
sudo gpasswd -a $USER inputCréer une règle udev :
echo 'KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput"' \ | sudo tee /etc/udev/rules.d/80-dotool.rules
Recharger les règles udev :
sudo udevadm control --reload-rules && sudo udevadm trigger
Important : Vous devez vous déconnecter et vous reconnecter pour que les modifications du groupe prennent effet.
Configuration du projet (config/settings.py)¶
# Override X11 default to use dotool (recommended for better layout stability)
x11_input_method_OVERRIDE = "dotool"
# Delay between keystrokes in milliseconds
# 2ms = Default, reliable for special characters and Umlauts
# 0ms = Maximum speed (Instant mode)
dotool_typedelay = 2
Implémentation du script¶
Optimisation des performances (FIFO)¶
Le démarrage d’une nouvelle instance « dotool » pour chaque mot est lent (latence d’environ 100 ms). Pour obtenir une saisie « instantanée », le script utilise un processus d’arrière-plan persistant lisant à partir d’un canal FIFO.
# Setup in the main script
mkfifo /tmp/dotool_fifo 2>/dev/null
dotool < /tmp/dotool_fifo &
DOTOOL_PID=$!
La fonction de saisie¶
do_type() {
local text="$1"
if [[ "$INPUT_METHOD" == "dotool" ]]; then
# Pipe commands directly into the running background process
printf 'typedelay %s\ntype %s\n' "$DOTOOL_TYPEDELAY" "$text" > /tmp/dotool_fifo
else
LC_ALL=C.UTF-8 xdotool type --clearmodifiers --delay 12 "$text"
fi
}
Dépannage et remarques¶
Caractères manquants : Si des caractères spéciaux (comme les trémas) sont ignorés, augmentez
dotool_typedelayà 5 ou 10.Compatibilité des applications : Certaines applications (Electron, navigateurs) peuvent nécessiter un délai plus élevé pour enregistrer correctement la saisie rapide.
Support Wayland :
dotoolest le backend requis pour Wayland, carxdotoolne le prend pas en charge.Repli automatique : Le script revient automatiquement à
xdotoolsidotooln’est pas installé ou configuré correctement.