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

📄 keypad.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/* 
+----------------------------------------------------------------------------- 
|  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 + -