backlight.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from .plugin import Plugin
  2. import time
  3. import config
  4. class Backlight(Plugin):
  5. def __init__(self):
  6. self.current_brightness = -1
  7. self.last_even = 0
  8. def event_handler(self):
  9. pass
  10. def tick(self):
  11. global everytime_keydown, last_brt
  12. cur_time = time.time()
  13. if cur_time - everytime_keydown > 40:
  14. print("timeout, dim screen %d" % int(cur_time - everytime_keydown))
  15. try:
  16. f = open(config.BackLight, "r+")
  17. except IOError:
  18. pass
  19. else:
  20. with f:
  21. content = f.readlines()
  22. content = [x.strip() for x in content]
  23. brt = int(content[0])
  24. if brt > 1:
  25. last_brt = brt ## remember brt for restore
  26. brt = 1
  27. f.seek(0)
  28. f.write(str(brt))
  29. f.truncate()
  30. f.close()
  31. main_screen._TitleBar._InLowBackLight = 0
  32. everytime_keydown = cur_time
  33. def RestoreLastBackLightBrightness(main_screen):
  34. global last_brt
  35. if last_brt == -1:
  36. return
  37. try:
  38. with open(config.BackLight, "r+") as f:
  39. content = f.readlines()
  40. content = [x.strip() for x in content]
  41. brt = int(content[0])
  42. if brt < last_brt:
  43. f.seek(0)
  44. f.write(str(last_brt))
  45. f.truncate()
  46. f.close()
  47. last_brt = -1
  48. main_screen._TitleBar._InLowBackLight = -1
  49. except IOError:
  50. print("RestoreLastBackLightBrightness open %s failed, try to adjust brightness in Settings" % config.BackLight)
  51. def tick(main_screen):
  52. return True