check_joy.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #! /bin/sh
  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
  3. PROGNAME=`basename $0`
  4. PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
  5. REVISION=`echo '$Revision$' | sed -e 's/[^0-9.]//g'`
  6. STATUS=""
  7. . $PROGPATH/utils.sh
  8. print_usage() {
  9. echo "Usage: $PROGNAME /dev/js<#> <button #>"
  10. }
  11. print_help() {
  12. print_revision $PROGNAME $REVISION
  13. echo ""
  14. print_usage
  15. echo ""
  16. echo "This plugin checks a joystick button status using the "
  17. echo "joyreadbutton utility from the joyd package."
  18. echo ""
  19. support
  20. exit 0
  21. }
  22. if [ $# -ne 2 ]; then
  23. print_usage
  24. exit 0
  25. fi
  26. case "$1" in
  27. --help)
  28. print_help
  29. exit 0
  30. ;;
  31. -h)
  32. print_help
  33. exit 0
  34. ;;
  35. --version)
  36. print_revision $PROGNAME $REVISION
  37. exit 0
  38. ;;
  39. -V)
  40. print_revision $PROGNAME $REVISION
  41. exit 0
  42. ;;
  43. /dev/js*)
  44. joyreadbutton $1 $2 1>&1 1>/dev/null
  45. STATUS=$?
  46. if [ "$STATUS" -eq 0 ]; then
  47. echo OK
  48. exit 0
  49. elif [ "$STATUS" -eq 1 ];then
  50. echo CRITICAL
  51. exit 2
  52. else
  53. echo UNKNOWN
  54. exit -1
  55. fi
  56. ;;
  57. *)
  58. print_usage
  59. exit 0
  60. ;;
  61. esac