FreeCalypso > hg > fc-magnetite
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) |