📄 keypad.c
字号:
/*
+-----------------------------------------------------------------------------
| Project : GSM-PS
| Modul : DRV_KBD
+-----------------------------------------------------------------------------
| Copyright 2002 Texas Instruments Berlin, AG
| All rights reserved.
|
| This file is confidential and a trade secret of Texas
| Instruments Berlin, AG
| The receipt of or possession of this file does not convey
| any rights to reproduce or disclose its contents or to
| manufacture, use, or sell anything it may describe, in
| whole, or in part, without the specific written consent of
| Texas Instruments Berlin, AG.
+-----------------------------------------------------------------------------
| Purpose : This Module defines the G23 keyboard driver.
|
| The driver has two parts:
|
| Part 1 is the driver interface (kbd_... )
| Part 2 is the simulation for Windows
+-----------------------------------------------------------------------------
*/
#ifndef DRV_KBD_C
#define DRV_KBD_C
#endif
/*==== INCLUDES ===================================================*/
#if defined (NEW_FRAME)
#include <string.h>
#include "typedefs.h"
#include "gdi.h"
#include "kbd.h"
#else
#include <string.h>
#include "stddefs.h"
#include "gdi.h"
#include "kbd.h"
#endif
/*==== EXPORT =====================================================*/
#if defined (_TMS470)
EXTERN void KP_Init (void (*mmi_key_pressed)(UBYTE key),
void (*mmi_key_relesed)(UBYTE key));
#else
LOCAL void KP_Init (void (*mmi_key_pressed)(UBYTE key),
void (*mmi_key_relesed)(UBYTE key));
#endif
LOCAL void kbd_key_pressed (UBYTE act_key);
LOCAL void kbd_key_released (UBYTE act_key);
//glowing,2004-05-10, comment it
//GLOBAL void kbd_test (UBYTE key);
/*==== VARIABLES ==================================================*/
drv_SignalCB_Type kbd_signal_callback = NULL;
UBYTE kbd_act_key;
/*
* Marcus: Issue 811: 05:09/2002:
* Moved kbd_map, simkbd_map and config_map from \bmi\Condat\MS\SRC\mfw\ti1_key.c
*/
const U8 kbd_map [NUM_KPD_KEYS] = /* ti mapping */
{ /* default keyboard mapping */
/* KEY_0 */ 0x01,
/* KEY_1 */ 0x02,
/* KEY_2 */ 0x03,
/* KEY_3 */ 0x04,
/* KEY_4 */ 0x05,
/* KEY_5 */ 0x06,
/* KEY_6 */ 0x07,
/* KEY_7 */ 0x08,
/* KEY_8 */ 0x09,
/* KEY_9 */ 0x0A,
/* KEY_STAR */ 0x11,
/* KEY_HASH */ 0x12,
// /* KEY_VOLUP */ 0x14, //glowing, 2004-05-11, revised by M188A
/* KEY_VOLUP */ 0x13, //glowing, 2004-05-11, revised by M188A//
/* KEY_VOLDOWN */ 0x14, //glowing, 2004-05-11, revised by M188A
/* KEY_MNUUP */ 0x0B, //rat_percent value
/* KEY_MNUDOWN */0x0C,
/* KEY_LEFT */ 0x0D,
/* KEY_RIGHT */ 0x0E,
/* KEY_CALL */ 0x0F,
/* KEY_HUP */ 0x10,
/* KEY_OK */ 0x17,
/* KEY_CLEAR */ 0x18,
/* KEY_ABC */ 0x65, // charging virtual key
/* KEY_POWER */ 0x19,
/* KEY_F1 */ 0x15,
/* KEY_F2 */ 0x16,
// /* KEY_F3 */ 0x13, // record key
// /* KEY_F3 */ 0x18, // record key
/* KEY_F3 */ 0xFE, // record key
/* KEY_F4 */ 0x64, //virtual key for hall
/* KEY_MAX */ 0xFE,
/* KEY_AUTO */ 0xFE,
/* KEY_LONG */ 0xFE,
/* KEY_MAKE */ 0xFE
};
const U8 simkbd_map [NUM_KPD_KEYS] = /* MOB SIM mapping */
{ /* default keyboard mapping */
/* KEY_0 0 */ 0,
/* KEY_1 1 */ 1,
/* KEY_2 2 */ 2,
/* KEY_3 3 */ 3,
/* KEY_4 4 */ 4,
/* KEY_5 5 */ 5,
/* KEY_6 6 */ 6,
/* KEY_7 7 */ 7,
/* KEY_8 8 */ 8,
/* KEY_9 9 */ 9,
/* KEY_STAR 10 */ 10,
/* KEY_HASH 11 */ 11,
/* KEY_VOLUP 12 */ 12,
/* KEY_VOLDOWN 13 */ 13,
/* KEY_MNUUP 14 */ 14,
/* KEY_MNUDOWN 15 */ 15,
/* KEY_LEFT 16 */ 16,
/* KEY_RIGHT 17 */ 17,
/* KEY_CALL 18 */ 18,
/* KEY_HUP 19 */ 19,
/* KEY_OK 20 */ 20,
/* KEY_CLEAR 21 */ 21,
/* KEY_ABC 22 */ 22,
/* KEY_POWER 23 */ 23,
/* KEY_F1 24 */ 24,
/* KEY_F2 25 */ 25,
/* KEY_F3 26 */ 26,
/* KEY_F4 27 */ 27,
/* KEY_MAX 28 */ 28,
/* KEY_AUTO 29 */ 29,
/* KEY_LONG 30 */ 30,
/* KEY_MAKE 31 */ 31
};
//glowing, 2004-05-11, enable the following define
//#if 0
#if 1
/* the following codes are at least unuseable for d-sample!!! */
const char * config_map [NUM_KPD_KEYS] =
{ /* CONFIG prim key names */
/* KEY_0 */ "0",
/* KEY_1 */ "1",
/* KEY_2 */ "2",
/* KEY_3 */ "3",
/* KEY_4 */ "4",
/* KEY_5 */ "5",
/* KEY_6 */ "6",
/* KEY_7 */ "7",
/* KEY_8 */ "8",
/* KEY_9 */ "9",
/* KEY_STAR */ "STAR",
/* KEY_HASH */ "HASH",
/* KEY_VOLUP */ "VOL_PLUS",
/* KEY_VOLDOWN */ "VOL_MINUS",
/* KEY_MNUUP */ "UP",
/* KEY_MNUDOWN */ "DOWN",
/* KEY_LEFT */ "LEFT",
/* KEY_RIGHT */ "RIGHT",
/* KEY_CALL */ "SEND",
/* KEY_HUP */ "END",
/* KEY_OK */ "OK",
/* KEY_CLEAR */ "CLEAR",
/* KEY_ABC */ "ABC",
/* KEY_POWER */ "POWER",
/* KEY_F1 */ "F1",
/* KEY_F2 */ "F2",
/* KEY_F3 */ "F3",
/* KEY_F4 */ "F4",
/* KEY_MAX */ "",
/* KEY_AUTO */ "",
/* KEY_LONG */ "",
/* KEY_MAKE */ ""
};
#endif
//glowing, 2004-05-11, disable the following define by M188A
#if 0
const char * config_map [NUM_KPD_KEYS] =
{ /* CONFIG prim key names */
/* unused */ "X0", /* dummy placeholder */
/* KEY_0 */ "0",
/* KEY_1 */ "1",
/* KEY_2 */ "2",
/* KEY_3 */ "3",
/* KEY_4 */ "4",
/* KEY_5 */ "5",
/* KEY_6 */ "6",
/* KEY_7 */ "7",
/* KEY_8 */ "8",
/* KEY_9 */ "9",
/* KEY_MNUUP */ "UP",
/* KEY_MNUDOWN */ "DOWN",
/* KEY_LEFT */ "LSOFT",
/* KEY_RIGHT */ "RSOFT",
/* KEY_CALL */ "SEND",
/* KEY_HUP */ "END",
/* KEY_STAR */ "*",
/* KEY_HASH */ "#",
/* KEY_VOLUP */ "VOL_PLUS",
/* KEY_VOLDOWN */ "VOL_MINUS",
/* KEY_MNULEFT */ "LEFT",
/* KEY_MNURIGHT */ "RIGHT",
/* KEY_MNUSELECT */ "CENTER",
/* voice memo ??? */ "EXTRA",
/* unused */ "X26", /* dummy placeholder */
/* unused */ "X27", /* dummy placeholder */
/* unused */ "X28", /* dummy placeholder */
/* unused */ "X29", /* dummy placeholder */
/* unused */ "X30", /* dummy placeholder */
/* unused */ "X31", /* dummy placeholder */
/* unused */ "X32", /* dummy placeholder */
};
#endif
/*==== FUNCTIONS ==================================================*/
/*==== CONSTANTS ==================================================*/
/*******************************************************************
* *
* PART I: Driver Interface *
* *
*******************************************************************/
/*
+--------------------------------------------------------------------+
| PROJECT : GSM-PS (6103) MODULE : DRV_KBD |
| STATE : code ROUTINE : kbd_Init |
+--------------------------------------------------------------------+
PURPOSE : The function initializes the driver磗 internal data. The
function returns KBD_INITIALIZED if the driver has already
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -