Automatisches klicken mit der Maus wenn linke Maustase gedrückt ist.

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ren22

Automatisches klicken mit der Maus wenn linke Maustase gedrückt ist.

Beitrag von ren22 » 23.06.2019 17:39:45

Hallo,

ich versuche mit 100% scheiter Garantie ein Bashscript zu schreiben, dass wenn ich die linke Maustaste gedrückt halte, dass dann, immoment xdotool, automatisch solange die linke immer wieder drückt, solange die Linke Maustaste physikalisch gedrückt ist, sobald ich dann die Linke Maustaste wieder loslasse sollte das automatische klicken aufhöhren,. PS:vorrangig sollte das ganze unter chromium im Browser funktionieren.

hier mein script was aber aus irgent einen Grund auch immer nicht automatisch klickt, wenn die LinkeMausTaste physikalisch gedrückt ist.

Code: Alles auswählen

#!/bin/bash

#MOUSE_ID=$(xinput --list | grep -i -m 1 'mouse' | grep -o 'id=[0-9]\+' | grep -o '[0-9]\+')

while : ; do
    # wenn linke maus taste gedrückt wird/ist
    if [[ $(xinput --query-state 11 | grep 'button\[1\]' | tr -d "[:space:]") == "button[1]=down" ]]; then
        if ! pgrep -x xdotool >/dev/null; then
            xdotool click --repeat 5 --delay 50 1 &
        fi
    fi
    # wenn links maustaste losgelassen wird
    if [[ $(xinput --query-state 11 | grep 'button\[1\]' | tr -d "[:space:]") == "button[1]=up" ]]; then
        if ! pgrep -x xdotool >/dev/null ; then
            xdotool click --repeat 5 --delay 50 1 &
        fi
    fi
done

vielleicht weiss einer von euch wo der Fehler liegt oder hat eine andere Idee wie man das machen könnte.
Vielen Dank

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Automatisches klicken mit der Maus wenn linke Maustase gedrückt ist.

Beitrag von MSfree » 24.06.2019 09:26:11

ren22 hat geschrieben: ↑ zum Beitrag ↑
23.06.2019 17:39:45
vielleicht weiss einer von euch wo der Fehler liegt
Der Fehler ist die völlig falsche Herangehensweise. Mausaktionen sind sogenannte Events (Ereignisse). Wenn du aufgrund eines Events (hier Maus klicked) neue Mausklicks erzeugst, erzeugst du dabei neue Events, nämlich eine Sequenz von Maus klicked und Maus loslassen. Woher soll deine Herangehensweise nun unterscheiden können, ob Maus loslassen nun das endgültige Loslassen der Maustaste, also das Fingerheben, ist oder ob es nicht das Maus loslassen, das dem Maus klicked folgt, ist?

Solche Aktionen in eventgesteuerten Programmen (in C/C++) zu implementieren, ist schon komliziert genug. Sowas in einem Shellscript durch abwechselndes aufrufen von weiteren Childprozessen (xinput/xdotool) hinzubekommen, ist unmöglich.

ren22

Re: Automatisches klicken mit der Maus wenn linke Maustase gedrückt ist.

Beitrag von ren22 » 29.06.2019 20:23:34

Ok, ich dachte das es einen Unterschied macht wenn man die Maustaste real drückt oder wenn ein Program den Maustasten druck ausführt. Gut wieder was gelernt :-)

... weisst du zufällig ob man sowas mit einem Javascript Extension/Addon unter Chromium machen kann ?

Antworten