📄 kp_userdef.c.svn-base
字号:
#define _KP_USERDEF_C
#include "typedef.h"
#include "SysConfig.h"
#include "kp.h"
#include "ir.h"
//#include "ir522.h"
#include "os.h"
#include "bios.h"
#ifdef CHIP_TYPE_MP321D
//#define _KEYPAD_M1D // for DEMOBOARD_M1D Keypad
#define _KEYPAD_M3 // for BBE
#else
#ifdef BOARD_MP322_EVB
#define _KEYPAD_MP522_EVB // for MP522_EVB Keypad
#else
//#define MP522_DTB_VC_KEYPAD // for MP522_DTB_VC Keypad
#ifdef MP522_DTB_VC_KEYPAD
#define _KEYPAD_MP522_DTB_VC
#else
#define _KEYPAD_MP522_DTB_VB // for MP522_DTB_VB Keypad
#endif
#endif
#endif
#ifdef _KEYPAD_MP522_EVB
#define KEY_IN_IO_COUNT 4
#define KEY_OUT_IO_COUNT 4
U08 *u08KeyInIo[KEY_IN_IO_COUNT] ={"HDATA4", "HDATA5", "HDATA6","HDATA7"};
U08 *u08KeyOutIo[KEY_OUT_IO_COUNT] = {"HDATA0", "HDATA1", "HDATA2", "HDATA3"};
#define KEY_TRANSFORM_COUNT 17
ST_KEY_TRANSFORM keyTransformTab[] = {
{E_KEY_STATE_PRESS, 0x00000001, 0x00000000, 5},
{E_KEY_STATE_PRESS, 0x00000002, 0x00000000, 4},
{E_KEY_STATE_PRESS, 0x00000004, 0x00000000, 6},
{E_KEY_STATE_PRESS, 0x00000008, 0x00000000, 13},
{E_KEY_STATE_PRESS, 0x00000010, 0x00000000, 2},
{E_KEY_STATE_PRESS, 0x00000020, 0x00000000, 1},
{E_KEY_STATE_PRESS, 0x00000040, 0x00000000, 3},
{E_KEY_STATE_PRESS, 0x00000080, 0x00000000, 14},
{E_KEY_STATE_PRESS, 0x00000100, 0x00000000, 11},
{E_KEY_STATE_PRESS, 0x00000200, 0x00000000, 10},
{E_KEY_STATE_PRESS, 0x00000400, 0x00000000, 12},
{E_KEY_STATE_PRESS, 0x00000800, 0x00000000, 15},
{E_KEY_STATE_PRESS, 0x00001000, 0x00000000, 8},
{E_KEY_STATE_PRESS, 0x00002000, 0x00000000, 7},
{E_KEY_STATE_PRESS, 0x00004000, 0x00000000, 9},
{E_KEY_STATE_PRESS, 0x00008000, 0x00000000, 16},
{E_KEY_STATE_HOLD , 0x00000002, 0x00000000, 2},
};
#endif
#ifdef _KEYPAD_MP522_DTB_VB
#define KEY_IN_IO_COUNT 4
#define KEY_OUT_IO_COUNT 4
U08 *u08KeyInIo[KEY_IN_IO_COUNT] ={"HDATA0", "HDATA1", "HDATA2", "HDATA3"};
U08 *u08KeyOutIo[KEY_OUT_IO_COUNT] = {"HDATA4", "HDATA5", "HDATA6","HDATA7"};
#define KEY_TRANSFORM_COUNT 17
ST_KEY_TRANSFORM keyTransformTab[] = {
{E_KEY_STATE_PRESS, 0x00000001, 0x00000000, 1},
{E_KEY_STATE_PRESS, 0x00000002, 0x00000000, 2},
{E_KEY_STATE_PRESS, 0x00000004, 0x00000000, 3},
{E_KEY_STATE_PRESS, 0x00000008, 0x00000000, 13},
{E_KEY_STATE_PRESS, 0x00000010, 0x00000000, 4},
{E_KEY_STATE_PRESS, 0x00000020, 0x00000000, 5},
{E_KEY_STATE_PRESS, 0x00000040, 0x00000000, 6},
{E_KEY_STATE_PRESS, 0x00000080, 0x00000000, 14},
{E_KEY_STATE_PRESS, 0x00000100, 0x00000000, 7},
{E_KEY_STATE_PRESS, 0x00000200, 0x00000000, 8},
{E_KEY_STATE_PRESS, 0x00000400, 0x00000000, 9},
{E_KEY_STATE_PRESS, 0x00000800, 0x00000000, 15},
{E_KEY_STATE_PRESS, 0x00001000, 0x00000000, 10},
{E_KEY_STATE_PRESS, 0x00002000, 0x00000000, 11},
{E_KEY_STATE_PRESS, 0x00004000, 0x00000000, 12},
{E_KEY_STATE_PRESS, 0x00008000, 0x00000000, 16},
{E_KEY_STATE_HOLD , 0x00000002, 0x00000000, 2},
};
#endif
#ifdef _KEYPAD_MP522_DTB_VC
#define KEY_IN_IO_COUNT 4
#define KEY_OUT_IO_COUNT 3
U08 *u08KeyInIo[KEY_IN_IO_COUNT] ={"HDATA0", "HDATA1", "HDATA2", "HDATA3"};
U08 *u08KeyOutIo[KEY_OUT_IO_COUNT] = {"HDATA4", "HDATA5", "HDATA6"};
#define KEY_TRANSFORM_COUNT 12
ST_KEY_TRANSFORM keyTransformTab[] = {
{E_KEY_STATE_PRESS, 0x00000001, 0x00000000, 1},
{E_KEY_STATE_PRESS, 0x00000002, 0x00000000, 4},
{E_KEY_STATE_PRESS, 0x00000004, 0x00000000, 7},
{E_KEY_STATE_PRESS, 0x00000008, 0x00000000, 10},
{E_KEY_STATE_PRESS, 0x00000010, 0x00000000, 2},
{E_KEY_STATE_PRESS, 0x00000020, 0x00000000, 5},
{E_KEY_STATE_PRESS, 0x00000040, 0x00000000, 8},
{E_KEY_STATE_PRESS, 0x00000080, 0x00000000, 11},
{E_KEY_STATE_PRESS, 0x00000100, 0x00000000, 3},
{E_KEY_STATE_PRESS, 0x00000200, 0x00000000, 6},
{E_KEY_STATE_PRESS, 0x00000400, 0x00000000, 9},
{E_KEY_STATE_PRESS, 0x00000800, 0x00000000, 12},
{E_KEY_STATE_PRESS, 0x00001000, 0x00000000, 13},
{E_KEY_STATE_PRESS, 0x00002000, 0x00000000, 14},
{E_KEY_STATE_PRESS, 0x00004000, 0x00000000, 15},
{E_KEY_STATE_PRESS, 0x00008000, 0x00000000, 16},
{E_KEY_STATE_HOLD , 0x00000002, 0x00000000, 2},
};
#endif
#ifdef _KEYPAD_M1D
#define KEY_IN_IO_COUNT 4
#define KEY_OUT_IO_COUNT 4
U08 *u08KeyInIo[KEY_IN_IO_COUNT] ={"HDATA8", "HDATA9", "HDATA10", "HDATA11"};
U08 *u08KeyOutIo[KEY_OUT_IO_COUNT] = {"HDATA12", "HDATA13", "HDATA14","HDATA15"};
#define KEY_TRANSFORM_COUNT 17
ST_KEY_TRANSFORM keyTransformTab[] = {
{E_KEY_STATE_PRESS, 0x00000001, 0x00000000, 1},
{E_KEY_STATE_PRESS, 0x00000002, 0x00000000, 2},
{E_KEY_STATE_PRESS, 0x00000004, 0x00000000, 3},
{E_KEY_STATE_PRESS, 0x00000008, 0x00000000, 13},
{E_KEY_STATE_PRESS, 0x00000010, 0x00000000, 4},
{E_KEY_STATE_PRESS, 0x00000020, 0x00000000, 5},
{E_KEY_STATE_PRESS, 0x00000040, 0x00000000, 6},
{E_KEY_STATE_PRESS, 0x00000080, 0x00000000, 14},
{E_KEY_STATE_PRESS, 0x00000100, 0x00000000, 7},
{E_KEY_STATE_PRESS, 0x00000200, 0x00000000, 8},
{E_KEY_STATE_PRESS, 0x00000400, 0x00000000, 9},
{E_KEY_STATE_PRESS, 0x00000800, 0x00000000, 15},
{E_KEY_STATE_PRESS, 0x00001000, 0x00000000, 10},
{E_KEY_STATE_PRESS, 0x00002000, 0x00000000, 11},
{E_KEY_STATE_PRESS, 0x00004000, 0x00000000, 12},
{E_KEY_STATE_PRESS, 0x00008000, 0x00000000, 16},
{E_KEY_STATE_HOLD , 0x00000002, 0x00000000, 2},
};
#endif
#ifdef _KEYPAD_M3
#define KEY_IN_IO_COUNT 4
#define KEY_OUT_IO_COUNT 3
U08 *u08KeyInIo[KEY_IN_IO_COUNT] ={"HDATA8", "HDATA9", "HDATA10", "HDATA11"};
U08 *u08KeyOutIo[KEY_OUT_IO_COUNT] = {"HDATA12", "HDATA13", "HDATA14"};
#define KEY_TRANSFORM_COUNT 12
ST_KEY_TRANSFORM keyTransformTab[] = {
//Key State Scan code mask low / high Key Code
{E_KEY_STATE_PRESS, 0x00000001, 0x00000000, 3},
{E_KEY_STATE_PRESS, 0x00000002, 0x00000000, 6},
{E_KEY_STATE_PRESS, 0x00000004, 0x00000000, 9},
{E_KEY_STATE_PRESS, 0x00000008, 0x00000000, 12},
{E_KEY_STATE_PRESS, 0x00000010, 0x00000000, 2},
{E_KEY_STATE_PRESS, 0x00000020, 0x00000000, 5},
{E_KEY_STATE_PRESS, 0x00000040, 0x00000000, 8},
{E_KEY_STATE_PRESS, 0x00000080, 0x00000000, 11},
{E_KEY_STATE_PRESS, 0x00000100, 0x00000000, 1},
{E_KEY_STATE_PRESS, 0x00000200, 0x00000000, 4},
{E_KEY_STATE_PRESS, 0x00000400, 0x00000000, 7},
{E_KEY_STATE_PRESS, 0x00000800, 0x00000000, 10},
};
#endif
/*
U08 IRKeyTable[][2]={
{0x41,1},
{0x4d,2},
{0x45,3},
{0x42,4},
{0x4e,5},
{0x46,6},
{0x43,7},
{0x4f,8},
{0x47,9},
{0x08,0}
};
*/
U08 IRKeyTable[][2]={
{0x15,1},
{0xe5,2},
{0xc5,3},
{0x85,4},
{0xdd,5},
{0x07,6},
{0xcd,7},
{0x9f,8},
{0xfd,9},
{0x47,10},
{0xed,11},
{0x0f,12},
{0xf5,13},
{0xcf,14},
{0xbf,15},
{0x8f,16}
};
U32 mpx_GetKeyTransformTabAddr(void)
{
return (U32)keyTransformTab;
//return (U32)KeyTable;
}
U32 mpx_GetIRKeyTableAddr(void)
{
return (U32)IRKeyTable;
}
U08 mpx_GetIRKeyTableRowNum(void)
{
return (sizeof(IRKeyTable) / sizeof(U08) / 2);
}
void KeypadInit(U08 msgId);
void KeypadInit(U08 msgId)
{
mpx_KeypadInit(u08KeyInIo, KEY_IN_IO_COUNT, u08KeyOutIo, KEY_OUT_IO_COUNT);
mpx_SetKeyTransformTab((U32)keyTransformTab, KEY_TRANSFORM_COUNT);
mpx_SetKeypadMsgID(msgId);
mpx_SetKeyRepeatParam(100,2000,500);
mpx_KeyScanProcStart();
}
//#define CUSTOMERCODE 0x403f
//#define CUSTOMERCODE 0x61d6 //Magic Pixel Inc.
//void IrInit(U08 msgId);
//void IrInit(U08 msgId)
//{
// mpx_IrInit(CUSTOMERCODE, msgId);
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -