92 lines
2.1 KiB
C
92 lines
2.1 KiB
C
#include "app_config.h"
|
|
#ifdef CONFIG_UI_ENABLE //上电执行则打开app_config.h TCFG_DEMO_UI_RUN = 1
|
|
|
|
#include "device/device.h"//u8
|
|
#include "event/key_event.h"
|
|
|
|
#include "asm/gpio.h"
|
|
#include "system/includes.h"
|
|
|
|
/****************按键部分**********************/
|
|
enum data_mode {
|
|
camera,
|
|
ui,
|
|
ui_camera,
|
|
};
|
|
|
|
extern u8 data_mode;
|
|
|
|
extern int ui_key_control(u8 value, u8 event);
|
|
extern int ui_camera_key_control(u8 value, u8 event);
|
|
|
|
static int camera_ui_key_click(struct key_event *key)
|
|
{
|
|
static u8 mode = 0; //0为摄像头输出模式 1为UI输出模式
|
|
|
|
int err;
|
|
|
|
switch (key->action) {
|
|
case KEY_EVENT_CLICK:
|
|
switch (key->value) {
|
|
case KEY_MODE: //IO_key//键值
|
|
printf(">>>>>>>>>>>>>>>>key power_off");
|
|
break;
|
|
case KEY_1:
|
|
printf(">>>>>>>>>>>>>>>key1");
|
|
break;
|
|
case KEY_2:
|
|
printf(">>>>>>>>>>>>>>>>key2");
|
|
break;
|
|
case KEY_3:
|
|
printf(">>>>>>>>>>>>>>>>key3");
|
|
break;
|
|
case KEY_4:
|
|
mode = !mode;//按键切显示模式
|
|
printf(">>>>>>>>>>>>>>>key4");
|
|
case KEY_5:
|
|
printf(">>>>>>>>>>>>>>>key5");
|
|
case KEY_6:
|
|
printf(">>>>>>>>>>>>>>>key6");
|
|
case KEY_7:
|
|
printf(">>>>>>>>>>>>>>>key7");
|
|
case KEY_8:
|
|
printf(">>>>>>>>>>>>>>>key8");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (!mode) { //按键分支 一个模式对应一个按键分支 便于编写
|
|
printf(">>>>>>>>ui_camera_key");
|
|
ui_camera_key_control(key->value, key->action);
|
|
} else {
|
|
printf(">>>>>>>>ui_key");
|
|
ui_key_control(key->value, key->action);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
int camera_ui_key_event_handler(struct key_event *key)
|
|
{
|
|
char ret;
|
|
switch (key->action) {
|
|
case KEY_EVENT_CLICK:
|
|
ret = camera_ui_key_click(key);
|
|
break;
|
|
case KEY_EVENT_LONG:
|
|
break;
|
|
case KEY_EVENT_HOLD:
|
|
break;
|
|
case KEY_EVENT_UP:
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
return 0;
|
|
}
|
|
#endif
|