Files
TAIXIN/sdk/lib/key/keyWork.h

30 lines
827 B
C

#ifndef __KEYWORK_H
#define __KEYWORK_H
#include "sys_config.h"
#include "typesdef.h"
#include "list.h"
struct key_callback_list_s;
//keyvalue:按键的键值和状态
//extern_value:额外参数,根据不同按键传输数据不一样,比如adkey传的是adc的值,如果是powerkey,可以传输对应的电量值
typedef uint32_t (*key_callback)(struct key_callback_list_s *key_callback_list,uint32_t keyvalue,uint32_t extern_value);
struct key_callback_list_s
{
struct list_head list;
key_callback callback;
void *priv;
uint8_t flag; //0正常 1要删除
};
struct key_msg_s
{
uint32_t keycode;
uint32_t extern_value;
};
void *add_keycallback(key_callback callback,void *priv);
uint8_t remove_keycallback(struct key_callback_list_s *remove_list);
int32 keyWork_init(int listen_max);
#endif