⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irkey.c

📁 MTK1389 SOURCE CODE
💻 C
📖 第 1 页 / 共 4 页
字号:
/***************     MTK CONFIDENTIAL & COPYRIGHTED    ****************/
/***************                                       ****************/
/***************  $Modtime:: 04/04/19 3:01p    $       ****************/
/***************  $Revision:: 1                $       ****************/
/***************                                       ****************/
/*************** Description : remote controller key   ****************/
/***************               mapping table           ****************/
/***************                                       ****************/
/***************     Company : MediaTek Inc.           ****************/
/***************  Programmer :                         ****************/
/**********************************************************************/

/* map IR key code to internal key code */

#if (defined(IR_USE_RC6) || defined(IR_USE_RC5))

#ifdef IR_USE_RC6
#define IR_CUSTOM_CODE_RC6    0x04

code const BYTE _pbIRKeyTblRC6[256] =
{
  /* 0x00 */ IR_NUM0,
  /* 0x01 */ IR_NUM1,
  /* 0x02 */ IR_NUM2,
  /* 0x03 */ IR_NUM3,
  /* 0x04 */ IR_NUM4,
  /* 0x05 */ IR_NUM5,
  /* 0x06 */ IR_NUM6,
  /* 0x07 */ IR_NUM7,
  /* 0x08 */ IR_NUM8,
  /* 0x09 */ IR_NUM9,
  /* 0x0a */ IR_NONE,
  /* 0x0b */ IR_NONE,
  /* 0x0c */ IR_POWER,
  /* 0x0d */ IR_MUTE,
  /* 0x0e */ IR_NONE,
  /* 0x0f */ IR_DISPLAY,
  /* 0x10 */ IR_NONE,
  /* 0x11 */ IR_NONE,
  /* 0x12 */ IR_NONE,
  /* 0x13 */ IR_NONE,
  /* 0x14 */ IR_NONE,
  /* 0x15 */ IR_NONE,
  /* 0x16 */ IR_NONE,
  /* 0x17 */ IR_NONE,
  /* 0x18 */ IR_NONE,
  /* 0x19 */ IR_NONE,
  /* 0x1a */ IR_NONE,
  /* 0x1b */ IR_NONE,
  /* 0x1c */ IR_NONE,
  /* 0x1d */ IR_REPEAT,
  /* 0x1e */ IR_NONE,
  /* 0x1f */ IR_NONE,
  /* 0x20 */ IR_NEXT,
  /* 0x21 */ IR_PREV,
  /* 0x22 */ IR_NONE,
  /* 0x23 */ IR_NONE,
  /* 0x24 */ IR_NONE,
  /* 0x25 */ IR_NONE,
  /* 0x26 */ IR_NONE,
  /* 0x27 */ IR_NONE,
  /* 0x28 */ IR_NONE,
  /* 0x29 */ IR_NONE,
  /* 0x2a */ IR_NONE,
  /* 0x2b */ IR_NONE,
  /* 0x2c */ IR_PLAY,
  /* 0x2d */ IR_NONE,
  /* 0x2e */ IR_NONE,
  /* 0x2f */ IR_NONE,
  /* 0x30 */ IR_PAUSE,
  /* 0x31 */ IR_STOP,
  /* 0x32 */ IR_NONE,
  /* 0x33 */ IR_NONE,
  /* 0x34 */ IR_NONE,
  /* 0x35 */ IR_NONE,
  /* 0x36 */ IR_NONE,
  /* 0x37 */ IR_NONE,
  /* 0x38 */ IR_NONE,
  /* 0x39 */ IR_NONE,
  /* 0x3a */ IR_NONE,
  /* 0x3b */ IR_SET_A,
  /* 0x3c */ IR_NONE,
  /* 0x3d */ IR_NONE,
  /* 0x3e */ IR_NONE,
  /* 0x3f */ IR_NONE,
  /* 0x40 */ IR_NONE,
  /* 0x41 */ IR_NONE,
  /* 0x42 */ IR_NONE,
  /* 0x43 */ IR_NONE,
  /* 0x44 */ IR_NONE,
  /* 0x45 */ IR_NONE,
  /* 0x46 */ IR_NONE,
  /* 0x47 */ IR_NONE,
  /* 0x48 */ IR_NONE,
  /* 0x49 */ IR_NONE,
  /* 0x4a */ IR_NONE,
  /* 0x4b */ IR_SUB_TITLE,
  /* 0x4c */ IR_NONE,
  /* 0x4d */ IR_NONE,
  /* 0x4e */ IR_AUDIO,
  /* 0x4f */ IR_NONE,
  /* 0x50 */ IR_NONE,
  /* 0x51 */ IR_NONE,
  /* 0x52 */ IR_NONE,
  /* 0x53 */ IR_NONE,
  /* 0x54 */ IR_ROOT_MENU,
  /* 0x55 */ IR_NONE,
  /* 0x56 */ IR_NONE,
  /* 0x57 */ IR_NONE,
  /* 0x58 */ IR_UP,
  /* 0x59 */ IR_DOWN,
  /* 0x5a */ IR_LEFT,
  /* 0x5b */ IR_RIGHT,
  /* 0x5c */ IR_PLAY_ENTER,
  /* 0x5d */ IR_NONE,
  /* 0x5e */ IR_NONE,
  /* 0x5f */ IR_NONE,
  /* 0x60 */ IR_NONE,
  /* 0x61 */ IR_NONE,
  /* 0x62 */ IR_NONE,
  /* 0x63 */ IR_NONE,
  /* 0x64 */ IR_NONE,
  /* 0x65 */ IR_NONE,
  /* 0x66 */ IR_NONE,
  /* 0x67 */ IR_NONE,
  /* 0x68 */ IR_NONE,
  /* 0x69 */ IR_NONE,
  /* 0x6a */ IR_NONE,
  /* 0x6b */ IR_NONE,
  /* 0x6c */ IR_NONE,
  /* 0x6d */ IR_NONE,
  /* 0x6e */ IR_NONE,
  /* 0x6f */ IR_NONE,
  /* 0x70 */ IR_NONE,
  /* 0x71 */ IR_NONE,
  /* 0x72 */ IR_NONE,
  /* 0x73 */ IR_NONE,
  /* 0x74 */ IR_NONE,
  /* 0x75 */ IR_NONE,
  /* 0x76 */ IR_NONE,
  /* 0x77 */ IR_NONE,
  /* 0x78 */ IR_NONE,
  /* 0x79 */ IR_NONE,
  /* 0x7a */ IR_NONE,
  /* 0x7b */ IR_NONE,
  /* 0x7c */ IR_NONE,
  /* 0x7d */ IR_NONE,
  /* 0x7e */ IR_NONE,
  /* 0x7f */ IR_NONE,
  /* 0x80 */ IR_NONE,
  /* 0x81 */ IR_NONE,
  /* 0x82 */ IR_SETUP,
  /* 0x83 */ IR_TITLE_PBC,
  /* 0x84 */ IR_NONE,
  /* 0x85 */ IR_ANGLE,
  /* 0x86 */ IR_NONE,
  /* 0x87 */ IR_NONE,
  /* 0x88 */ IR_NONE,
  /* 0x89 */ IR_NONE,
  /* 0x8a */ IR_NONE,
  /* 0x8b */ IR_NONE,
  /* 0x8c */ IR_NONE,
  /* 0x8d */ IR_NONE,
  /* 0x8e */ IR_NONE,
  /* 0x8f */ IR_NONE,
  /* 0x90 */ IR_NONE,
  /* 0x91 */ IR_NONE,
  /* 0x92 */ IR_NONE,
  /* 0x93 */ IR_NONE,
  /* 0x94 */ IR_NONE,
  /* 0x95 */ IR_NONE,
  /* 0x96 */ IR_NONE,
  /* 0x97 */ IR_NONE,
  /* 0x98 */ IR_NONE,
  /* 0x99 */ IR_NONE,
  /* 0x9a */ IR_NONE,
  /* 0x9b */ IR_NONE,
  /* 0x9c */ IR_NONE,
  /* 0x9d */ IR_NONE,
  /* 0x9e */ IR_NONE,
  /* 0x9f */ IR_NONE,
  /* 0xa0 */ IR_NONE,
  /* 0xa1 */ IR_NONE,
  /* 0xa2 */ IR_NONE,
  /* 0xa3 */ IR_NONE,
  /* 0xa4 */ IR_NONE,
  /* 0xa5 */ IR_NONE,
  /* 0xa6 */ IR_NONE,
  /* 0xa7 */ IR_NONE,
  /* 0xa8 */ IR_NONE,
  /* 0xa9 */ IR_NONE,
  /* 0xaa */ IR_NONE,
  /* 0xab */ IR_NONE,
  /* 0xac */ IR_NONE,
  /* 0xad */ IR_NONE,
  /* 0xae */ IR_NONE,
  /* 0xaf */ IR_NONE,
  /* 0xb0 */ IR_NONE,
  /* 0xb1 */ IR_NONE,
  /* 0xb2 */ IR_NONE,
  /* 0xb3 */ IR_NONE,
  /* 0xb4 */ IR_NONE,
  /* 0xb5 */ IR_NONE,
  /* 0xb6 */ IR_NONE,
  /* 0xb7 */ IR_NONE,
  /* 0xb8 */ IR_NONE,
  /* 0xb9 */ IR_NONE,
  /* 0xba */ IR_NONE,
  /* 0xbb */ IR_NONE,
  /* 0xbc */ IR_NONE,
  /* 0xbd */ IR_NONE,
  /* 0xbe */ IR_NONE,
  /* 0xbf */ IR_NONE,
  /* 0xc0 */ IR_NONE,
  /* 0xc1 */ IR_NONE,
  /* 0xc2 */ IR_NONE,
  /* 0xc3 */ IR_NONE,
  /* 0xc4 */ IR_NONE,
  /* 0xc5 */ IR_NONE,
  /* 0xc6 */ IR_NONE,
  /* 0xc7 */ IR_NONE,
  /* 0xc8 */ IR_NONE,
  /* 0xc9 */ IR_NONE,
  /* 0xca */ IR_NONE,
  /* 0xcb */ IR_NONE,
  /* 0xcc */ IR_NONE,
  /* 0xcd */ IR_NONE,
  /* 0xce */ IR_NONE,
  /* 0xcf */ IR_NONE,
  /* 0xd0 */ IR_NONE,
  /* 0xd1 */ IR_NONE,
  /* 0xd2 */ IR_NONE,
  /* 0xd3 */ IR_NONE,
  /* 0xd4 */ IR_NONE,
  /* 0xd5 */ IR_DIGEST,
  /* 0xd6 */ IR_NONE,
  /* 0xd7 */ IR_NONE,
  /* 0xd8 */ IR_NONE,
  /* 0xd9 */ IR_NONE,
  /* 0xda */ IR_NONE,
  /* 0xdb */ IR_NONE,
  /* 0xdc */ IR_NONE,
  /* 0xdd */ IR_NONE,
  /* 0xde */ IR_NONE,
  /* 0xdf */ IR_NONE,
  /* 0xe0 */ IR_NONE,
  /* 0xe1 */ IR_NONE,
  /* 0xe2 */ IR_NONE,
  /* 0xe3 */ IR_NONE,
  /* 0xe4 */ IR_KARAOKE,
  /* 0xe5 */ IR_NONE,
  /* 0xe6 */ IR_NONE,
  /* 0xe7 */ IR_VOCAL_ASSIST,
  /* 0xe8 */ IR_NONE,
  /* 0xe9 */ IR_NONE,
  /* 0xea */ IR_NONE,
  /* 0xeb */ IR_NONE,
  /* 0xec */ IR_AUD_KEY_RESUME,
  /* 0xed */ IR_NONE,
  /* 0xee */ IR_NONE,
  /* 0xef */ IR_NONE,
  /* 0xf0 */ IR_NONE,
  /* 0xf1 */ IR_NONE,
  /* 0xf2 */ IR_NONE,
  /* 0xf3 */ IR_NONE,
  /* 0xf4 */ IR_NONE,
  /* 0xf5 */ IR_NONE,
  /* 0xf6 */ IR_NONE,
  /* 0xf7 */ IR_ZOOM_IN,
  /* 0xf8 */ IR_NONE,
  /* 0xf9 */ IR_NONE,
  /* 0xfa */ IR_NONE,
  /* 0xfb */ IR_NONE,
  /* 0xfc */ IR_NONE,
  /* 0xfd */ IR_NONE,
  /* 0xfe */ IR_NONE,
  /* 0xff */ IR_NONE
};

