119 lines
2.4 KiB
C
119 lines
2.4 KiB
C
#ifndef KEY_EVENT_H
|
|
#define KEY_EVENT_H
|
|
|
|
|
|
#include "event/event.h"
|
|
|
|
|
|
#define KEY_POWER 0
|
|
#define KEY_PREV 1
|
|
#define KEY_NEXT 2
|
|
#define KEY_PLAY 3
|
|
#define KEY_VOLUME_DEC 4
|
|
#define KEY_VOLUME_INC 5
|
|
#define KEY_MODE 6
|
|
#define KEY_MENU 7
|
|
#define KEY_ENC 8
|
|
#define KEY_PHONE 9
|
|
#define KEY_PHOTO 10
|
|
|
|
#define KEY_F1 11
|
|
#define KEY_OK 12
|
|
#define KEY_CANCLE 13
|
|
#define KEY_LEFT 14
|
|
#define KEY_UP 15
|
|
#define KEY_RIGHT 16
|
|
#define KEY_DOWN 17
|
|
#define KEY_MUTE 18
|
|
#define KEY_COLLECT 19
|
|
#define KEY_LOCAL 20
|
|
|
|
#define KEY_ADD 21
|
|
#define KEY_MINUS 22
|
|
|
|
#define KEY_0 30
|
|
#define KEY_1 31
|
|
#define KEY_2 32
|
|
#define KEY_3 33
|
|
#define KEY_4 34
|
|
#define KEY_5 35
|
|
#define KEY_6 36
|
|
#define KEY_7 37
|
|
#define KEY_8 38
|
|
#define KEY_9 39
|
|
|
|
#define NO_KEY 255
|
|
|
|
#define KEY_K1 13
|
|
#define KEY_K2 6
|
|
#define KEY_K3 4
|
|
#define KEY_K4 5
|
|
#define KEY_K5 12
|
|
#define KEY_K6 10
|
|
#define KEY_K7 8
|
|
#define KEY_K8 0
|
|
|
|
enum key_action {
|
|
KEY_EVENT_CLICK = 0,
|
|
KEY_EVENT_LONG,
|
|
KEY_EVENT_HOLD,
|
|
KEY_EVENT_UP,
|
|
KEY_EVENT_DOUBLE_CLICK,
|
|
KEY_EVENT_TRIPLE_CLICK,
|
|
KEY_EVENT_FOURTH_CLICK,
|
|
KEY_EVENT_FIRTH_CLICK,
|
|
KEY_EVENT_USER,
|
|
KEY_EVENT_MAX,
|
|
};
|
|
|
|
enum key_from {
|
|
KEY_EVENT_FROM_KEY,
|
|
KEY_EVENT_FROM_TWS,
|
|
KEY_EVENT_FROM_USER,
|
|
};
|
|
|
|
struct key_event {
|
|
u8 type;
|
|
u8 action;
|
|
u8 value;
|
|
u16 msg;
|
|
};
|
|
|
|
struct key_event_msg_table {
|
|
u8 key_value;
|
|
u16 msg_list[8];
|
|
};
|
|
|
|
void key_event_disable();
|
|
|
|
void key_event_enable();
|
|
|
|
void key_event_filter_hold_disable();
|
|
|
|
void key_event_filter_hold_enable();
|
|
|
|
void key_event_set_msg_table(const struct key_event_msg_table *table);
|
|
|
|
int key_event_notify(enum key_from from, struct key_event *event);
|
|
|
|
int key_event_send_msg(u16 msg);
|
|
|
|
|
|
/*
|
|
struct key_event_msg_table music_key_table[] = {
|
|
{
|
|
.key_value = KEY_POWER,
|
|
.msg_list = {MSG_MUSIC_PP, MSG_POWER_OFF },
|
|
},
|
|
{
|
|
.key_value = KEY_NEXT,
|
|
.msg_list = {MSG_MUSIC_PP, MSG_POWER_OFF },
|
|
},
|
|
{
|
|
.key_value = NO_KEY;
|
|
},
|
|
};
|
|
*/
|
|
#endif
|
|
|