ATS_key.h 1.83 KB
/*
Copyright Wang yong ALL RIGHT RESERVED !
 @ file name: ATS_key.h

 @ description:  

 @ Author: wangyong, doforfaith@gmail.com
 
 @ Modify History:

	Date					Event												Person
 10-05-31      Creator               			wangyong	
 
*/
#if defined(__SKY_3DGUI__)
#ifndef __ATS_KEY_H__
#define __ATS_KEY_H__

#include "ATS_basic.h"
#include "ATS_adaptation_features.h"

typedef enum 
{
	ATS_KEY_NONE,
	ATS_KEY_0 = 0,
	ATS_KEY_1,
	ATS_KEY_2,
	ATS_KEY_3,
	ATS_KEY_4,
	ATS_KEY_5,
	ATS_KEY_6,
	ATS_KEY_7,
	ATS_KEY_8,
	ATS_KEY_9,
	ATS_KEY_LSK,
	ATS_KEY_RSK,
	ATS_KEY_CSK,
	ATS_KEY_UP_ARROW,
	ATS_KEY_DOWN_ARROW,
	ATS_KEY_LEFT_ARROW,
	ATS_KEY_RIGHT_ARROW,
	ATS_KEY_SEND,
	ATS_KEY_END,
	ATS_KEY_CLEAR,
	ATS_KEY_STAR,
	ATS_KEY_POUND,
	ATS_KEY_VOL_UP,
	ATS_KEY_VOL_DOWN,
	ATS_KEY_QUICK_ACS,
	ATS_KEY_CAMERA,
	ATS_KEY_ENTER,
	ATS_KEY_WAP,
	ATS_KEY_IP,
	ATS_KEY_EXTRA_1,
	ATS_KEY_EXTRA_2,
	ATS_KEY_PLAY_STOP,
	ATS_KEY_FWD,
	ATS_KEY_BACK,
	ATS_KEY_POWER,
	ATS_KEY_EXTRA_A,
	ATS_KEY_EXTRA_B,
	ATS_KEY_SEND1,
	ATS_KEY_SEND2,

	ATS_KEY_MAX
}ATS_KEY_ENUM;

typedef enum 
{
    ATS_KEY_EVENT_DOWN,
    ATS_KEY_EVENT_UP,
    ATS_KEY_LONG_PRESS,
    ATS_KEY_REPEAT,
    ATS_KEY_HALF_PRESS_DOWN,
    ATS_KEY_HALF_PRESS_UP,
    
    ATS_MAX_KEY_TYPE
    
}ATS_KEY_EVENT;

typedef struct
{
	ats_int32 platform_key;
	ats_int32 ats_key;
	
}ATS_KEY_MAP_STRUCT;

/*
@ 设置按键时间响应
@ hdlr,响应函数
    key_code,按键值
    key_event,按键事件
*/
extern void ATS_key_set_handler( ATS_VOID_FUNC hdlr, ATS_KEY_ENUM key_code, ATS_KEY_EVENT key_event );

/*
@ 清除按键响应事件
@ key_code,按键值
    key_event,按键事件
*/
extern void ATS_key_clear_handler( ATS_KEY_ENUM key_code, ATS_KEY_EVENT key_event );

/*
@ 清除所有按键响应事件
@ included_end_key,是否包括END 键
*/
extern void ATS_key_clear_all_handlers(ATS_BOOL included_end_key );

#endif /*__ATS_KEY_H__*/

#endif /*__SKY_3DGUI__*/