summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Dziok <b0hoon@o2.pl>2010-10-18 19:30:54 +0000
committerSzymon Dziok <b0hoon@o2.pl>2010-10-18 19:30:54 +0000
commit057806f67a6a8f79a003fd15db06937999a3edc5 (patch)
treef3e4fef8d284b9c603e63896deebaa66509c89f3
parentdc521b5d48e11fbccbea07b450e21f63c28066ef (diff)
downloadrockbox-057806f67a6a8f79a003fd15db06937999a3edc5.tar.gz
rockbox-057806f67a6a8f79a003fd15db06937999a3edc5.zip
HDD6330: Try to adapt the keys for the new touchpad code, remove the non existing buttons, enable morse input.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28306 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/debug_menu.c6
-rw-r--r--apps/keymaps/keymap-hdd6330.c253
-rw-r--r--apps/recorder/keyboard.c1
-rw-r--r--firmware/export/usb.h2
-rw-r--r--firmware/target/arm/philips/hdd6330/button-target.h6
5 files changed, 117 insertions, 151 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index 94076bf64d..2497b17826 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -994,10 +994,12 @@ static bool dbg_spdif(void)
994 994
995/* This is temporary until the SA9200 touchpad works */ 995/* This is temporary until the SA9200 touchpad works */
996#elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) || \ 996#elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) || \
997 (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) || \ 997 (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD)
998 (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD)
999# define DEBUG_CANCEL BUTTON_POWER 998# define DEBUG_CANCEL BUTTON_POWER
1000 999
1000#elif (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD)
1001# define DEBUG_CANCEL BUTTON_PREV
1002
1001#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) 1003#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD)
1002# define DEBUG_CANCEL BUTTON_PLAY 1004# define DEBUG_CANCEL BUTTON_PLAY
1003 1005
diff --git a/apps/keymaps/keymap-hdd6330.c b/apps/keymaps/keymap-hdd6330.c
index 808b1cad72..950ebaef72 100644
--- a/apps/keymaps/keymap-hdd6330.c
+++ b/apps/keymaps/keymap-hdd6330.c
@@ -19,7 +19,7 @@
19 * 19 *
20 ****************************************************************************/ 20 ****************************************************************************/
21 21
22/* Button Code Definitions for the toshiba gigabeat target */ 22/* Button Code Definitions for the Philips Gogear HDD63x0 target */
23#include <stdio.h> 23#include <stdio.h>
24#include <string.h> 24#include <string.h>
25#include <stdlib.h> 25#include <stdlib.h>
@@ -45,104 +45,83 @@ CONTEXT_CUSTOM|CONTEXT_SETTINGS = the direction keys for the eq/col picker scree
45 45
46*/ 46*/
47 47
48
49static const struct button_mapping button_context_standard[] = { 48static const struct button_mapping button_context_standard[] = {
50 { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, 49 { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE },
51 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 50 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
52 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, 51 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE },
53 { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 52 { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
54 53 { ACTION_STD_CANCEL, BUTTON_PREV, BUTTON_NONE },
55 { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, 54 { ACTION_STD_OK, BUTTON_NEXT, BUTTON_NONE },
56 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
57
58 { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_SELECT },
59
60 { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
61 { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 55 { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
62 56 { ACTION_STD_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
63 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 57 { ACTION_STD_QUICKSCREEN, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW },
64 { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE },
65 58
66 LAST_ITEM_IN_LIST 59 LAST_ITEM_IN_LIST
67}; /* button_context_standard */ 60}; /* button_context_standard */
68 61
69
70static const struct button_mapping button_context_wps[] = { 62static const struct button_mapping button_context_wps[] = {
71 { ACTION_WPS_PLAY, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, 63 { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
72 { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, 64 { ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
73 65 { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT },
74 { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 66 { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
75 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 67 { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
76 68 { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
77 { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 69 { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT },
78 { ACTION_WPS_SEEKFWD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 70 { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT },
79 { ACTION_WPS_STOPSEEK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
80 { ACTION_WPS_STOPSEEK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT },
81
82 { ACTION_WPS_ABSETB_NEXTDIR, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_NONE },
83 { ACTION_WPS_ABSETA_PREVDIR, BUTTON_VIEW|BUTTON_LEFT, BUTTON_NONE },
84 { ACTION_WPS_ABRESET, BUTTON_VIEW|BUTTON_SELECT, BUTTON_NONE },
85
86 { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 71 { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
87 { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, 72 { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE },
88 { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, 73 { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
89 { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 74 { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
90 { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 75 { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
91 { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, 76 { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE },
92 { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 77 { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
93 { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, 78 { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE },
94
95 { ACTION_WPS_PITCHSCREEN, BUTTON_VIEW|BUTTON_UP, BUTTON_VIEW },
96 { ACTION_WPS_VIEW_PLAYLIST, BUTTON_VIEW|BUTTON_DOWN, BUTTON_VIEW },
97
98 { ACTION_WPS_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
99 { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 79 { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
100 { ACTION_WPS_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, 80 { ACTION_WPS_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
101 81 { ACTION_WPS_HOTKEY, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW },
102 { ACTION_WPS_HOTKEY, BUTTON_VIEW|BUTTON_MENU, BUTTON_NONE }, 82 { ACTION_WPS_QUICKSCREEN, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW },
103 { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 83 { ACTION_WPS_VIEW_PLAYLIST, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT},
84 { ACTION_WPS_BROWSE, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
104 85
105 LAST_ITEM_IN_LIST 86 LAST_ITEM_IN_LIST
106}; /* button_context_wps */ 87}; /* button_context_wps */
107 88
108static const struct button_mapping button_context_list[] = { 89static const struct button_mapping button_context_list[] = {
109 { ACTION_LISTTREE_PGUP, BUTTON_VIEW|BUTTON_UP, BUTTON_VIEW }, 90 { ACTION_LISTTREE_PGUP, BUTTON_VIEW|BUTTON_UP, BUTTON_VIEW },
110 { ACTION_LISTTREE_PGUP, BUTTON_UP|BUTTON_REL, BUTTON_VIEW|BUTTON_UP }, 91 { ACTION_LISTTREE_PGUP, BUTTON_UP|BUTTON_REL, BUTTON_VIEW|BUTTON_UP },
111 { ACTION_LISTTREE_PGUP, BUTTON_VIEW|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 92 { ACTION_LISTTREE_PGUP, BUTTON_VIEW|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
112 { ACTION_LISTTREE_PGDOWN, BUTTON_VIEW|BUTTON_DOWN, BUTTON_VIEW }, 93 { ACTION_LISTTREE_PGDOWN, BUTTON_VIEW|BUTTON_DOWN, BUTTON_VIEW },
113 { ACTION_LISTTREE_PGDOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_VIEW|BUTTON_DOWN }, 94 { ACTION_LISTTREE_PGDOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_VIEW|BUTTON_DOWN },
114 { ACTION_LISTTREE_PGDOWN, BUTTON_VIEW|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 95 { ACTION_LISTTREE_PGDOWN, BUTTON_VIEW|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
115#ifdef HAVE_VOLUME_IN_LIST 96#ifdef HAVE_VOLUME_IN_LIST
116 { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 97 { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
117 { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, 98 { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE },
118 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, 99 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
119 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 100 { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
120#endif 101#endif
121 102
122 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 103 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
123}; /* button_context_list */ 104}; /* button_context_list */
124 105
125static const struct button_mapping button_context_tree[] = { 106static const struct button_mapping button_context_tree[] = {
126 { ACTION_TREE_WPS, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, 107 { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
127 { ACTION_TREE_STOP, BUTTON_POWER, BUTTON_NONE }, 108 { ACTION_TREE_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
128 { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, 109 { ACTION_TREE_HOTKEY, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW },
129 { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE },
130 { ACTION_TREE_HOTKEY, BUTTON_VIEW|BUTTON_MENU, BUTTON_NONE },
131 110
132 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) 111 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST)
133}; /* button_context_tree */ 112}; /* button_context_tree */
134 113
135static const struct button_mapping button_context_listtree_scroll_with_combo[] = { 114static const struct button_mapping button_context_listtree_scroll_with_combo[] = {
136 { ACTION_NONE, BUTTON_VIEW, BUTTON_NONE }, 115 { ACTION_NONE, BUTTON_VIEW, BUTTON_NONE },
137 { ACTION_TREE_PGLEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_VIEW }, 116 { ACTION_TREE_PGLEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_VIEW },
138 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_VIEW|BUTTON_LEFT }, 117 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_VIEW|BUTTON_LEFT },
139 { ACTION_TREE_PGLEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL }, 118 { ACTION_TREE_PGLEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL },
140 { ACTION_TREE_ROOT_INIT, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_VIEW|BUTTON_LEFT }, 119 { ACTION_TREE_ROOT_INIT, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_VIEW|BUTTON_LEFT },
141 { ACTION_TREE_PGLEFT, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 120 { ACTION_TREE_PGLEFT, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
142 { ACTION_TREE_PGRIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_VIEW }, 121 { ACTION_TREE_PGRIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_VIEW },
143 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_VIEW|BUTTON_RIGHT }, 122 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_VIEW|BUTTON_RIGHT },
144 { ACTION_TREE_PGRIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_RIGHT|BUTTON_REL }, 123 { ACTION_TREE_PGRIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_RIGHT|BUTTON_REL },
145 { ACTION_TREE_PGRIGHT, BUTTON_VIEW|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 124 { ACTION_TREE_PGRIGHT, BUTTON_VIEW|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
146 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), 125 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
147}; 126};
148 127
@@ -168,7 +147,7 @@ static const struct button_mapping button_context_settings[] = {
168 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 147 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
169 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, 148 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
170 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 149 { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
171 { ACTION_SETTINGS_RESET, BUTTON_VIEW, BUTTON_NONE }, 150 { ACTION_SETTINGS_RESET, BUTTON_VIEW, BUTTON_NONE },
172 151
173 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 152 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
174}; /* button_context_settings */ 153}; /* button_context_settings */
@@ -182,23 +161,23 @@ static const struct button_mapping button_context_settings_right_is_inc[] = {
182 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 161 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
183 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, 162 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE },
184 { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 163 { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
185 { ACTION_SETTINGS_RESET, BUTTON_VIEW, BUTTON_NONE }, 164 { ACTION_SETTINGS_RESET, BUTTON_VIEW, BUTTON_NONE },
186 165
187 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 166 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
188}; /* button_context_settingsgraphical */ 167}; /* button_context_settingsgraphical */
189 168
190static const struct button_mapping button_context_yesno[] = { 169static const struct button_mapping button_context_yesno[] = {
191 { ACTION_YESNO_ACCEPT, BUTTON_SELECT, BUTTON_NONE }, 170 { ACTION_YESNO_ACCEPT, BUTTON_NEXT, BUTTON_NONE },
192 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 171 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
193}; /* button_context_settings_yesno */ 172}; /* button_context_settings_yesno */
194 173
195static const struct button_mapping button_context_colorchooser[] = { 174static const struct button_mapping button_context_colorchooser[] = {
196 { ACTION_STD_OK, BUTTON_VIEW|BUTTON_REL, BUTTON_NONE }, 175 { ACTION_STD_OK, BUTTON_NEXT|BUTTON_REL, BUTTON_NONE },
197 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), 176 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS),
198}; /* button_context_colorchooser */ 177}; /* button_context_colorchooser */
199 178
200static const struct button_mapping button_context_eq[] = { 179static const struct button_mapping button_context_eq[] = {
201 { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, 180 { ACTION_STD_OK, BUTTON_NEXT|BUTTON_REL, BUTTON_NONE },
202 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), 181 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS),
203}; /* button_context_eq */ 182}; /* button_context_eq */
204 183
@@ -210,8 +189,8 @@ static const struct button_mapping button_context_bmark[] = {
210}; /* button_context_bmark */ 189}; /* button_context_bmark */
211 190
212static const struct button_mapping button_context_time[] = { 191static const struct button_mapping button_context_time[] = {
213 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, 192 { ACTION_STD_CANCEL, BUTTON_PREV, BUTTON_NONE },
214 { ACTION_STD_OK, BUTTON_VIEW, BUTTON_NONE }, 193 { ACTION_STD_OK, BUTTON_NEXT, BUTTON_NONE },
215 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), 194 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS),
216}; /* button_context_time */ 195}; /* button_context_time */
217 196
@@ -224,7 +203,7 @@ static const struct button_mapping button_context_quickscreen[] = {
224 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 203 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
225 { ACTION_QS_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 204 { ACTION_QS_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
226 { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 205 { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
227 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, 206 { ACTION_STD_CANCEL, BUTTON_VIEW, BUTTON_NONE },
228 207
229 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 208 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
230}; /* button_context_quickscreen */ 209}; /* button_context_quickscreen */
@@ -238,9 +217,9 @@ static const struct button_mapping button_context_pitchscreen[] = {
238 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 217 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
239 { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 218 { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
240 { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, 219 { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE },
241 { ACTION_PS_TOGGLE_MODE, BUTTON_MENU, BUTTON_NONE }, 220 { ACTION_PS_TOGGLE_MODE, BUTTON_PLAY, BUTTON_NONE },
242 { ACTION_PS_RESET, BUTTON_VIEW, BUTTON_NONE }, 221 { ACTION_PS_RESET, BUTTON_VIEW, BUTTON_NONE },
243 { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, 222 { ACTION_PS_EXIT, BUTTON_PREV, BUTTON_NONE },
244 { ACTION_PS_SLOWER, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 223 { ACTION_PS_SLOWER, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
245 { ACTION_PS_FASTER, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 224 { ACTION_PS_FASTER, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
246 225
@@ -248,26 +227,25 @@ static const struct button_mapping button_context_pitchscreen[] = {
248}; /* button_context_pitchcreen */ 227}; /* button_context_pitchcreen */
249 228
250static const struct button_mapping button_context_keyboard[] = { 229static const struct button_mapping button_context_keyboard[] = {
251 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, 230 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE },
252 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 231 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
253 { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 232 { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
254 { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 233 { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
255 { ACTION_KBD_CURSOR_LEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_NONE }, 234 { ACTION_KBD_CURSOR_LEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_NONE },
256 { ACTION_KBD_CURSOR_LEFT, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 235 { ACTION_KBD_CURSOR_LEFT, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
257 { ACTION_KBD_CURSOR_RIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_NONE }, 236 { ACTION_KBD_CURSOR_RIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_NONE },
258 { ACTION_KBD_CURSOR_RIGHT, BUTTON_VIEW|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 237 { ACTION_KBD_CURSOR_RIGHT, BUTTON_VIEW|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
259 { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE }, 238 { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE },
260 { ACTION_KBD_PAGE_FLIP, BUTTON_VIEW|BUTTON_MENU, BUTTON_NONE }, 239 { ACTION_KBD_PAGE_FLIP, BUTTON_VIEW|BUTTON_MENU, BUTTON_NONE },
261 { ACTION_KBD_DONE, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, 240 { ACTION_KBD_DONE, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT },
262 { ACTION_KBD_ABORT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, 241 { ACTION_KBD_ABORT, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
263 { ACTION_KBD_BACKSPACE, BUTTON_MENU, BUTTON_NONE }, 242 { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
264 { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, 243 { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE },
265 { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, 244 { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
266 { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 245 { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE },
267 { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, 246 { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
268 { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 247 { ACTION_KBD_MORSE_INPUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
269 { ACTION_KBD_MORSE_INPUT, BUTTON_VIEW|BUTTON_POWER, BUTTON_NONE }, 248 { ACTION_KBD_MORSE_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE },
270 { ACTION_KBD_MORSE_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
271 249
272 LAST_ITEM_IN_LIST 250 LAST_ITEM_IN_LIST
273}; /* button_context_keyboard */ 251}; /* button_context_keyboard */
@@ -277,8 +255,8 @@ static const struct button_mapping button_context_radio[] = {
277 { ACTION_FM_MENU, BUTTON_MENU | BUTTON_REL, BUTTON_MENU }, 255 { ACTION_FM_MENU, BUTTON_MENU | BUTTON_REL, BUTTON_MENU },
278 { ACTION_FM_MODE, BUTTON_MENU | BUTTON_REPEAT, BUTTON_MENU }, 256 { ACTION_FM_MODE, BUTTON_MENU | BUTTON_REPEAT, BUTTON_MENU },
279 { ACTION_FM_PRESET, BUTTON_VIEW, BUTTON_NONE }, 257 { ACTION_FM_PRESET, BUTTON_VIEW, BUTTON_NONE },
280 { ACTION_FM_PLAY, BUTTON_SELECT | BUTTON_REL, BUTTON_SELECT }, 258 { ACTION_FM_PLAY, BUTTON_PLAY | BUTTON_REL, BUTTON_PLAY },
281 { ACTION_FM_STOP, BUTTON_SELECT | BUTTON_REPEAT, BUTTON_SELECT }, 259 { ACTION_FM_STOP, BUTTON_PLAY | BUTTON_REPEAT, BUTTON_PLAY },
282 { ACTION_FM_EXIT, BUTTON_POWER, BUTTON_NONE }, 260 { ACTION_FM_EXIT, BUTTON_POWER, BUTTON_NONE },
283 261
284 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) 262 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS)
@@ -287,8 +265,10 @@ static const struct button_mapping button_context_radio[] = {
287 265
288#ifdef USB_ENABLE_HID 266#ifdef USB_ENABLE_HID
289static const struct button_mapping button_context_usb_hid[] = { 267static const struct button_mapping button_context_usb_hid[] = {
290 { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, 268 { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_PLAY|BUTTON_NEXT|BUTTON_REL, BUTTON_PLAY|BUTTON_NEXT },
291 { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, 269 { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_PLAY|BUTTON_NEXT|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_NEXT },
270 { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_PLAY|BUTTON_PREV|BUTTON_REL, BUTTON_PLAY|BUTTON_NEXT },
271 { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_PLAY|BUTTON_PREV|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_NEXT },
292 272
293 LAST_ITEM_IN_LIST 273 LAST_ITEM_IN_LIST
294}; /* button_context_usb_hid */ 274}; /* button_context_usb_hid */
@@ -299,26 +279,23 @@ static const struct button_mapping button_context_usb_hid_mode_multimedia[] = {
299 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, 279 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE },
300 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 280 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
301 { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 281 { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
302 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 282 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
303 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, 283 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
304 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAYLIST|BUTTON_REL, BUTTON_PLAYLIST },
305 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 284 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
306 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 285 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT},
307 286
308 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) 287 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
309}; /* button_context_usb_hid_mode_multimedia */ 288}; /* button_context_usb_hid_mode_multimedia */
310 289
311static const struct button_mapping button_context_usb_hid_mode_presentation[] = { 290static const struct button_mapping button_context_usb_hid_mode_presentation[] = {
312 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 291 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
313 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, 292 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
314 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT },
315 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW },
316 { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 293 { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
317 { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 294 { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
318 { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, 295 { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
319 { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, 296 { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT },
320 { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_PLAYLIST|BUTTON_REL, BUTTON_PLAYLIST }, 297 { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW },
321 { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_PLAYLIST|BUTTON_REPEAT, BUTTON_PLAYLIST }, 298 { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW },
322 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP }, 299 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP },
323 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_UP }, 300 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_UP },
324 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_VOL_DOWN }, 301 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_VOL_DOWN },
@@ -341,7 +318,7 @@ static const struct button_mapping button_context_usb_hid_mode_browser[] = {
341 { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, 318 { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
342 { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 319 { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
343 { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 320 { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
344 { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_PLAYLIST|BUTTON_REPEAT, BUTTON_PLAYLIST }, 321 { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
345 { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, 322 { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
346 { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, 323 { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT },
347 { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, 324 { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW },
@@ -351,48 +328,38 @@ static const struct button_mapping button_context_usb_hid_mode_browser[] = {
351 328
352#ifdef HAVE_USB_HID_MOUSE 329#ifdef HAVE_USB_HID_MOUSE
353static const struct button_mapping button_context_usb_hid_mode_mouse[] = { 330static const struct button_mapping button_context_usb_hid_mode_mouse[] = {
354 { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, 331 { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE },
355 { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 332 { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
356 { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, 333 { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE },
357 { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 334 { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
358 { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE }, 335 { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE },
359 { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 336 { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
360 { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 337 { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
361 { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 338 { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
362 { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_SELECT, BUTTON_NONE }, 339 { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_PREV, BUTTON_NONE },
363 { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, 340 { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_PREV|BUTTON_REL, BUTTON_NONE },
364 { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_SELECT|BUTTON_UP, BUTTON_NONE }, 341 { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_NEXT, BUTTON_NONE },
365 { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_SELECT|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 342 { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_NEXT|BUTTON_REL, BUTTON_NONE },
366 { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_SELECT|BUTTON_DOWN, BUTTON_NONE }, 343 { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_MENU|BUTTON_UP, BUTTON_NONE },
367 { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_SELECT|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 344 { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_MENU|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
368 { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_SELECT|BUTTON_LEFT, BUTTON_NONE }, 345 { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_MENU|BUTTON_DOWN, BUTTON_NONE },
369 { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 346 { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_MENU|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
370 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_SELECT|BUTTON_RIGHT, BUTTON_NONE }, 347 { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_MENU|BUTTON_LEFT, BUTTON_NONE },
371 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 348 { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_MENU|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
372 { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_PLAYLIST, BUTTON_NONE }, 349 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_MENU|BUTTON_RIGHT, BUTTON_NONE },
373 { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_PLAYLIST|BUTTON_REL, BUTTON_NONE }, 350 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
374 { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_PLAYLIST|BUTTON_UP, BUTTON_NONE }, 351 { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_VIEW|BUTTON_UP, BUTTON_NONE },
375 { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_PLAYLIST|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 352 { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_VIEW|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
376 { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_PLAYLIST|BUTTON_DOWN, BUTTON_NONE }, 353 { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_VIEW|BUTTON_DOWN, BUTTON_NONE },
377 { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_PLAYLIST|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 354 { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_VIEW|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
378 { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_PLAYLIST|BUTTON_LEFT, BUTTON_NONE }, 355 { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_NONE },
379 { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_PLAYLIST|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 356 { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
380 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_PLAYLIST|BUTTON_RIGHT, BUTTON_NONE }, 357 { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_NONE },
381 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_PLAYLIST|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 358 { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_VIEW|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
382 { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_VIEW, BUTTON_NONE }, 359 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE },
383 { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_VIEW|BUTTON_REL, BUTTON_NONE }, 360 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
384 { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_VIEW|BUTTON_UP, BUTTON_NONE }, 361 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
385 { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_VIEW|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 362 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
386 { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_VIEW|BUTTON_DOWN, BUTTON_NONE },
387 { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_VIEW|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
388 { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_NONE },
389 { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
390 { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_NONE },
391 { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_VIEW|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
392 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE },
393 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
394 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
395 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
396 363
397 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) 364 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
398 365
diff --git a/apps/recorder/keyboard.c b/apps/recorder/keyboard.c
index f31d63546a..1b2d76eab2 100644
--- a/apps/recorder/keyboard.c
+++ b/apps/recorder/keyboard.c
@@ -64,6 +64,7 @@
64 || (CONFIG_KEYPAD == MROBE100_PAD) \ 64 || (CONFIG_KEYPAD == MROBE100_PAD) \
65 || (CONFIG_KEYPAD == SANSA_E200_PAD) \ 65 || (CONFIG_KEYPAD == SANSA_E200_PAD) \
66 || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \ 66 || (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) \
67 || (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) \
67 || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) \ 68 || (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) \
68 || (CONFIG_KEYPAD == PBELL_VIBE500_PAD) 69 || (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
69/* certain key combos toggle input mode between keyboard input and Morse input */ 70/* certain key combos toggle input mode between keyboard input and Morse input */
diff --git a/firmware/export/usb.h b/firmware/export/usb.h
index 55b5f2cffb..3e236bfb9f 100644
--- a/firmware/export/usb.h
+++ b/firmware/export/usb.h
@@ -90,7 +90,7 @@ enum {
90#define USBPOWER_BUTTON BUTTON_PLAYLIST 90#define USBPOWER_BUTTON BUTTON_PLAYLIST
91#define USBPOWER_BTN_IGNORE BUTTON_POWER 91#define USBPOWER_BTN_IGNORE BUTTON_POWER
92#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD 92#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
93#define USBPOWER_BUTTON BUTTON_SELECT 93#define USBPOWER_BUTTON BUTTON_LEFT
94#define USBPOWER_BTN_IGNORE BUTTON_POWER 94#define USBPOWER_BTN_IGNORE BUTTON_POWER
95#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD 95#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD
96#define USBPOWER_BUTTON BUTTON_RIGHT 96#define USBPOWER_BUTTON BUTTON_RIGHT
diff --git a/firmware/target/arm/philips/hdd6330/button-target.h b/firmware/target/arm/philips/hdd6330/button-target.h
index 07d8d9b0de..492a5014e5 100644
--- a/firmware/target/arm/philips/hdd6330/button-target.h
+++ b/firmware/target/arm/philips/hdd6330/button-target.h
@@ -53,11 +53,7 @@ void button_int(void);
53#define BUTTON_NEXT 0x00000200 53#define BUTTON_NEXT 0x00000200
54#define BUTTON_PREV 0x00000400 54#define BUTTON_PREV 0x00000400
55#define BUTTON_PLAY 0x00000800 55#define BUTTON_PLAY 0x00000800
56 56#define BUTTON_MAIN 0x00000fff
57#define BUTTON_SELECT 0x00001000
58#define BUTTON_PLAYLIST 0x00002000
59
60#define BUTTON_MAIN 0x00003fff
61 57
62/* No Remote control */ 58/* No Remote control */
63#define BUTTON_REMOTE 0 59#define BUTTON_REMOTE 0