1부: Deutsche Dokumentation¶
dotool – 설치 및 구성 (Manjaro / Arch-basiert)¶
is dotool이었나?¶
dotool은 Werkzeug zur Simulation von Tastatureingaben에 해당합니다. Im Gegensatz zu xdotool은 X11 및 Wayland에서 uinput 및 기능 제공을 통해 커널에 직접 통신할 수 있습니다.
설치 (만자로/아치)¶
1. 패키지 설치¶
pamac build dotool
# oder: yay -S dotool
2. 베레크티군겐 세트젠¶
Damit dotool ohne Root-Rechtetippen darf, muss dein User in die Gruppeinput und eine udev-Regel aktiv sein:
사용자 zur 그룹:
sudo gpasswd -a $USER 입력udev-Regel:
echo 'KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput"' \ | sudo tee /etc/udev/rules.d/80-dotool.rules
Regeln neu laden:
sudo udevadm control --reload-rules && sudo udevadm trigger
위치: Danach einmal aus- und neu einloggen, damit die Gruppenrechte aktiv werden.
프로젝트 구성(config/settings.py)¶
# Erzwingt dotool unter X11 (empfohlen für bessere Layout-Stabilität)
x11_input_method_OVERRIDE = "dotool"
# Verzögerung zwischen Anschlägen (in ms)
# 2ms = Standard, sicher für Umlaute (ä, ö, ü, ß)
# 0ms = Maximal schnell (Blitz-Modus)
dotool_typedelay = 2
Skript 구현¶
지속성 프로세스(FIFO)¶
Um den Overhead durch ständiges Neuerstellen des Virmeiden, nutzt das Skript eine Pipe (FIFO). Dadurch reagiert dotool verzögerungsfrei.
# Vorbereitung im Hauptskript
mkfifo /tmp/dotool_fifo 2>/dev/null
dotool < /tmp/dotool_fifo &
DOTOOL_PID=$!
Die Eingabe-Funktion¶
do_type() {
local text="$1"
if [[ "$INPUT_METHOD" == "dotool" ]]; then
# Sendet Befehle direkt an den wartenden Prozess
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
}
힌바이제 & 펠레르베헤붕¶
Fehlende Zeichen: Wenn Umlaute verschluckt werden, erhöhe
dotool_typedelayauf 5 oder 10.폴백: Ist
dotoolnicht korrekt konfiguriert, weicht das System automatisch aufxdotoolaus.Wayland 지원: Unter Wayland wird
dotoolautomatisch bevorzugt, daxdotooldort nicht funktioniert.