#endif

#if (defined(IR_USE_RC5_UNDER_RC6) || defined(IR_USE_RC5))

#define IR_CUSTOM_CODE_RC5    0x02

code const BYTE _pbIRKeyTblRC5[64] =
{
  /* 0x00 */ IR_NUM7,
  /* 0x01 */ IR_CLEAR,
  /* 0x02 */ IR_NUM3,
  /* 0x03 */ IR_NUM2,
  /* 0x04 */ IR_ADD10,
  /* 0x05 */ IR_NUM6,
  /* 0x06 */ IR_NUM5,
  /* 0x07 */ IR_NUM0,
  /* 0x08 */ IR_NUM9,
  /* 0x09 */ IR_NUM8,
  /* 0x0a */ IR_NUM4,
  /* 0x0b */ IR_NONE,
  /* 0x0c */ IR_EJECT,
  /* 0x0d */ IR_POWER,
  /* 0x0e */ IR_ROOT_MENU,
  /* 0x0f */ IR_NONE,
  /* 0x10 */ IR_LEFT,
  /* 0x11 */ IR_RIGHT,
  /* 0x12 */ IR_NUM1,
  /* 0x13 */ IR_NONE,
  /* 0x14 */ IR_NONE,
  /* 0x15 */ IR_FF,
  /* 0x16 */ IR_FR,
  /* 0x17 */ IR_NONE,
  /* 0x18 */ IR_NONE,
  /* 0x19 */ IR_NONE,
  /* 0x1a */ IR_NONE,
  /* 0x1b */ IR_NONE,
  /* 0x1c */ IR_NONE,
  /* 0x1d */ IR_NONE,
  /* 0x1e */ IR_NONE,
  /* 0x1f */ IR_NONE,
  /* 0x20 */ IR_DOWN,
  /* 0x21 */ IR_UP,
  /* 0x22 */ IR_PLAY_ENTER,
  /* 0x23 */ IR_GOTO,
  /* 0x24 */ IR_NONE,
  /* 0x25 */ IR_NONE,
  /* 0x26 */ IR_NONE,
  /* 0x27 */ IR_NONE,
  /* 0x28 */ IR_NONE,
  /* 0x29 */ IR_ANGLE,
  /* 0x2a */ IR_RETURN,
  /* 0x2b */ IR_REPEAT,
  /* 0x2c */ IR_PREV,
  /* 0x2d */ IR_NEXT,
  /* 0x2e */ IR_PLAY_PAUSE,
  /* 0x2f */ IR_STOP,
  /* 0x30 */ IR_SET_A,
  /* 0x31 */ IR_NONE,
  /* 0x32 */ IR_SUB_TITLE,
  /* 0x33 */ IR_NONE,
  /* 0x34 */ IR_PROGRAM,
  /* 0x35 */ IR_NONE,
  /* 0x36 */ IR_AUDIO,
  /* 0x37 */ IR_DISPLAY,
  /* 0x38 */ IR_ZOOM_IN,
  /* 0x39 */ IR_NONE,
  /* 0x3a */ IR_NONE,
  /* 0x3b */ IR_NONE,
  /* 0x3c */ IR_TITLE_PBC,
  /* 0x3d */ IR_NONE,
  /* 0x3e */ IR_NONE,
  /* 0x3f */ IR_SETUP //IR_DISPLAY
};
#endif

