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

📄 keypad.h

📁 Wince6环境下
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
//
// (C) Copyright 2006 Marvell International Ltd.
// All Rights Reserved
//
/******************************************************************************
**
** INTEL CONFIDENTIAL
** Copyright 2003-2005 Intel Corporation All Rights Reserved.
**
** The source code contained or described herein and all documents
** related to the source code (Material) are owned by Intel Corporation
** or its suppliers or licensors.  Title to the Material remains with
** Intel Corporation or its suppliers and licensors. The Material contains
** trade secrets and proprietary and confidential information of Intel
** or its suppliers and licensors. The Material is protected by worldwide
** copyright and trade secret laws and treaty provisions. No part of the
** Material may be used, copied, reproduced, modified, published, uploaded,
** posted, transmitted, distributed, or disclosed in any way without Intel抯
** prior express written permission.

** No license under any patent, copyright, trade secret or other intellectual
** property right is granted to or conferred upon you by disclosure or
** delivery of the Materials, either expressly, by implication, inducement,
** estoppel or otherwise. Any license under such intellectual property rights
** must be express and approved by Intel in writing.
**
/*****************************************************************************/
#ifndef __XLLP_KEYPAD_H
#define  __XLLP_KEYPAD_H
#include    "xllp_defs.h"
#include    "xllp_mfp.h"
#include    "xllp_keypad_proc.h"

/* 
Scan code definitions.  
These will not change; rather, the method of calculating them will change.
They must be 8-bit unsigned values
*/
#define     XLLP_KP_SC_NO_KEY               0xFF
#define     XLLP_KP_SC_INVALID_KEY          0xFE

#define     XLLP_KP_SC_A                    0x00 
#define     XLLP_KP_SC_B                    0x10  
#define     XLLP_KP_SC_C                    0x20  
#define     XLLP_KP_SC_D                    0x30  
#define     XLLP_KP_SC_E                    0x40  
#define     XLLP_KP_SC_F                    0x50  
#define     XLLP_KP_SC_G                    0x01 
#define     XLLP_KP_SC_H                    0x11  
#define     XLLP_KP_SC_I                    0x21  
#define     XLLP_KP_SC_J                    0x31  
#define     XLLP_KP_SC_K                    0x41  
#define     XLLP_KP_SC_L                    0x51  
#define     XLLP_KP_SC_M                    0x02 
#define     XLLP_KP_SC_N                    0x12  
#define     XLLP_KP_SC_O                    0x22  
#define     XLLP_KP_SC_P                    0x32  
#define     XLLP_KP_SC_Q                    0x42  
#define     XLLP_KP_SC_R                    0x52  
#define     XLLP_KP_SC_S                    0x03 
#define     XLLP_KP_SC_T                    0x13  
#define     XLLP_KP_SC_U                    0x23  
#define     XLLP_KP_SC_V                    0x33  
#define     XLLP_KP_SC_W                    0x43  
#define     XLLP_KP_SC_X                    0x53  
#define     XLLP_KP_SC_Y                    0x24
#define     XLLP_KP_SC_Z                    0x34


#define     XLLP_KP_SC_PERIOD               0x04
#define     XLLP_KP_SC_AT_SYMBOL            0x14  /* @ */
#define     XLLP_KP_SC_SLASH                0x44
#define     XLLP_KP_SC_BACKSLASH            0x54

#define     XLLP_KP_SC_HOME                 0x05
#define     XLLP_KP_SC_SHIFT                0x15
#define     XLLP_KP_SC_SPACE                0x25  
#define     XLLP_KP_SC_SPACE_RSVD           0x35  
#define     XLLP_KP_SC_BLUEKEY              0x45  
#define     XLLP_KP_SC_BACK                 0x55

#define     XLLP_KP_SC_1                    0x70
#define     XLLP_KP_SC_2                    0x72
#define     XLLP_KP_SC_3                    0x74
#define     XLLP_KP_SC_4                    0x80
#define     XLLP_KP_SC_5                    0x82
#define     XLLP_KP_SC_6                    0x84
#define     XLLP_KP_SC_7                    0x90
#define     XLLP_KP_SC_8                    0x92
#define     XLLP_KP_SC_9                    0x94
#define     XLLP_KP_SC_0                    0xA2

