示例#1
0
static void _OnRx(OS_U8 Data) {
  #if 0
    int Key;
    switch (Data) {
    case 'y':
      Key = GUI_KEY_LEFT;
      break;
    case 'x':
      Key = GUI_KEY_RIGHT;
      break;
    case 'q':
      Key = GUI_KEY_UP;
      break;
    case 'a':
      Key = GUI_KEY_DOWN;
      break;
    case 'w':
      Key = GUI_KEY_BACKSPACE;
      break;
    default:
      Key = Data;
    }
    GUI_StoreKeyMsg(Key, 1);
  #else
    GUI_StoreKeyMsg(Data, 1);
  #endif
}
示例#2
0
void UART0_IRQHandler(void)
{
   uint8_t tmpc;
   uint32_t  tmp, tmp1;
   tmp = ((LPC_UART0->IIR) & UART_IIR_BITMASK) & UART_IIR_INTID_MASK;
   if (tmp == UART_IIR_INTID_RLS)	// Receive Line Status
   {
     tmp1 = UART_GetLineStatus(UART_0);// Check line status
     tmp1 &= (UART_LSR_OE | UART_LSR_PE | UART_LSR_FE | UART_LSR_BI | UART_LSR_RXFE);// Mask out the Receive Ready and Transmit Holding empty status
   }
   if ((tmp == UART_IIR_INTID_RDA) || (tmp == UART_IIR_INTID_CTI))	// Receive Data Available or Character time-out
   {	
       UART_Receive(UART_0, &tmpc, 1, NONE_BLOCKING);
      if(tmpc >= GUI_KEY_MENU  &&  tmpc <= GUI_KEY_PGDOWN)   
      {        
               isKeyTrigged  = 1;
               switch(tmpc)
               {                  
                 case GUI_KEY_TRACE_ENABLE:
                   break;
                 case GUI_KEY_TRACE_DISABLE:
                   break;
                 default:
                    GUI_StoreKeyMsg(tmpc, 1);
                   break;
               }
               
      }   
      else if(tmpc >= 0x80  &&  tmpc <(0x80+21))
      {
         GUI_StoreKeyMsg(GUI_KEY_RELEASE, 1);
      }
      else
      {   
               
      }
   }
}
/*******************************************************************
*
*       _cbKeyDown

  Callback for the down-key
*/
static void _cbKeyDown(int key, int state) {
    GUI_StoreKeyMsg(GUI_KEY_DOWN, state);
};
/*******************************************************************
*
*       _cbKeyUp

  Callback for the up-key
*/
static void _cbKeyUp(int key, int state) {
    GUI_StoreKeyMsg(GUI_KEY_UP, state);
};
示例#5
0
文件: mainwin.c 项目: zkan51/NEVTEX
static void mylistview(WM_MESSAGE *pMsg)
{
	WM_HWIN hWin;
	CHAR RowNum;
	CHAR RowLineIndex;
	const WM_KEY_INFO *pInfo;
	int16_t  i  = 0;
	static char addrow = 0;
	hWin = pMsg->hWin;

	switch (pMsg->MsgId)
	{
		 case WM_KEY:
			     pInfo = (WM_KEY_INFO*)pMsg->Data.p;
		     switch (pInfo->Key)
	      {
								  case GUI_KEY_MENU:
											    WM_BringToTop(Menuwin);
										     WM_SetFocus(WM_GetDialogItem(Menuwin,ID_MENU));
										     MENU_SetSel(WM_GetDialogItem(Menuwin,ID_MENU),0);
										     MenuSel = 0;
											    break;
								  case GUI_KEY_PRINT:
														 WM_BringToTop(PrintWin);
														 WM_SetFocus(WM_GetDialogItem(PrintWin,ID_PrintMenu));
										     break;
										
			      	case GUI_KEY_LOC1:
							        pCannel = "  490 横";
							        WM_InvalidateWindow(WM_GetDialogItem(mainwin,ID_TEXT_1));
							        break;
										
			      	case GUI_KEY_LOC2:
															pCannel = "4209.5横";
															WM_InvalidateWindow(WM_GetDialogItem(mainwin,ID_TEXT_1));
							        break;
										
			      	case GUI_KEY_CHS:
							        pCannel = "  486 横";
															WM_InvalidateWindow(WM_GetDialogItem(mainwin,ID_TEXT_1));
												  	break;
			
			       case GUI_KEY_LOCK:							
															SelRow = LISTVIEW_GetSel(hListview);
															LISTVIEW_GetItemText(hListview,0,SelRow,pStrBuf,5);
															InfoId = atoi(pStrBuf);
															Info  = pInfoHeader;
															if (pInfoHeader)
															do 
															{
																	if (Info->ID == InfoId)
																	{
																				if (Info->isLocked == 0)
																				{      
																					LISTVIEW_SetItemText(hListview,6,SelRow,"          锁");
																					Info->isLocked = 1;
																				}
																				else if (Info->isLocked == 1)
																				{
																					LISTVIEW_SetItemText(hListview,6,SelRow,"");
																					Info->isLocked = 0;
																				}
																				break;
																	}
															}while (Info = Info->pNext);
														 break;
					 
			       case GUI_KEY_DOWN:

															SelRow = LISTVIEW_GetSel(hListview);
															if (thispage < pageNum)
															{
																		if (SelRow == 7)
																		{
																				thispage++;
																				InfoSel(InfoType,thispage);
																				DisPage();																						 
																				//WM_InvalidateRect(mainwin,&PageRect);
																		}
															}
													 	break;
				
										case GUI_KEY_UP:
															SelRow = LISTVIEW_GetSel(hListview);
															if(SelRow == 0 && thispage == 1)
																		WM_SetFocus(hButton);
															if (thispage>1)
															{
																		if(SelRow == 0)
																		{
																			  SelBottom = 1;		
																					thispage--;
																					InfoSel(InfoType,thispage);
																					DisPage();										
																					GUI_StoreKeyMsg(GUI_KEY_RIGHT,1);  //选择列表中最后一行
																		}
															}
															break;
					
									case GUI_KEY_RIGHT:
														if (SelBottom == 1)
														{
																	LISTVIEW_SetSel(hListview,7);
																	SelBottom = 0;
														}
														break;
									
									case GUI_KEY_ESCAPE:
														SelRow = LISTVIEW_GetSel(hListview);
														WM_SetFocus(hButton);
														break;
				
									case GUI_KEY_ENTER:
														SelRow = LISTVIEW_GetSel(hListview);
														LISTVIEW_GetItemText(hListview,0,SelRow,pStrBuf,5);
														InfoId = atoi(pStrBuf);
														Info  = pInfoHeader;
														if (pInfoHeader)
														do 
														{
																if (Info->ID == InfoId)
																{
																			if (Info->state == INFO_STT_New)
																				LISTVIEW_SetItemBitmap(hListview,6,SelRow,10,7,NULL);
																			if (Info->isLocked == 0)
																						TEXT_SetText(WM_GetDialogItem(InfoText,ID_TEXT_0),"");
																			else TEXT_SetText(WM_GetDialogItem(InfoText,ID_TEXT_0),"锁");
																			Info->state = INFO_STT_Choosen;
																			sprintf(pStrBuf,"%s",pStrBuf);
																			BUTTON_SetText(WM_GetDialogItem(InfoText,ID_BUTTON_0),pStrBuf);
																			MULTIEDIT_SetText(WM_GetDialogItem(InfoText, ID_MULTIEDIT_0),Info->pContent);
																			break;
																}
														}while (Info = Info->pNext);
															WM_BringToTop (InfoText);
															WM_SetFocus (InfoText);
														break;

							  }
		
	 	case WM_POST_PAINT: //行分割线
								RowNum = LISTVIEW_GetNumRows(hListview);
								GUI_SetColor(GUI_BLACK);
								for (RowLineIndex = 0; RowLineIndex<RowNum; RowLineIndex++)
												GUI_DrawLine(0,(68+40*(RowLineIndex)),720,(68+40*(RowLineIndex)));

		 default :
			     LISTVIEW_Callback(pMsg);
	      	break;
	}
}
示例#6
0
文件: main1.c 项目: dongkc/cleaner
__task   void phase_KEY (void)
{
	  static GPIO_InitTypeDef  GPIO_InitStruct;
	  GPIO_PinState bitstatus;
	
	  __GPIOF_CLK_ENABLE();
	  __GPIOA_CLK_ENABLE();
	
	  while(1)
		{		
			  // 1 TOUCH
	      GPIO_InitStruct.Pin = GPIO_PIN_6;
        GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
        GPIO_InitStruct.Pull = GPIO_PULLUP;
        GPIO_InitStruct.Speed = GPIO_SPEED_FAST;  
        HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 	  
	      bitstatus   =   HAL_GPIO_ReadPin(GPIOF,GPIO_PIN_6);	      
        if(bitstatus==GPIO_PIN_RESET)
				{			
             os_dly_wait (2);
             bitstatus   =   HAL_GPIO_ReadPin(GPIOF,GPIO_PIN_6);
					   if(bitstatus==GPIO_PIN_RESET)
						 {	 
							   do{
							           bitstatus   =   HAL_GPIO_ReadPin(GPIOF,GPIO_PIN_6);
								   }while(bitstatus==GPIO_PIN_RESET); 
								 
							   GUI_StoreKeyMsg(GUI_KEY_ENTER, 1);
                 
	               os_tsk_create (KEY_Sound,0);  	
                 LEDCURRENTTIME =0; // 清除掉关闭背光标识
 								 Time3Enable(HAL_RTCEx_BKUPRead(&RtcHandle, RTC_BKP_DR1));
	 
	           }
	  
	      }
				// 2 TOUCH
	      GPIO_InitStruct.Pin = GPIO_PIN_8;
        GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
        GPIO_InitStruct.Pull = GPIO_PULLUP;
        GPIO_InitStruct.Speed = GPIO_SPEED_FAST;  
        HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 	  
	      bitstatus   =   HAL_GPIO_ReadPin(GPIOF,GPIO_PIN_8);	      
        if(bitstatus==GPIO_PIN_RESET)
				{			
             os_dly_wait (2);
             bitstatus   =   HAL_GPIO_ReadPin(GPIOF,GPIO_PIN_8);
					   if(bitstatus==GPIO_PIN_RESET)
						 {	 
							   do{
							        bitstatus   =   HAL_GPIO_ReadPin(GPIOF,GPIO_PIN_8);
								   }while(bitstatus==GPIO_PIN_RESET); 
								 
							   GUI_StoreKeyMsg(GUI_KEY_DOWN, 1);
	               os_tsk_create (KEY_Sound,0);  	
                 LEDCURRENTTIME =0; // 清除掉关闭背光标识
 								 Time3Enable(HAL_RTCEx_BKUPRead(&RtcHandle, RTC_BKP_DR1));
	 
	           }
	  
	      }
			// 3 TOUCH
	      GPIO_InitStruct.Pin = GPIO_PIN_0;
        GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
        GPIO_InitStruct.Pull = GPIO_PULLUP;
        GPIO_InitStruct.Speed = GPIO_SPEED_FAST;  
        HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 	  
	      bitstatus   =   HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);	      
        if(bitstatus==GPIO_PIN_RESET)
				{			
             os_dly_wait (2);
             bitstatus   =   HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
					   if(bitstatus==GPIO_PIN_RESET)
						 {	 
							   do{
							        bitstatus   =   HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
								   }while(bitstatus==GPIO_PIN_RESET); 
								 
							   GUI_StoreKeyMsg(GUI_KEY_UP, 1);
	               os_tsk_create (KEY_Sound,0);  	
                 LEDCURRENTTIME =0; // 清除掉关闭背光标识
 								 Time3Enable(HAL_RTCEx_BKUPRead(&RtcHandle, RTC_BKP_DR1));
 
	           }
	  
	      }	
		  // 4 TOUCH
	      GPIO_InitStruct.Pin = GPIO_PIN_2;
        GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
        GPIO_InitStruct.Pull = GPIO_PULLUP;
        GPIO_InitStruct.Speed = GPIO_SPEED_FAST;  
        HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 	  
	      bitstatus   =   HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2);	      
        if(bitstatus==GPIO_PIN_RESET)
				{			
             os_dly_wait (2);
             bitstatus   =   HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2);
					   if(bitstatus==GPIO_PIN_RESET)
						 {	 
							   do{
							        bitstatus   =   HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2);
								   }while(bitstatus==GPIO_PIN_RESET); 
								 
							   GUI_StoreKeyMsg(GUI_KEY_ESCAPE, 1);
	               os_tsk_create (KEY_Sound,0);  	
                 LEDCURRENTTIME =0; // 清除掉关闭背光标识
 								 Time3Enable(HAL_RTCEx_BKUPRead(&RtcHandle, RTC_BKP_DR1));
	 
	           }
	  
	      }			
				
			os_tsk_pass();	
				
	  } 
}	
示例#7
0
/*******************************************************************
*
*       _cbKeyDown
* 
* Function description
*  Callback for the down-key
*/
static void _cbKeyDown(int key, int state) {
  GUI_USE_PARA(key);
  GUI_StoreKeyMsg(GUI_KEY_DOWN, state);
}
示例#8
0
/*******************************************************************
*
*       _cbKeyUp
*
* Function description
*   Callback for the up-key
*/
static void _cbKeyUp(int key, int state) {
  GUI_USE_PARA(key);
  GUI_StoreKeyMsg(GUI_KEY_UP, state);
}