#elif (MTK_REMOTE == 0)

#define IR_CUSTOM_CODE      (_pbIRSysCode[0])
#define IR_CUSTOM_SUB_CODE  (_pbIRSysCode[1])

code const BYTE _pbIRSysCode[2] = { 0x08, 0xf7 }; /* note bit reversed */

#define IR_KEY_CODE_MAX   0x60
#define IR_KEY_GAP_START  0x40
#define IR_KEY_GAP_SIZE   0x20
#define IR_KEY_TBL_SIZE   (IR_KEY_CODE_MAX - IR_KEY_GAP_SIZE)

code const BYTE _pbIRKeyTbl[IR_KEY_TBL_SIZE] =
{
  /* 0x00 */ IR_NUM2,
  /* 0x01 */ IR_NUM1,
  /* 0x02 */ IR_NUM3,
  /* 0x03 */ IR_NUM4,
  /* 0x04 */ IR_AUD_KEY_PLUS,
  /* 0x05 */ IR_ADD10,
  /* 0x06 */ IR_PAL_NTSC,
  /* 0x07 */ IR_NONE,
  /* 0x08 */ IR_SETUP,
  /* 0x09 */ IR_EJECT,
  /* 0x0a */ IR_NONE,
#ifdef USE_TEMP_DIGEST_KEY
  /* 0x0b */ IR_DIGEST,
#else
  /* 0x0b */ IR_CLEAR,
#endif
  /* 0x0c */ IR_SF,
  /* 0x0d */ IR_REPEAT,
  /* 0x0e */ IR_SET_A,
  /* 0x0f */ IR_VOLUME_DOWN,
  /* 0x10 */ IR_STEPR,
  /* 0x11 */ IR_NUM9,
  /* 0x12 */ IR_NUM0,
#ifdef USE_TEMP_SR_KEY
  /* 0x13 */ IR_SR,
#else
  /* 0x13 */ IR_EQUALIZER,
#endif
  /* 0x14 */ IR_NUM6,
  /* 0x15 */ IR_NUM5,
  /* 0x16 */ IR_NUM7,
  /* 0x17 */ IR_NUM8,
  /* 0x18 */ IR_PLAY_PAUSE,
  /* 0x19 */ IR_STOP,
  /* 0x1a */ IR_AUD_KEY_MINUS,
  /* 0x1b */ IR_DISPLAY,
  /* 0x1c */ IR_RETURN,
  /* 0x1d */ IR_SUB_TITLE,
  /* 0x1e */ IR_ROOT_MENU,
  /* 0x1f */ IR_RANDOM,
  /* 0x40 */ IR_ANGLE,
  /* 0x41 */ IR_PROGRAM,
  /* 0x42 */ IR_NONE,
  /* 0x43 */ IR_NONE,
  /* 0x44 */ IR_SURROUND,
  /* 0x45 */ IR_RIGHT,
  /* 0x46 */ IR_DOWN,
  /* 0x47 */ IR_TITLE_MENU,
  /* 0x48 */ IR_UP,
  /* 0x49 */ IR_ZOOM_IN,
  /* 0x4a */ IR_NONE,
  /* 0x4b */ IR_FR,
  /* 0x4c */ IR_NEXT,
  /* 0x4d */ IR_VOCAL_ASSIST,
  /* 0x4e */ IR_PLAY_ENTER,
  /* 0x4f */ IR_PREV,
  /* 0x50 */ IR_PLAY_ENTER,
  /* 0x51 */ IR_FF,
  /* 0x52 */ IR_AUDIO,
  /* 0x53 */ IR_GOTO,
  /* 0x54 */ IR_NONE,
  /* 0x55 */ IR_MUTE,
  /* 0x56 */ IR_STEPF,
  /* 0x57 */ IR_MARK,
  /* 0x58 */ IR_NONE,
  /* 0x59 */ IR_NONE,
  /* 0x5a */ IR_LEFT,
  /* 0x5b */ IR_NONE,
  /* 0x5c */ IR_VOLUME_UP,
  /* 0x5d */ IR_NONE,
  /* 0x5e */ IR_NONE,
  /* 0x5f */ IR_NONE
};