#define     XLLP_KP_SC_SOFT1                0x62
#define     XLLP_KP_SC_SOFT2                0x63
#define     XLLP_KP_SC_SEND                 0x60
#define     XLLP_KP_SC_END                  0x55
// Navigation center scan codes
#define     XLLP_KP_SC_N_UP                 0x06
#define     XLLP_KP_SC_N_DOWN               0x16
#define     XLLP_KP_SC_N_LEFT               0x26
#define     XLLP_KP_SC_N_RIGHT              0x36
#define     XLLP_KP_SC_N_ACTION             0x46

#define     XLLP_KP_SC_SCROLL_PUSH          0x64

#define     XLLP_KP_SC_STAR                 0xA0      /* * */
#define     XLLP_KP_SC_POUND                0xA4      /* # */
#define     XLLP_KP_SC_BANG                 0x80      /* ! */
#define     XLLP_KP_SC_QMARK                0xA0      /* ? */
#define     XLLP_KP_SC_DOLLAR               0x81      /* $ */
#define     XLLP_KP_SC_AMPERSAND            0xA1      /* & */

#define     XLLP_KP_SC_COLON                0x82
#define     XLLP_KP_SC_SEMICOLON            0xA2
/*#define     XLLP_KP_SC_????       0x83 */
/*#define     XLLP_KP_SC_????       0xA3 */
#define     XLLP_KP_SC_TAB                  0x74
#define     XLLP_KP_SC_L_PAREN              0x84      /* (*/
#define     XLLP_KP_SC_R_PAREN              0x94
/*#define     XLLP_KP_SC_L_ARROW  ???   0xA4 */
#define     XLLP_KP_SC_ENTER                0xB4 /* Also called "RETURN"*/

#define     XLLP_KP_SC_SCROLL_UP            0x0A
#define     XLLP_KP_SC_SCROLL_DOWN          0x0B

// New keys for Zoar

#define     XLLP_KP_SC_RECORD               0x0D 
#define     XLLP_KP_SC_DELETE               0x1C

#define     XLLP_KP_SC_AUX1                 0x19
#define     XLLP_KP_SC_AUX2                 0x1A
#define     XLLP_KP_SC_AUX3                 0x1B


#define     XLLP_KP_SC_VOL_UP               0x1D
#define     XLLP_KP_SC_VOL_DN               0x1E

// New navigation-station chord scan codes

#define     XLLP_KP_SC_N_UP_LEFT              0xA5 
#define     XLLP_KP_SC_N_UP_RIGHT             0xA6 
#define     XLLP_KP_SC_N_DOWN_LEFT            0xA7 
#define     XLLP_KP_SC_N_DOWN_RIGHT           0xA8 
#define     XLLP_KP_SC_N_ACTION_UP            0xA9 
#define     XLLP_KP_SC_N_ACTION_DOWN          0xAA 
#define     XLLP_KP_SC_N_ACTION_LEFT          0xAB 
#define     XLLP_KP_SC_N_ACTION_RIGHT         0xAC 
#define     XLLP_KP_SC_N_ACTION_UP_LEFT       0xAD 
#define     XLLP_KP_SC_N_ACTION_UP_RIGHT      0xAE 
#define     XLLP_KP_SC_N_ACTION_DOWN_LEFT     0xAF 
#define     XLLP_KP_SC_N_ACTION_DOWN_RIGHT    0xB5 

#ifdef __cplusplus

extern "C"{
#endif 

XLLP_STATUS_T XllpKeyPadConfigure (
    XLLP_KEYPAD_REGS *        pKeyPadRegs,
    P_XLLP_VUINT32_T          pMfpRegBase,
    P_XLLP_MFP_RM_DB_ID_T     pMfpRmDb,
    XLLP_BOOL_T               useDefaultDebounces, 
    XLLP_UINT8_T              matrixDebounceMs, 
    XLLP_UINT8_T              directDebounceMs);

XLLP_STATUS_T XllpReadScanCode(
    XLLP_KEYPAD_REGS    *v_pkeypad_regs,
    XLLP_UINT32_T       *num_of_keys_pressed,
    XLLP_UINT8_T        *pui8_data);

XLLP_STATUS_T XllpKeyPadEnableLpmWakeup (
    P_XLLP_VUINT32_T  pMfpRegBase,
    XLLP_CONTROL_T    enable);

#ifdef __cplusplus
}
#endif
#endif

⌨️ 快捷键说明

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