找回密码
 注册
搜索
查看: 1169|回复: 1

[讨论] 如何自定义mtk键盘按键

[复制链接]
发表于 2007-1-5 20:37:39 | 显示全部楼层 |阅读模式
请教达人如何自定义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完毕,这些按键都不起作用,郁闷,请教达人是何道理?
 楼主| 发表于 2007-1-6 14:28:03 | 显示全部楼层
已经搞定,这么写是没有问题的,是宏定义的问题,请斑竹关闭此贴。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-24 00:16 , Processed in 0.059181 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表