You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.2 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. /**
  2. * @file key.c
  3. * @author Finny (tianjialong0106@163.com)
  4. * @brief
  5. * @version 0.1
  6. * @date 2022-09-26
  7. *
  8. * @copyright Copyright (c) 2022
  9. *
  10. */
  11. #include "key.h"
  12. static T_key_structer_t *T_key_structer_s;
  13. static key_camera_cb camera_callback_s;
  14. static key_event_cb successful_event_cb_s;
  15. static key_event_cb failed_event_cb_s;
  16. void T_key_init(T_key_structer_t *T_key_structer)
  17. {
  18. T_key_structer_s = T_key_structer;
  19. }
  20. void T_key_registered_cb(key_camera_cb camera_cb, key_event_cb successful_event_cb, key_event_cb failed_event_cb)
  21. {
  22. camera_callback_s = camera_cb;
  23. successful_event_cb_s = successful_event_cb;
  24. failed_event_cb_s = failed_event_cb;
  25. }
  26. void T_key_on_event(void)
  27. {
  28. }
  29. void T_key_schedule(void)
  30. {
  31. T_key_structer_s->key_now_state = T_key_get_level();
  32. if ((T_key_structer_s->key_before_state != T_key_structer_s->key_now_state) && (T_key_structer_s->key_now_state == true))
  33. {
  34. if (camera_callback_s())
  35. {
  36. successful_event_cb_s();
  37. }
  38. else
  39. {
  40. failed_event_cb_s();
  41. }
  42. }
  43. T_key_structer_s->key_before_state = T_key_structer_s->key_now_state;
  44. }
  45. bool T_key_get_level(void)
  46. {
  47. return false;
  48. }