blob: a711853e656be94ad72aa0fe527bf1efe9605a77 [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/*******************************************************************************
2 * Copyright (C) 2014, ZTE Corporation.
3 *
4 * File Name: drvs_io_kpd.h
5 * File Mark:
6 * Description:
7 * Others:
8 * Version: 1.0
9 * Author: yuxiang
10 * Date: 2014-07-11
11 * History 1:
12 * Date:
13 * Version:
14 * Author:
15 * Modification:
16 * History 2:
17 ********************************************************************************/
18
19#ifndef _DRVS_IO_KPD_H
20#define _DRVS_IO_KPD_H
21
22/****************************************************************************
23* Include files
24****************************************************************************/
25#include "drvs_io.h"
26
27/****************************************************************************
28* Macros
29****************************************************************************/
30#define ZDRV_DEV_KPD "kpd"
31
32/****************************************************************************
33* Types
34****************************************************************************/
35
36/* tianbao zhou 20171122 */
37typedef enum
38{
39 KPD_VK_NULL,
40
41 KPD_VK_1, /* number 1 */
42 KPD_VK_2, /* number 2 */
43 KPD_VK_3, /* number 3 */
44 KPD_VK_4, /* number 4 */
45 KPD_VK_5, /* number 5 */
46 KPD_VK_6, /* number 6 */
47 KPD_VK_7, /* number 7 */
48 KPD_VK_8, /* number 8 */
49 KPD_VK_9, /* number 9 */
50 KPD_VK_0, /* number 0 */
51 KPD_VK_STAR, /* 11: key * */
52 KPD_VK_HASH, /* 12: key # */
53
54 KPD_VK_NV_UP, /* 13: key up */
55 KPD_VK_NV_DOWN, /* 14: key down */
56 KPD_VK_NV_LEFT, /* 15: key left */
57 KPD_VK_NV_RIGHT, /* 16: key right */
58 KPD_VK_NV_CENTER, /* 17: key ok */
59 KPD_VK_SOFT_LEFT, /* 18: left soft */
60 KPD_VK_SOFT_RIGHT, /* 19: right soft */
61 KPD_VK_CALL, /* 20: call key */
62
63 /* Use only KPD_VK_POWER if a key is both KPD_VK_CANCEL and KPD_VK_POWER */
64 KPD_VK_CANCEL, /* cancel key. */
65 KPD_VK_POWER, /* 22: power key. */
66
67 KPD_VK_SOFT_1, /* 23: soft key 1 for additional functional key */
68 KPD_VK_SOFT_2, /* 24: soft key 2 for additional functional key */
69 KPD_VK_SOFT_3, /* 25: soft key 3 for additional functional key */
70 KPD_VK_SOFT_4, /* 26: soft key 4 for additional functional key */
71
72 KPD_VK_SIDE_UP, /* 27: up key on the side */
73 KPD_VK_SIDE_DOWN, /* 28: down key on the side */
74 KPD_VK_WEB, /* 29: web key */
75 KPD_VK_CAMERA, /* 30: camera key */
76 KPD_VK_FLIP, /* 31: flip key */
77
78 KPD_VK_SHORTCUT1, /* 32: */
79 KPD_VK_SHORTCUT2,
80 KPD_VK_SHORTCUT3,
81 KPD_VK_SHORTCUT4,
82 KPD_VK_SHORTCUT5,
83 KPD_VK_SHORTCUT6,
84 KPD_VK_VOLUME, /* 38: ÒôÁ¿µ÷½Ú½çÃæ¿ì½Ý¼ü */
85 KPD_VK_SETTING, /* 39: ¿ì½ÝÉèÖà */
86 KPD_VK_WEATHERPORT, /* 40: ÌìÆøÔ¤±¨ */
87 KPD_VK_MESSAGE, /* 41: ¶ÌÐÅ */
88 KPD_VK_12580, /* 42: */
89 KPD_VK_SOS, /* 43: */
90 KPD_VK_REDIAL, /* 44: ÖØ²¥ */
91 KPD_VK_HEADFREE, /* 45: ÃâÌá¼ü */
92 KPD_VK_HEADSET, /* 46: Õª»ú »ò ¹Ò»ú */
93 KPD_VK_HEADSETUP, /* 47: ͻȜ */
94 KPD_VK_HEADSETDOWN, /* 48: ¹Ò»ú */
95
96 KPD_VK_WIFI,
97 KPD_VK_RESET,
98 KPD_VK_WPS,
99
100 KPD_VK_NUM /* 52 */
101} T_ZDrvKpd_VirtualKey;
102
103/* key state */
104typedef enum
105{
106 KEY_RELEASED, /* key has been released */
107 KEY_PRESSED, /* key has been pressed */
108
109 MAX_KEY_STATE
110} T_ZDrvKpd_KeyState;
111
112typedef struct
113{
114 T_ZDrvKpd_VirtualKey key; /* key code */
115 T_ZDrvKpd_KeyState state; /* key state */
116 UINT8 times; /* scaned times when pressed, and by this can get the de pressed
117 * time equal to times x scan interval( 100ms ) */
118} T_ZDrvKpd_KeyItem;
119
120#if IOKEYS(IOCTL_KPD_SET_BLG_BRIGHTNESS) || IOKEYS(IOCTL_KPD_GET_BLG_STATUS)
121typedef UINT8 T_ZDrvKpd_BlgBrightness; /* 0~255 */
122#endif
123
124#if IOKEYS(IOCTL_KPD_GET_BLG_STATUS)
125typedef struct
126{
127 UINT8 isBlgOn;
128 T_ZDrvKpd_BlgBrightness brightness;
129} T_ZDrvKpd_BlgStatus;
130#endif
131
132
133#endif/*_DRVS_IO_KPD_H*/
134