📄 keypad.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 + -