Vous pouvez faire le contraire. Vous pouvez vérifier l'inactivité.
Il s'agit donc de ne rien faire tant que l'inactivité augmente...
#!/bin/sh
# Pause/Interval between checks
checkInt=5
# Keep track of the idle timer
lastIdle=0
while true ; do
ioresp=`ioreg -w 0 -c IOHIDSystem | sed -e '/HIDIdleTime/ !{ d' -e 't' -e '}' -e 's/.* = //g' -e 'q'`
idleNow=`echo $(( ${ioresp} / 1000000000 ))`
re='^[0-9]+$'
if ! [[ $idleNow =~ $re ]] ; then
echo "error: ioreg did not return a number" >&2; exit 1
fi
echo "Idle now is $idleNow secs, was $lastIdle secs"
# if idle decreased then action occurred so we do something...
if [ $idleNow -lt $lastIdle ] ; then
osascript -e 'tell application "System Events" to display dialog "Hello World"'
lastIdle=0
else
lastIdle=$idleNow
fi
sleep $checkInt
done
C'est rudimentaire mais peut-être que cela fera l'affaire.... ! ?!
0 votes
Voulez-vous dire qu'une touche spécifique est enfoncée ou parlez-vous en général ?
0 votes
@Vic : Je veux dire n'importe quelle clé.