#elif (MTK_REMOTE == 1)

#define IR_CUSTOM_CODE      (_pbIRSysCode[0])
#define IR_CUSTOM_SUB_CODE  (_pbIRSysCode[1])

code const BYTE _pbIRSysCode[2] = { 0x00, 0xff };

#define IR_KEY_CODE_MAX   0x60
#define IR_KEY_GAP_START  0x40
#define IR_KEY_GAP_SIZE   0x20
#define IR_KEY_TBL_SIZE   (IR_KEY_CODE_MAX - IR_KEY_GAP_SIZE)

code const BYTE _pbIRKeyTbl[IR_KEY_TBL_SIZE] =
{
  /* 0x00 */ IR_EJECT,
  /* 0x01 */ IR_NUM3,
  /* 0x02 */ IR_SET_A,
  /* 0x03 */ IR_GOTO,
  /* 0x04 */ IR_NONE,
  /* 0x05 */ IR_NUM2,
  /* 0x06 */ IR_PLAY_ENTER,
  /* 0x07 */ IR_REPEAT,
  /* 0x08 */ IR_NONE,
  /* 0x09 */ IR_NUM1,
  /* 0x0a */ IR_ROOT_MENU,
  /* 0x0b */ IR_PAL_NTSC,
  /* 0x0c */ IR_MUTE,
  /* 0x0d */ IR_DISPLAY,
#ifdef USE_TEMP_CLEAR_KEY
  /* 0x0e */ IR_CLEAR,
#else
  /* 0x0e */ IR_RETURN,
#endif
  /* 0x0f */ IR_TITLE_MENU,
  /* 0x10 */ IR_NEXT,
  /* 0x11 */ IR_NONE,
  /* 0x12 */ IR_NONE,
  /* 0x13 */ IR_NONE,
  /* 0x14 */ IR_PREV,
  /* 0x15 */ IR_NONE,
  /* 0x16 */ IR_NONE,
  /* 0x17 */ IR_NONE,
  /* 0x18 */ IR_FF,
  /* 0x19 */ IR_NONE,
  /* 0x1a */ IR_NONE,
  /* 0x1b */ IR_NONE,
  /* 0x1c */ IR_FR,
  /* 0x1d */ IR_NONE,
  /* 0x1e */ IR_NONE,
  /* 0x1f */ IR_NONE,
  /* 0x40 */ IR_RIGHT,
  /* 0x41 */ IR_NUM0,
  /* 0x42 */ IR_NUM9,
  /* 0x43 */ IR_NUM6,
  /* 0x44 */ IR_UP,
  /* 0x45 */ IR_ADD10,
  /* 0x46 */ IR_NUM8,
  /* 0x47 */ IR_NUM5,
  /* 0x48 */ IR_DOWN,
  /* 0x49 */ IR_NONE,
  /* 0x4a */ IR_NUM7,
  /* 0x4b */ IR_NUM4,
  /* 0x4c */ IR_LEFT,
  /* 0x4d */ IR_SETUP,
  /* 0x4e */ IR_ANGLE,
  /* 0x4f */ IR_SUB_TITLE,
  /* 0x50 */ IR_VOLUME_UP,
  /* 0x51 */ IR_VOLUME_DOWN,
#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
  /* 0x52 */ IR_AUD_KEY_PLUS,
#else
  /* 0x52 */ IR_CLEAR,
#endif
  /* 0x53 */ IR_NONE,
  /* 0x54 */ IR_ZOOM_IN,
  /* 0x55 */ IR_MARK,
#ifdef USE_TEMP_DIGEST_KEY
  /* 0x56 */ IR_DIGEST,
#else
  /* 0x56 */ IR_AUD_KEY_RESUME,
#endif
  /* 0x57 */ IR_STOP,
  /* 0x58 */ IR_PROGRAM,
#ifdef USE_TEMP_SR_KEY
  /* 0x59 */ IR_SR, /* A-TIME */
#else
  /* 0x59 */ IR_EQUALIZER, /* A-TIME */
#endif
#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
  /* 0x5a */ IR_AUD_KEY_MINUS,
#else
  /* 0x5a */ IR_RANDOM,
#endif
  /* 0x5b */ IR_PAUSE,
  /* 0x5c */ IR_STEPF,
  /* 0x5d */ IR_SF,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -