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

📄 single_inputbox_keys.c

📁 在mtk平台上开发的电子词典源码
💻 C
字号:
////学习机	羊羊2007-11-27 {{{
#if defined(__PALM_LEARN_MACHINE__)
////////////////////////////////////////////////////////////////////////////////

//#include "learn_machine.h"
///////////////////////////////////
#include "dict.h"
#include "GlobalConstants.h"

unsigned short dicts_keys_timer_flag=1;////按键的时间延迟标志,0表示未超过允许延迟,1表示超过了
int dicts_keys_content_change_size=0;
unsigned short key;////判断按完当前键之后,是否按其它键

void LM_register_singleline_inputbox_keys(unsigned short input_type)
{
	switch(input_type)
	{
	case 0:////abc
		LM_singleline_inputbox_abc();
	break;
	//////////////

	case 1:////number
		LM_singleline_inputbox_num();
	break;
	//////////////

	default: return;
	}
}
/////////////////////////////////////////////////////

void singleline_input_q(void)
{
}
void singleline_input_p(void)
{
}
void singleline_input_space(void)
{
	singleline_inputbox_multitap_input(32);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_a_c(void)
{	
//	if(key!=2)
	
//		dicts_keys_timer_flag=1;
//		dicts_keys_content_change_size=0;
		if(dicts_keys_timer_flag||key!=2)
		{
			singleline_inputbox_multitap_input(97);
			singleline_inputbox_multitap_input_complete();
			dicts_keys_content_change_size=0;    
		}
		else if(!dicts_keys_timer_flag)
		{
				singleline_inputbox_delete_character();
				dicts_keys_content_change_size++;
				singleline_inputbox_multitap_input((unsigned short)(97+dicts_keys_content_change_size%3));
				singleline_inputbox_multitap_input_complete();
		}
		dicts_keys_timer_flag=0;
		key=2;
		StartTimer(learn_machine_keys_timer_id,2000,learn_machine_timerflag_update);
	
}
void singleline_input_d_f(void)
{	
//	if(key!=3)
//	{
//		dicts_keys_timer_flag=1;
//		dicts_keys_content_change_size=0;
		if(dicts_keys_timer_flag||key!=3)
		{
			singleline_inputbox_multitap_input(100);
			singleline_inputbox_multitap_input_complete();
			dicts_keys_content_change_size=0;    
		}
		else if(!dicts_keys_timer_flag)
		{
				singleline_inputbox_delete_character();
				dicts_keys_content_change_size++;
				singleline_inputbox_multitap_input((unsigned short)(100+dicts_keys_content_change_size%3));
				singleline_inputbox_multitap_input_complete();
		}
		dicts_keys_timer_flag=0;
		key=3;
		StartTimer(learn_machine_keys_timer_id,2000,learn_machine_timerflag_update);
}
void singleline_input_g_i(void)
{	
	if(dicts_keys_timer_flag||key!=4)
	{
		singleline_inputbox_multitap_input(103);
		singleline_inputbox_multitap_input_complete();
		dicts_keys_content_change_size=0;
	}
	else if(!dicts_keys_timer_flag)
	{
			singleline_inputbox_delete_character();
			dicts_keys_content_change_size++;
			singleline_inputbox_multitap_input((unsigned short)(103+dicts_keys_content_change_size%3));
			singleline_inputbox_multitap_input_complete();
	}
	dicts_keys_timer_flag=0;
	key=4;
	StartTimer(learn_machine_keys_timer_id,2000,learn_machine_timerflag_update);	
}
void singleline_input_j_l(void)
{
	if(dicts_keys_timer_flag||key!=5)
	{
		singleline_inputbox_multitap_input(106);
		singleline_inputbox_multitap_input_complete();
		dicts_keys_content_change_size=0;
	}
	else if(!dicts_keys_timer_flag)
	{
			singleline_inputbox_delete_character();
			dicts_keys_content_change_size++;
			singleline_inputbox_multitap_input((unsigned short)(106+dicts_keys_content_change_size%3));
			singleline_inputbox_multitap_input_complete();
	}
	dicts_keys_timer_flag=0;
	key=5;
	StartTimer(learn_machine_keys_timer_id,2000,learn_machine_timerflag_update);	
}
void singleline_input_m_o(void)
{	
	if(dicts_keys_timer_flag||key!=6)
	{
		singleline_inputbox_multitap_input(109);
		singleline_inputbox_multitap_input_complete();
		dicts_keys_content_change_size=0;
	}
	else if(!dicts_keys_timer_flag)
	{
			singleline_inputbox_delete_character();
			dicts_keys_content_change_size++;
			singleline_inputbox_multitap_input((unsigned short)(109+dicts_keys_content_change_size%3));
			singleline_inputbox_multitap_input_complete();
	}
	dicts_keys_timer_flag=0;
	key=6;
	StartTimer(learn_machine_keys_timer_id,2000,learn_machine_timerflag_update);	
}
void singleline_input_p_s(void)
{	
	if(dicts_keys_timer_flag||key!=7)
	{
		singleline_inputbox_multitap_input(112);
		singleline_inputbox_multitap_input_complete();
		dicts_keys_content_change_size=0;
	}
	else if(!dicts_keys_timer_flag)
	{
		singleline_inputbox_delete_character();
		dicts_keys_content_change_size++;
		singleline_inputbox_multitap_input((unsigned short)(112+dicts_keys_content_change_size%4));
		singleline_inputbox_multitap_input_complete();
	}
	dicts_keys_timer_flag=0;
	key=7;
	StartTimer(learn_machine_keys_timer_id,2000,learn_machine_timerflag_update);	
}
void singleline_input_t_v(void)
{
	if(dicts_keys_timer_flag||key!=8)
	{
		singleline_inputbox_multitap_input(116);
		singleline_inputbox_multitap_input_complete();
		dicts_keys_content_change_size=0;
	}
	else if(!dicts_keys_timer_flag)
	{
		singleline_inputbox_delete_character();
		dicts_keys_content_change_size++;
		singleline_inputbox_multitap_input((unsigned short)(116+dicts_keys_content_change_size%3));
		singleline_inputbox_multitap_input_complete();
	}
	dicts_keys_timer_flag=0;
	key=8;
	StartTimer(learn_machine_keys_timer_id,2000,learn_machine_timerflag_update);	
}
void singleline_input_w_z(void)
{	
	if(dicts_keys_timer_flag||key!=9)
	{
		singleline_inputbox_multitap_input(119);
		singleline_inputbox_multitap_input_complete();
		dicts_keys_content_change_size=0;
	}
	else if(!dicts_keys_timer_flag)
	{
		singleline_inputbox_delete_character();
		dicts_keys_content_change_size++;
		singleline_inputbox_multitap_input((unsigned short)(119+dicts_keys_content_change_size%4));
		singleline_inputbox_multitap_input_complete();
	}
	dicts_keys_timer_flag=0;
	key=9;
	StartTimer(learn_machine_keys_timer_id,2000,learn_machine_timerflag_update);	
}

//////////

void singleline_input_0(void)
{
	singleline_inputbox_multitap_input(48);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_1(void)
{
	singleline_inputbox_multitap_input(49);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_2(void)
{
	singleline_inputbox_multitap_input(50);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_3(void)
{
	singleline_inputbox_multitap_input(51);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_4(void)
{
	singleline_inputbox_multitap_input(52);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_5(void)
{
	singleline_inputbox_multitap_input(53);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_6(void)
{
	singleline_inputbox_multitap_input(54);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_7(void)
{
	singleline_inputbox_multitap_input(55);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_8(void)
{
	singleline_inputbox_multitap_input(56);
	singleline_inputbox_multitap_input_complete();
}
void singleline_input_9(void)
{
	singleline_inputbox_multitap_input(57);
	singleline_inputbox_multitap_input_complete();
}
/////////////////////////////////////////////////////

void LM_singleline_inputbox_num(void)
{
	SetKeyHandler(singleline_input_1, KEY_1, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_2, KEY_2, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_3, KEY_3, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_4, KEY_4, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_5, KEY_5, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_6, KEY_6, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_7, KEY_7, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_8, KEY_8, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_9, KEY_9, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_0, KEY_0, KEY_EVENT_DOWN);
}
/////////////////////////////////////////////////////

void LM_singleline_inputbox_abc(void)
{
    SetKeyHandler(singleline_input_q, KEY_1, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_a_c, KEY_2, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_d_f, KEY_3, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_g_i, KEY_4, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_j_l, KEY_5, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_m_o, KEY_6, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_p_s, KEY_7, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_t_v, KEY_8, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_w_z, KEY_9, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_space, KEY_0, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_p, KEY_STAR, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_p, KEY_STAR, KEY_EVENT_UP);
	SetKeyHandler(singleline_input_p, KEY_POUND, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_p, KEY_POUND, KEY_EVENT_UP);
//通用平台没有这些按键,暂时注掉,FQ	
/*	SetKeyHandler(singleline_input_a, KEY_A, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_s, KEY_S, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_d, KEY_D, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_f, KEY_F, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_g, KEY_G, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_h, KEY_H, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_j, KEY_J, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_k, KEY_K, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_l, KEY_L, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_z, KEY_Z, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_x, KEY_X, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_c, KEY_C, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_v, KEY_V, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_b, KEY_B, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_n, KEY_N, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_m, KEY_M, KEY_EVENT_DOWN);
	SetKeyHandler(singleline_input_space, KEY_SPACE, KEY_EVENT_DOWN);*/
}
/////////////////////////////////////////////////////
////按键延迟标志更新
void learn_machine_timerflag_update(void)
{
	dicts_keys_timer_flag=1;
}

////////////////////////////////////////////////////////////////////////////////
#endif
////学习机	羊羊2007-11-27 }}}

⌨️ 快捷键说明

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