summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Guay <marcguay@rockbox.org>2009-05-25 20:04:31 +0000
committerMarc Guay <marcguay@rockbox.org>2009-05-25 20:04:31 +0000
commit244afc0a0faa24719aba1cf5d2cfa4fbf6f61258 (patch)
tree6b40bcd3f22085cb2d1064068d39c9083cdae7da
parentcd5e98db08ee25cbabcafbd005b7eb9820a15137 (diff)
downloadrockbox-244afc0a0faa24719aba1cf5d2cfa4fbf6f61258.tar.gz
rockbox-244afc0a0faa24719aba1cf5d2cfa4fbf6f61258.zip
Improve the c100 keymap and button names.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21081 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/keymaps/keymap-c100.c181
-rw-r--r--firmware/target/arm/tcc77x/c100/button-c100.c23
-rw-r--r--firmware/target/arm/tcc77x/c100/button-target.h12
3 files changed, 88 insertions, 128 deletions
diff --git a/apps/keymaps/keymap-c100.c b/apps/keymaps/keymap-c100.c
index 087be8665f..2562a053f6 100644
--- a/apps/keymaps/keymap-c100.c
+++ b/apps/keymaps/keymap-c100.c
@@ -34,63 +34,54 @@
34 * Insert LAST_ITEM_IN_LIST at the end of each mapping 34 * Insert LAST_ITEM_IN_LIST at the end of each mapping
35 */ 35 */
36static const struct button_mapping button_context_standard[] = { 36static const struct button_mapping button_context_standard[] = {
37 { ACTION_STD_PREV, BUTTON_VOLUP, BUTTON_NONE }, 37 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE },
38 { ACTION_STD_PREVREPEAT, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 38 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
39 39 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
40 { ACTION_STD_NEXT, BUTTON_VOLDOWN, BUTTON_NONE }, 40 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
41 { ACTION_STD_NEXTREPEAT, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 41 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
42 42 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
43 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 43 { ACTION_STD_MENU, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN },
44 { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, 44 { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
45 { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, 45 { ACTION_STD_QUICKSCREEN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN },
46
47 { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
48 { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
49// { ACTION_STD_QUICKSCREEN, BUTTON_REC|BUTTON_SELECT, BUTTON_NONE },
50 46
51 LAST_ITEM_IN_LIST 47 LAST_ITEM_IN_LIST
52}; /* button_context_standard */ 48}; /* button_context_standard */
53 49
54 50
55static const struct button_mapping button_context_wps[] = { 51static const struct button_mapping button_context_wps[] = {
56 { ACTION_WPS_PLAY, BUTTON_VOLUP|BUTTON_REL, BUTTON_VOLUP }, 52 { ACTION_WPS_PLAY, BUTTON_UP|BUTTON_REL, BUTTON_UP },
57 { ACTION_WPS_STOP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_VOLUP }, 53 { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
58 54 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
59 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 55 { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
60 { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 56 { ACTION_WPS_STOPSEEK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
61 { ACTION_WPS_STOPSEEK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
62 57
63 { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 58 { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
64 { ACTION_WPS_SEEKFWD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 59 { ACTION_WPS_SEEKFWD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
65 { ACTION_WPS_STOPSEEK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, 60 { ACTION_WPS_STOPSEEK, BUTTON_RIGHT|BUTTON_REL,BUTTON_RIGHT|BUTTON_REPEAT },
66 61
67 { ACTION_WPS_ABSETB_NEXTDIR,BUTTON_MENU|BUTTON_RIGHT, BUTTON_MENU }, 62 { ACTION_WPS_ABSETB_NEXTDIR,BUTTON_POWER|BUTTON_RIGHT, BUTTON_POWER },
68 { ACTION_WPS_ABSETA_PREVDIR,BUTTON_MENU|BUTTON_LEFT, BUTTON_MENU }, 63 { ACTION_WPS_ABSETA_PREVDIR,BUTTON_POWER|BUTTON_LEFT, BUTTON_POWER },
69 { ACTION_WPS_ABRESET, BUTTON_MENU|BUTTON_VOLUP, BUTTON_MENU }, 64 { ACTION_WPS_ABRESET, BUTTON_POWER|BUTTON_UP, BUTTON_POWER },
70 65
71 { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 66 { ACTION_WPS_MENU, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN },
72 { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 67 { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
73 { ACTION_WPS_PITCHSCREEN, BUTTON_SELECT|BUTTON_VOLUP, BUTTON_SELECT }, 68 { ACTION_WPS_PITCHSCREEN, BUTTON_SELECT|BUTTON_VOLUP, BUTTON_SELECT },
74 { ACTION_WPS_ID3SCREEN, BUTTON_SELECT|BUTTON_VOLDOWN, BUTTON_SELECT }, 69 { ACTION_WPS_ID3SCREEN, BUTTON_SELECT|BUTTON_VOLDOWN, BUTTON_SELECT },
75 { ACTION_WPS_CONTEXT, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_VOLDOWN }, 70 { ACTION_WPS_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
76 { ACTION_WPS_QUICKSCREEN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_VOLDOWN }, 71 { ACTION_WPS_QUICKSCREEN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN },
77 72
78 LAST_ITEM_IN_LIST 73 LAST_ITEM_IN_LIST
79}; /* button_context_wps */ 74}; /* button_context_wps */
80 75
81static const struct button_mapping button_context_settings[] = { 76static const struct button_mapping button_context_settings[] = {
82 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, 77 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
83 { ACTION_SETTINGS_RESET, BUTTON_SELECT, BUTTON_NONE }, 78 { ACTION_SETTINGS_RESET, BUTTON_SELECT, BUTTON_NONE },
84 79 { ACTION_SETTINGS_INC, BUTTON_VOLUP, BUTTON_NONE },
85 { ACTION_SETTINGS_INC, BUTTON_VOLUP, BUTTON_NONE }, 80 { ACTION_SETTINGS_INCREPEAT,BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
86 { ACTION_SETTINGS_INCREPEAT,BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 81 { ACTION_SETTINGS_DEC, BUTTON_VOLDOWN, BUTTON_NONE },
87 82 { ACTION_SETTINGS_DECREPEAT,BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
88 { ACTION_SETTINGS_DEC, BUTTON_VOLDOWN, BUTTON_NONE },
89 { ACTION_SETTINGS_DECREPEAT,BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
90
91 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, 83 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE },
92 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 84 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
93
94 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, 85 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
95 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 86 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
96 87
@@ -99,19 +90,18 @@ static const struct button_mapping button_context_settings[] = {
99 90
100static const struct button_mapping button_context_list[] = { 91static const struct button_mapping button_context_list[] = {
101#ifdef HAVE_VOLUME_IN_LIST 92#ifdef HAVE_VOLUME_IN_LIST
102 { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 93 { ACTION_LIST_VOLUP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
103 { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, 94 { ACTION_LIST_VOLUP, BUTTON_VOLUP, BUTTON_NONE },
104 95 { ACTION_LIST_VOLDOWN, BUTTON_VOLDOWN, BUTTON_NONE },
105 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, 96 { ACTION_LIST_VOLDOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
106 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
107#endif 97#endif
108 98
109 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 99 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
110}; /* button_context_list */ 100}; /* button_context_list */
111 101
112static const struct button_mapping button_context_tree[] = { 102static const struct button_mapping button_context_tree[] = {
113 // { ACTION_TREE_WPS, BUTTON_REC|BUTTON_VOLUP, BUTTON_REC }, 103 { ACTION_TREE_WPS, BUTTON_UP|BUTTON_REL, BUTTON_UP },
114 // { ACTION_TREE_STOP, BUTTON_REC|BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_REC|BUTTON_VOLUP }, 104 { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
115 105
116 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), 106 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST),
117}; /* button_context_tree */ 107}; /* button_context_tree */
@@ -122,7 +112,6 @@ static const struct button_mapping button_context_listtree_scroll_without_combo[
122 { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, 112 { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
123 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 113 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
124 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, 114 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
125
126 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 115 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE },
127 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 116 { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
128 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 117 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
@@ -150,18 +139,13 @@ static const struct button_mapping button_context_yesno[] = {
150}; /* button_context_settings_yesno */ 139}; /* button_context_settings_yesno */
151 140
152static const struct button_mapping button_context_quickscreen[] = { 141static const struct button_mapping button_context_quickscreen[] = {
153 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 142 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
154 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, 143 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
155 144 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
156 { ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE }, 145 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
157 { ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 146 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
158
159 { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_NONE },
160 { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
161
162 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 147 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
163 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 148 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
164
165 { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, 149 { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE },
166 { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 150 { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
167 151
@@ -171,66 +155,42 @@ static const struct button_mapping button_context_quickscreen[] = {
171static const struct button_mapping button_context_settings_right_is_inc[] = { 155static const struct button_mapping button_context_settings_right_is_inc[] = {
172 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, 156 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE },
173 { ACTION_SETTINGS_INCREPEAT,BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 157 { ACTION_SETTINGS_INCREPEAT,BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
174
175 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, 158 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE },
176 { ACTION_SETTINGS_DECREPEAT,BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 159 { ACTION_SETTINGS_DECREPEAT,BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
177 160 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
178 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE },
179 161
180 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), 162 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
181}; /* button_context_settings_right_is_inc */ 163}; /* button_context_settings_right_is_inc */
182 164
183static const struct button_mapping button_context_pitchscreen[] = { 165static const struct button_mapping button_context_pitchscreen[] = {
184 { ACTION_PS_INC_SMALL, BUTTON_VOLUP, BUTTON_NONE }, 166 { ACTION_PS_INC_SMALL, BUTTON_VOLUP, BUTTON_NONE },
185 { ACTION_PS_INC_BIG, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 167 { ACTION_PS_INC_BIG, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
186 168 { ACTION_PS_DEC_SMALL, BUTTON_VOLDOWN, BUTTON_NONE },
187 { ACTION_PS_DEC_SMALL, BUTTON_VOLDOWN, BUTTON_NONE }, 169 { ACTION_PS_DEC_BIG, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
188 { ACTION_PS_DEC_BIG, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
189
190 { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE }, 170 { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE },
191 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 171 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
192
193 { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 172 { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
194 { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, 173 { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE },
195
196 { ACTION_PS_RESET, BUTTON_SELECT, BUTTON_NONE }, 174 { ACTION_PS_RESET, BUTTON_SELECT, BUTTON_NONE },
197 { ACTION_PS_EXIT, BUTTON_MENU, BUTTON_NONE }, 175 { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE },
198 176
199 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), 177 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
200}; /* button_context_pitchscreen */ 178}; /* button_context_pitchscreen */
201 179
202/** Recording Screen **/
203#ifdef HAVE_RECORDING
204static const struct button_mapping button_context_recscreen[] = {
205 { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
206 { ACTION_REC_PAUSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT },
207 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE },
208 { ACTION_REC_NEWFILE, BUTTON_REC|BUTTON_REL, BUTTON_REC },
209
210 { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE },
211 { ACTION_SETTINGS_INCREPEAT,BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
212 { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE },
213 { ACTION_SETTINGS_DECREPEAT,BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
214
215 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
216}; /* button_context_recscreen */
217#endif
218
219/** FM Radio Screen **/ 180/** FM Radio Screen **/
220#if CONFIG_TUNER 181#if CONFIG_TUNER
221static const struct button_mapping button_context_radio[] = { 182static const struct button_mapping button_context_radio[] = {
222 { ACTION_NONE, BUTTON_VOLUP, BUTTON_NONE }, 183 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE },
223 { ACTION_FM_MENU, BUTTON_VOLDOWN, BUTTON_NONE }, 184 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
224 { ACTION_FM_PRESET, BUTTON_SELECT, BUTTON_NONE }, 185 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
225 { ACTION_FM_STOP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_VOLUP }, 186 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
226 { ACTION_FM_MODE, BUTTON_REC, BUTTON_NONE }, 187 { ACTION_FM_MENU, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE },
227 { ACTION_FM_EXIT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 188 { ACTION_FM_PRESET, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
228 { ACTION_FM_PLAY, BUTTON_VOLUP|BUTTON_REL, BUTTON_VOLUP }, 189 { ACTION_FM_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
229 { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, 190 { ACTION_FM_MODE, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP },
230 { ACTION_SETTINGS_INCREPEAT,BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 191 { ACTION_FM_EXIT, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
231 { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, 192 { ACTION_FM_PLAY, BUTTON_UP|BUTTON_REL, BUTTON_UP },
232 { ACTION_SETTINGS_DECREPEAT,BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 193
233
234 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) 194 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS)
235}; /* button_context_radio */ 195}; /* button_context_radio */
236#endif 196#endif
@@ -246,19 +206,18 @@ static const struct button_mapping button_context_keyboard[] = {
246// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE }, 206// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE },
247// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE }, 207// { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
248 208
249 { ACTION_KBD_UP, BUTTON_VOLUP, BUTTON_NONE }, 209 { ACTION_KBD_UP, BUTTON_VOLUP, BUTTON_NONE },
250 { ACTION_KBD_UP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 210 { ACTION_KBD_UP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
251 { ACTION_KBD_DOWN, BUTTON_VOLDOWN, BUTTON_NONE }, 211 { ACTION_KBD_DOWN, BUTTON_VOLDOWN, BUTTON_NONE },
252 { ACTION_KBD_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 212 { ACTION_KBD_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
253 213
254// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN, BUTTON_NONE }, 214// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN, BUTTON_NONE },
255// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN|BUTTON_REPEAT,BUTTON_NONE }, 215// { ACTION_KBD_BACKSPACE, BUTTON_REC|BUTTON_VOLDOWN|BUTTON_REPEAT,BUTTON_NONE },
256
257// { ACTION_KBD_PAGE_FLIP, BUTTON_REC|BUTTON_SELECT, BUTTON_REC }, 216// { ACTION_KBD_PAGE_FLIP, BUTTON_REC|BUTTON_SELECT, BUTTON_REC },
258 217
259 { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE }, 218 { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE },
260 { ACTION_KBD_DONE, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, 219 { ACTION_KBD_DONE, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
261 { ACTION_KBD_ABORT, BUTTON_MENU, BUTTON_NONE }, 220 { ACTION_KBD_ABORT, BUTTON_POWER, BUTTON_NONE },
262 221
263 LAST_ITEM_IN_LIST 222 LAST_ITEM_IN_LIST
264}; /* button_context_keyboard */ 223}; /* button_context_keyboard */
@@ -271,12 +230,12 @@ static const struct button_mapping button_context_bmark[] = {
271 230
272#ifdef HAVE_USBSTACK 231#ifdef HAVE_USBSTACK
273static const struct button_mapping button_context_usb_hid[] = { 232static const struct button_mapping button_context_usb_hid[] = {
274 { ACTION_USB_HID_PLAY, BUTTON_VOLUP, BUTTON_NONE }, 233 { ACTION_USB_HID_PLAY, BUTTON_UP, BUTTON_NONE },
275 { ACTION_USB_HID_STOP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 234 { ACTION_USB_HID_STOP, BUTTON_POWER, BUTTON_NONE },
276 { ACTION_USB_HID_SKIPPREV, BUTTON_LEFT, BUTTON_NONE }, 235 { ACTION_USB_HID_SKIPPREV, BUTTON_LEFT, BUTTON_NONE },
277 { ACTION_USB_HID_SKIPNEXT, BUTTON_RIGHT, BUTTON_NONE }, 236 { ACTION_USB_HID_SKIPNEXT, BUTTON_RIGHT, BUTTON_NONE },
278 { ACTION_USB_HID_MUTE, BUTTON_VOLDOWN, BUTTON_NONE }, 237 { ACTION_USB_HID_MUTE, BUTTON_VOLDOWN, BUTTON_NONE },
279 { ACTION_USB_HID_MENU, BUTTON_MENU, BUTTON_NONE }, 238 { ACTION_USB_HID_MENU, BUTTON_DOWN, BUTTON_NONE },
280 239
281 LAST_ITEM_IN_LIST 240 LAST_ITEM_IN_LIST
282}; /* button_context_usb_hid */ 241}; /* button_context_usb_hid */
diff --git a/firmware/target/arm/tcc77x/c100/button-c100.c b/firmware/target/arm/tcc77x/c100/button-c100.c
index c3d04f7016..ebf92f780c 100644
--- a/firmware/target/arm/tcc77x/c100/button-c100.c
+++ b/firmware/target/arm/tcc77x/c100/button-c100.c
@@ -31,30 +31,31 @@ void button_init_device(void)
31int button_read_device(void) 31int button_read_device(void)
32{ 32{
33 int btn = BUTTON_NONE; 33 int btn = BUTTON_NONE;
34 34
35 if (!button_hold()){ 35 if (!button_hold())
36 {
36 GPIOA |= 0x4; 37 GPIOA |= 0x4;
37 GPIOA &= ~0x8; 38 GPIOA &= ~0x8;
38 39
39 int i=20; while (i--); 40 int i=20; while (i--);
40 41
41 if (GPIOA & 0x10) btn |= BUTTON_PLAYPAUSE; /* up */ 42 if (GPIOA & 0x10) btn |= BUTTON_UP;
42 if (GPIOA & 0x20) btn |= BUTTON_RIGHT; 43 if (GPIOA & 0x20) btn |= BUTTON_RIGHT;
43 if (GPIOA & 0x40) btn |= BUTTON_LEFT; 44 if (GPIOA & 0x40) btn |= BUTTON_LEFT;
44 45
45 GPIOA |= 0x8; 46 GPIOA |= 0x8;
46 GPIOA &= ~0x4; 47 GPIOA &= ~0x4;
47 48
48 i=20; while (i--); 49 i=20; while (i--);
49 50
50 if (GPIOA & 0x10) btn |= BUTTON_VOLUP; 51 if (GPIOA & 0x10) btn |= BUTTON_VOLUP;
51 if (GPIOA & 0x20) btn |= BUTTON_VOLDOWN; 52 if (GPIOA & 0x20) btn |= BUTTON_VOLDOWN;
52 if (GPIOA & 0x40) btn |= BUTTON_REPEATAB; /* down */ 53 if (GPIOA & 0x40) btn |= BUTTON_DOWN;
53 54
54 if (GPIOA & 0x80) btn |= BUTTON_SELECT; 55 if (GPIOA & 0x80) btn |= BUTTON_SELECT;
55 if (GPIOA & 0x100) btn |= BUTTON_MENU; 56 if (GPIOA & 0x100) btn |= BUTTON_POWER;
56 } 57 }
57 return btn; 58 return btn;
58} 59}
59 60
60bool button_hold(void) 61bool button_hold(void)
diff --git a/firmware/target/arm/tcc77x/c100/button-target.h b/firmware/target/arm/tcc77x/c100/button-target.h
index acf80b2ed7..73c04b6ed6 100644
--- a/firmware/target/arm/tcc77x/c100/button-target.h
+++ b/firmware/target/arm/tcc77x/c100/button-target.h
@@ -32,23 +32,23 @@ int button_read_device(void);
32bool button_hold(void); 32bool button_hold(void);
33 33
34/* Main unit's buttons */ 34/* Main unit's buttons */
35#define BUTTON_MENU 0x00000001 35#define BUTTON_POWER 0x00000001
36#define BUTTON_VOLUP 0x00000002 36#define BUTTON_VOLUP 0x00000002
37#define BUTTON_VOLDOWN 0x00000004 37#define BUTTON_VOLDOWN 0x00000004
38#define BUTTON_PLAYPAUSE 0x00000008 38#define BUTTON_UP 0x00000008
39#define BUTTON_REPEATAB 0x00000010 39#define BUTTON_DOWN 0x00000010
40#define BUTTON_LEFT 0x00000020 40#define BUTTON_LEFT 0x00000020
41#define BUTTON_RIGHT 0x00000040 41#define BUTTON_RIGHT 0x00000040
42#define BUTTON_SELECT 0x00000080 42#define BUTTON_SELECT 0x00000080
43 43
44#define BUTTON_MAIN (BUTTON_MENU|BUTTON_VOLUP|BUTTON_VOLDOWN\ 44#define BUTTON_MAIN (BUTTON_POWER|BUTTON_VOLUP|BUTTON_VOLDOWN\
45 |BUTTON_PLAYPAUSE|BUTTON_REPEATAB|BUTTON_LEFT\ 45 |BUTTON_UP|BUTTON_DOWN|BUTTON_LEFT\
46 |BUTTON_RIGHT|BUTTON_SELECT) 46 |BUTTON_RIGHT|BUTTON_SELECT)
47 47
48#define BUTTON_REMOTE 0 48#define BUTTON_REMOTE 0
49 49
50/* Software power-off */ 50/* Software power-off */
51#define POWEROFF_BUTTON BUTTON_MENU 51#define POWEROFF_BUTTON BUTTON_POWER
52#define POWEROFF_COUNT 40 52#define POWEROFF_COUNT 40
53 53
54#endif /* _BUTTON_TARGET_H_ */ 54#endif /* _BUTTON_TARGET_H_ */