touch-monitor 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # /usr/local/bin/screen-off
  2. #!/usr/bin/env bash
  3. set -e
  4. BL="/sys/class/backlight/$(ls /sys/class/backlight | head -n1)"
  5. if [ -e "$BL/bl_power" ]; then echo 4 | sudo tee "$BL/bl_power"; else echo 0 | sudo tee "$BL/brightness"; fi
  6. echo 1 | sudo tee /sys/class/graphics/fb0/blank >/dev/null
  7. tuannguyen@dune-weaver-test:~ $ cat /usr/local/bin/touch-monitor
  8. #!/usr/bin/env bash
  9. # Monitor touch events and wake screen when detected
  10. # Find touch input device
  11. TOUCH_DEV=""
  12. for dev in /dev/input/event*; do
  13. if udevadm info --query=all --name=$dev 2>/dev/null | grep -q -i "touch\|ft5406"; then
  14. TOUCH_DEV=$dev
  15. break
  16. fi
  17. done
  18. if [ -z "$TOUCH_DEV" ]; then
  19. # Fallback to first event device
  20. TOUCH_DEV="/dev/input/event0"
  21. fi
  22. echo "Monitoring touch device: $TOUCH_DEV"
  23. # Monitor for any input
  24. while true; do
  25. # Use timeout to read one event (16 bytes)
  26. if timeout 0.1 cat "$TOUCH_DEV" 2>/dev/null | head -c 16 > /dev/null; then
  27. echo "Touch detected - waking screen"
  28. /usr/local/bin/screen-on
  29. # Exit so the main app can take over
  30. exit 0
  31. fi
  32. sleep 0.1
  33. done