2011-8-7 13:52:49

来源:互联网 发布:adobe音乐编辑软件 编辑:程序博客网 时间:2024/05/02 06:45
 

 


2011-8-7 13:52:49

blob是如何响应按键的?

typedef unsigned long          XLLP_UINT32_T,  *P_XLLP_UINT32_T;

xllp的状态

 

XLLP_STATUS_T XllpReadScanCode(
 XLLP_KEYPAD_REGS *v_pkeypad_regs,
 XLLP_UINT8_T  *pui8_data)
{

 XLLP_UINT32_T kp_status;
 XLLP_UINT8_T key = NO_KEY;

 #ifdef XLLP_DEBUG_PARAM_CHECK
  if ( NULL == v_pkeypad_regs||NULL == pui8_data)
   return XLLP_STATUS_WRONG_PARAMETER;
 #endif

 kp_status = v_pkeypad_regs->kpControlReg;
 
 首先读控制寄存器
 

 /*
 Process matrix first to capture scroll
 wheel press rather than interpreting it
 as a rotate, which can happen unintentionally.
 */

 if(kp_status & MATRIX_INTR_BIT) {
  read_scan_code_automatically(v_pkeypad_regs,&key);
  if(key == NO_KEY) {
   *pui8_data = NO_KEY;
   return(XLLP_STATUS_FAILURE);
  }
  key = xllpKpScanCodeLut[key];
 }else if(kp_status & DIRECT_INTR_BIT ) {
  read_direct_keys(v_pkeypad_regs,&key);
 }
 *pui8_data = key;

 if(key == NO_KEY){
  return(XLLP_STATUS_FAILURE);
 }
 else{
  return(XLLP_STATUS_SUCCESS);
 }
}/*end function XllpReadScanCode*/

 

 save_kp_rotary_encoder_count_reg =
  v_pkeypad_regs->kpRotaryEncoderCountReg;
 curr_count = save_kp_rotary_encoder_count_reg & COUNT_MASK;
 
 获取旋转编码计数
 
 
 read_direct_keys
 
 只是获取上滚 下滚?
 
 read_scan_code_automatically
 
 获取一个行列扫描码
 
 也就是说 XllpReadScanCode 返回了按键的键值
 
 这个函数没有地方调用 ???
 
 

原创粉丝点击