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

📄 fp_lut._c

📁 sunplus spca514 cdmp3 源码
💻 _C
字号:
#include "nec_fp.h"
#include "key.h"
#include "main.h"
extern unsigned char work_mode;
extern unsigned char p_keycode[BYTES_USED_TO_SCANKEY];
extern unsigned int key_buff,dvd_key;
unsigned char  repeat=0;
#define REPEAT_DELAY 3
#define REPEAT_KEY_CNT  2
const unsigned int repeat_key[REPEAT_KEY_CNT]=
{
 IRKC_VOLUME_UP,IRKC_VOLUME_DOWN
};
unsigned char is_repeat_ui_key(unsigned int value)
{
 unsigned char i;
 for(i=0;i<REPEAT_KEY_CNT;i++)
 {
  if(value==repeat_key[i])
    return 1;
 }
 return 0;  						 
}

void fp_key_scan2(void)
{
	unsigned int i;
	static unsigned int  LastFPKey= 0;
	unsigned int  Fp_KeyCode = 0;
	static unsigned char key_time=0,longkeyflag=0;
	
	
	VFD_LL_ReadKeyScan();
	Fp_KeyCode = 0;
	for (i=0; i<BYTES_USED_TO_SCANKEY; i++)	
		if (p_keycode[i])  
			Fp_KeyCode = ((unsigned int)p_keycode[i] |(i+1)<<8);

	if(Fp_KeyCode==272) Fp_KeyCode = 0;
	if(Fp_KeyCode ==0)
	{
		repeat = 0;
		//Fp_KeyCode =LastFPKey;//temp_FpKey;
		//LastFPKey = 0;
		if(work_mode<2)
		{
		 if((LastFPKey == FPKC_NEXT)||(LastFPKey == FPKC_PREV))
		 {
		  if(longkeyflag)
		  {
		    longkeyflag = 0;
			if(work_mode==DVD_MODE)
			  Fp_KeyCode = FPKC_STOPSERACH;
		  }
		  else
		  {
			Fp_KeyCode = LastFPKey;
		  }
		 }
		}
		
		LastFPKey = 0;
	
	}
	else if (LastFPKey == Fp_KeyCode)
	{
			/*Not send eject or power key again if it's not released*/
		if(is_repeat_ui_key(Fp_KeyCode))
		{
			repeat = repeat%REPEAT_DELAY;
			if (repeat != 0)
				Fp_KeyCode = 0;
		}
		else
			Fp_KeyCode = 0;
		
	
		if(work_mode <2)
		{
			if(key_time>50)
			{
				if(!longkeyflag)
				{
					if(LastFPKey == FPKC_PREV)
					{
						Fp_KeyCode = FPKC_TUNING_DOWN;
					}
					else if(LastFPKey == FPKC_RIGHT)
					{
						Fp_KeyCode = FPKC_TUNING_UP;
					}
					longkeyflag = 1;
				}
			
			}
			else
			 key_time++;
			
		}
		
	}
	else
	{
		repeat = 0;
		lastkeyflag = 0;
		key_time = 0;
		//if(Fp_keyCode!=
		LastFPKey = Fp_KeyCode;
		if((work_mode<2)&&((LastFPKey == FPKC_NEXT)||(LastFPKey == FPKC_PREV)))
			Fp_KeyCode = 0;
	}
   
   	if(Fp_KeyCode!=0)
	{
	  key_buff = Fp_KeyCode;
	}
}

⌨️ 快捷键说明

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