/** * @file key.c * @author Finny (tianjialong0106@163.com) * @brief * @version 0.1 * @date 2022-09-26 * * @copyright Copyright (c) 2022 * */ #include "key.h" static T_key_structer_t *T_key_structer_s; static key_camera_cb camera_callback_s; static key_event_cb successful_event_cb_s; static key_event_cb failed_event_cb_s; void T_key_init(T_key_structer_t *T_key_structer) { T_key_structer_s = T_key_structer; } void T_key_registered_cb(key_camera_cb camera_cb, key_event_cb successful_event_cb, key_event_cb failed_event_cb) { camera_callback_s = camera_cb; successful_event_cb_s = successful_event_cb; failed_event_cb_s = failed_event_cb; } void T_key_on_event(void) { } void T_key_schedule(void) { T_key_structer_s->key_now_state = T_key_get_level(); if ((T_key_structer_s->key_before_state != T_key_structer_s->key_now_state) && (T_key_structer_s->key_now_state == true)) { if (camera_callback_s()) { successful_event_cb_s(); } else { failed_event_cb_s(); } } T_key_structer_s->key_before_state = T_key_structer_s->key_now_state; } bool T_key_get_level(void) { return false; }