comparison src/cs/drivers/drv_app/kpd/board/kpd_scan_functions.c @ 138:385841ccb7f8

.../kpd/board/kpd_scan_functions.c: support Mot C1xx and Pirelli keypads
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 08 Oct 2016 05:31:43 +0000
parents 945cf7f506b2
children bed6d393f3e0
comparison
equal deleted inserted replaced
137:1974d7cacf84 138:385841ccb7f8
17 * 17 *
18 * 18 *
19 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved 19 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved
20 */ 20 */
21 #include "board.cfg" 21 #include "board.cfg"
22 #include "fc-target.cfg"
22 23
23 #include "nucleus.h" /* used for HISR */ 24 #include "nucleus.h" /* used for HISR */
24 25
25 #include "kpd/kpd_scan_functions.h" 26 #include "kpd/kpd_scan_functions.h"
26 #include "kpd/kpd_cfg.h" 27 #include "kpd/kpd_cfg.h"
88 #elif ((BOARD == 40) || (BOARD == 41) || (BOARD == 42) || (BOARD == 43)) 89 #elif ((BOARD == 40) || (BOARD == 41) || (BOARD == 42) || (BOARD == 43))
89 #define KP_ROWS 5 90 #define KP_ROWS 5
90 #define KP_COLS 5 91 #define KP_COLS 5
91 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]= 92 const T_KPD_PHYSICAL_KEY_ID keypad_layout[KP_ROWS][KP_COLS]=
92 { 93 {
94 #ifdef CONFIG_TARGET_COMPAL
95 /* Mot C1xx keypad */
96 {KPD_PKEY_GREEN, KPD_PKEY_3, KPD_PKEY_2, KPD_PKEY_1,
97 KPD_PKEY_NULL},
98 {KPD_PKEY_UP, KPD_PKEY_6, KPD_PKEY_5, KPD_PKEY_4,
99 KPD_PKEY_NULL},
100 {KPD_PKEY_DOWN, KPD_PKEY_9, KPD_PKEY_8, KPD_PKEY_7,
101 KPD_PKEY_NULL},
102 {KPD_PKEY_LEFT, KPD_PKEY_DIESE, KPD_PKEY_0, KPD_PKEY_STAR,
103 KPD_PKEY_NULL},
104 {KPD_PKEY_RIGHT, KPD_PKEY_SOFT_RIGHT, KPD_PKEY_NAV_CENTER,KPD_PKEY_SOFT_LEFT,
105 KPD_PKEY_NULL},
106 #elif defined(CONFIG_TARGET_PIRELLI)
107 /* Pirelli's keypad */
108 {KPD_PKEY_NAV_CENTER, KPD_PKEY_LEFT, KPD_PKEY_RIGHT, KPD_PKEY_UP, KPD_PKEY_NULL},
109 {KPD_PKEY_SOFT_LEFT, KPD_PKEY_SOFT_RIGHT, KPD_PKEY_GREEN, KPD_PKEY_DOWN, KPD_PKEY_VOL_UP},
110 {KPD_PKEY_3, KPD_PKEY_6, KPD_PKEY_9, KPD_PKEY_DIESE, KPD_PKEY_VOL_DOWN},
111 {KPD_PKEY_2, KPD_PKEY_5, KPD_PKEY_8, KPD_PKEY_0, KPD_PKEY_REC},
112 {KPD_PKEY_1, KPD_PKEY_4, KPD_PKEY_7, KPD_PKEY_STAR, KPD_PKEY_NULL},
113 #else
93 /* Layout of D-Sample and E-Sample */ 114 /* Layout of D-Sample and E-Sample */
94 {KPD_PKEY_GREEN, KPD_PKEY_VOL_DOWN, KPD_PKEY_VOL_UP,KPD_PKEY_SOFT_LEFT, KPD_PKEY_LEFT}, 115 {KPD_PKEY_GREEN, KPD_PKEY_VOL_DOWN, KPD_PKEY_VOL_UP,KPD_PKEY_SOFT_LEFT, KPD_PKEY_LEFT},
95 {KPD_PKEY_1, KPD_PKEY_2, KPD_PKEY_3, KPD_PKEY_REC, KPD_PKEY_RIGHT}, 116 {KPD_PKEY_1, KPD_PKEY_2, KPD_PKEY_3, KPD_PKEY_REC, KPD_PKEY_RIGHT},
96 {KPD_PKEY_4, KPD_PKEY_5, KPD_PKEY_6, KPD_PKEY_SOFT_RIGHT, KPD_PKEY_UP}, 117 {KPD_PKEY_4, KPD_PKEY_5, KPD_PKEY_6, KPD_PKEY_SOFT_RIGHT, KPD_PKEY_UP},
97 {KPD_PKEY_7, KPD_PKEY_8, KPD_PKEY_9, KPD_PKEY_NULL, KPD_PKEY_DOWN}, 118 {KPD_PKEY_7, KPD_PKEY_8, KPD_PKEY_9, KPD_PKEY_NULL, KPD_PKEY_DOWN},
98 {KPD_PKEY_STAR, KPD_PKEY_0, KPD_PKEY_DIESE, KPD_PKEY_NULL, KPD_PKEY_NAV_CENTER}, 119 {KPD_PKEY_STAR, KPD_PKEY_0, KPD_PKEY_DIESE, KPD_PKEY_NULL, KPD_PKEY_NAV_CENTER},
120 #endif
99 }; 121 };
100 #endif 122 #endif
101 123
102 #define KP_ACTIVATE(i) (~(1<<i)) 124 #define KP_ACTIVATE(i) (~(1<<i))
103 #define KP_IS_ACTIVE(rows,i) ((rows & (1<<i)) == 0) 125 #define KP_IS_ACTIVE(rows,i) ((rows & (1<<i)) == 0)