2017-05-23 3 views
1

Ich möchte erkennen, wenn Maus 1 geklickt wird, dann ein Skript ausführen und jedes Mal, wenn Maus 1 angeklickt wird, wird dieses Skript ausgeführt. Ich habe versucht, mit Python und Bash zu suchen, aber ich bin ein Anfänger und weiß nicht viel.Wie erkennt man, wenn die Maustaste 1 gedrückt wird, und dann ein Bash-Skript ausführen?

#!/bin/bash 

DATE=$(date +¨%F_%I:%M:%S¨) 

raspistill -o /home/pi/Pictures/$DATE.jpg -n -t 1 
scrot /home/pi/Pictures/$DATE.png 

dies das Skript i zu laufen bin versucht, und ich habe in der Suche, xev, xkeybinds xdotool, aber ich kann es einfach nicht herausfinden.

Wir versuchen, einen Touchscreen-Monitor zu verwenden, und jedes Mal, wenn geklickt wird, wird ein Foto gemacht.

Danke

+0

https://unix.stackexchange.com/questions/106736/detect-if-mouse-button-is-pressed-then-invoke-a-script-or-command – moritzg

+0

Ich habe mir das angesehen, aber ich konnte nicht herausfinden, wie ich den Code ändern sollte, damit er mein Skript ausführt: c – Sirsyorrz

Antwort

0
#!/usr/bin/env bash 

mouse="$(xinput --list | awk -F 'id=|\\[' '/mouse|Mouse/ {print $2}')" 
mouse="${mouse//[[:space:]]}" 

while :; do 
    state="$(xinput --query-state "$mouse")" 

    # If mouse 1 pressed. 
    if [[ "$state" == *"button[1]=down"* ]]; then 
     date="$(date +"%F_%I:%M:%S")" 

     raspistill -o "/home/pi/Pictures/${date}.jpg" -n -t 1 2>/dev/null & 
     scrot "/home/pi/Pictures/${date}-2.jpg" & 
    fi 

sleep .1s 
done 
Verwandte Themen