|
请教达人如何自定义mtk平台按键,让按键总数达到33个?
目前已经进行的尝试如下:
1、修改keypad_def.c文件中的按键定义,按照硬件定义修改,比常用的键多处5个,依次填好;此处可判断基本不会出错。
2、修改globalconstants.h文件的mmi_keypads_enum定义,在MAX_KEYS键前添加自定义的5个按键;
typedef enum {
KEY_0= 0,
KEY_1,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_LSK,
KEY_RSK,
KEY_CSK,
KEY_UP_ARROW,
KEY_DOWN_ARROW,
KEY_LEFT_ARROW,
KEY_RIGHT_ARROW,
KEY_SEND,
KEY_END,
KEY_CLEAR,
KEY_STAR,
KEY_POUND,
KEY_VOL_UP,
KEY_VOL_DOWN,
KEY_QUICK_ACS,
KEY_CAMERA,
KEY_IP,
KEY_ENTER,
KEY_WAP,
KEY_EXTRA_1,
KEY_EXTRA_2,
/*******/
KEY_Q1,
KEY_Q2,
KEY_Q3,
KEY_Q4,
KEY_Q5,
/*******/
MAX_KEYS, /* max key codes support */
KEY_INVALID =0xFE
} mmi_keypads_enum;
3、修改kbd_table.h文件,添加5个按键的device宏定义,添加在MAX_DEVICE_KEYS前,同时顺延修改MAX_DEVICE_KEYS的值;
#define DEVICE_KEY_Q1 28
#define DEVICE_KEY_Q2 29
#define DEVICE_KEY_Q3 30
#define DEVICE_KEY_Q4 31
#define DEVICE_KEY_Q4 32
#define MAX_DEVICE_KEYS 33
4、修改timerevents.h文件的,在UI_TIMER_ID_BASE之前添加自定义的timerid例如KEY_TIMER_ID28到KEY_TIMER_ID32;
5、修改keybrd.c文件的PresentAllKeys、nKeyPadMap;
nkeypadmap的尾巴上添加如下内容:
{DEVICE_KEY_Q1, KEY_Q1, KEY_TIMER_ID28, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},
{DEVICE_KEY_Q2, KEY_Q2, KEY_TIMER_ID29, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},
{DEVICE_KEY_Q3, KEY_Q3, KEY_TIMER_ID30, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},
{DEVICE_KEY_Q4, KEY_Q4, KEY_TIMER_ID31, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},
{DEVICE_KEY_Q4, KEY_Q5, KEY_TIMER_ID32, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},
保存后new完毕,这些按键都不起作用,郁闷,请教达人是何道理? |
|