diff options
-rw-r--r-- | apps/keymaps/keymap-hdd6330.c | 85 | ||||
-rw-r--r-- | firmware/drivers/synaptics-mep.c | 2 | ||||
-rw-r--r-- | firmware/target/arm/debug-target.h | 6 | ||||
-rw-r--r-- | firmware/target/arm/philips/hdd6330/button-hdd6330.c | 6 | ||||
-rw-r--r-- | firmware/target/arm/philips/hdd6330/button-target.h | 4 | ||||
-rw-r--r-- | uisimulator/buttonmap/gogear-hdd6330.c | 3 |
6 files changed, 69 insertions, 37 deletions
diff --git a/apps/keymaps/keymap-hdd6330.c b/apps/keymaps/keymap-hdd6330.c index fc4ad67822..3d5c967baa 100644 --- a/apps/keymaps/keymap-hdd6330.c +++ b/apps/keymaps/keymap-hdd6330.c | |||
@@ -50,8 +50,8 @@ static const struct button_mapping button_context_standard[] = { | |||
50 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 50 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
51 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | 51 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, |
52 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 52 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
53 | { ACTION_STD_CANCEL, BUTTON_PREV, BUTTON_NONE }, | 53 | { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, |
54 | { ACTION_STD_OK, BUTTON_NEXT, BUTTON_NONE }, | 54 | { ACTION_STD_OK, BUTTON_TAP, BUTTON_NONE }, |
55 | { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | 55 | { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, |
56 | { ACTION_STD_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | 56 | { ACTION_STD_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, |
57 | { ACTION_STD_QUICKSCREEN, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW }, | 57 | { ACTION_STD_QUICKSCREEN, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW }, |
@@ -62,26 +62,26 @@ static const struct button_mapping button_context_standard[] = { | |||
62 | static const struct button_mapping button_context_wps[] = { | 62 | static const struct button_mapping button_context_wps[] = { |
63 | { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | 63 | { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
64 | { ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | 64 | { ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, |
65 | { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
66 | { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, | 65 | { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, |
66 | { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
67 | { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, | 67 | { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, |
68 | { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, | 68 | { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, |
69 | { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT }, | 69 | { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT }, |
70 | { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, | 70 | { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, |
71 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
72 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, | 71 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, |
72 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
73 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | 73 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, |
74 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 74 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
75 | { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
76 | { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, | 75 | { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, |
77 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 76 | { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
78 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | 77 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, |
78 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
79 | { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | 79 | { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, |
80 | { ACTION_WPS_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | 80 | { ACTION_WPS_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, |
81 | { ACTION_WPS_HOTKEY, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, | 81 | { ACTION_WPS_HOTKEY, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, |
82 | { ACTION_WPS_QUICKSCREEN, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW }, | 82 | { ACTION_WPS_QUICKSCREEN, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW }, |
83 | { ACTION_WPS_VIEW_PLAYLIST, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT}, | ||
84 | { ACTION_WPS_BROWSE, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | 83 | { ACTION_WPS_BROWSE, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, |
84 | { ACTION_WPS_VIEW_PLAYLIST, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT}, | ||
85 | 85 | ||
86 | LAST_ITEM_IN_LIST | 86 | LAST_ITEM_IN_LIST |
87 | }; /* button_context_wps */ | 87 | }; /* button_context_wps */ |
@@ -159,17 +159,17 @@ static const struct button_mapping button_context_settings_right_is_inc[] = { | |||
159 | }; /* button_context_settingsgraphical */ | 159 | }; /* button_context_settingsgraphical */ |
160 | 160 | ||
161 | static const struct button_mapping button_context_yesno[] = { | 161 | static const struct button_mapping button_context_yesno[] = { |
162 | { ACTION_YESNO_ACCEPT, BUTTON_NEXT, BUTTON_NONE }, | 162 | { ACTION_YESNO_ACCEPT, BUTTON_TAP, BUTTON_NONE }, |
163 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 163 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
164 | }; /* button_context_settings_yesno */ | 164 | }; /* button_context_settings_yesno */ |
165 | 165 | ||
166 | static const struct button_mapping button_context_colorchooser[] = { | 166 | static const struct button_mapping button_context_colorchooser[] = { |
167 | { ACTION_STD_OK, BUTTON_NEXT|BUTTON_REL, BUTTON_NONE }, | 167 | { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, |
168 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), | 168 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), |
169 | }; /* button_context_colorchooser */ | 169 | }; /* button_context_colorchooser */ |
170 | 170 | ||
171 | static const struct button_mapping button_context_eq[] = { | 171 | static const struct button_mapping button_context_eq[] = { |
172 | { ACTION_STD_OK, BUTTON_NEXT|BUTTON_REL, BUTTON_NONE }, | 172 | { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, |
173 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), | 173 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), |
174 | }; /* button_context_eq */ | 174 | }; /* button_context_eq */ |
175 | 175 | ||
@@ -181,8 +181,8 @@ static const struct button_mapping button_context_bmark[] = { | |||
181 | }; /* button_context_bmark */ | 181 | }; /* button_context_bmark */ |
182 | 182 | ||
183 | static const struct button_mapping button_context_time[] = { | 183 | static const struct button_mapping button_context_time[] = { |
184 | { ACTION_STD_CANCEL, BUTTON_PREV, BUTTON_NONE }, | 184 | { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, |
185 | { ACTION_STD_OK, BUTTON_NEXT, BUTTON_NONE }, | 185 | { ACTION_STD_OK, BUTTON_TAP, BUTTON_NONE }, |
186 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), | 186 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), |
187 | }; /* button_context_time */ | 187 | }; /* button_context_time */ |
188 | 188 | ||
@@ -211,7 +211,7 @@ static const struct button_mapping button_context_pitchscreen[] = { | |||
211 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, | 211 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, |
212 | { ACTION_PS_TOGGLE_MODE, BUTTON_PLAY, BUTTON_NONE }, | 212 | { ACTION_PS_TOGGLE_MODE, BUTTON_PLAY, BUTTON_NONE }, |
213 | { ACTION_PS_RESET, BUTTON_VIEW, BUTTON_NONE }, | 213 | { ACTION_PS_RESET, BUTTON_VIEW, BUTTON_NONE }, |
214 | { ACTION_PS_EXIT, BUTTON_PREV, BUTTON_NONE }, | 214 | { ACTION_PS_EXIT, BUTTON_MENU, BUTTON_NONE }, |
215 | { ACTION_PS_SLOWER, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 215 | { ACTION_PS_SLOWER, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
216 | { ACTION_PS_FASTER, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 216 | { ACTION_PS_FASTER, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
217 | 217 | ||
@@ -223,25 +223,40 @@ static const struct button_mapping button_context_keyboard[] = { | |||
223 | { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 223 | { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
224 | { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | 224 | { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, |
225 | { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 225 | { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
226 | { ACTION_KBD_CURSOR_LEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_NONE }, | ||
227 | { ACTION_KBD_CURSOR_LEFT, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
228 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_NONE }, | ||
229 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_VIEW|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
230 | { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, | ||
231 | { ACTION_KBD_PAGE_FLIP, BUTTON_VIEW|BUTTON_MENU, BUTTON_NONE }, | ||
232 | { ACTION_KBD_DONE, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
233 | { ACTION_KBD_ABORT, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, | ||
234 | { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
235 | { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, | 226 | { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, |
236 | { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 227 | { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
237 | { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 228 | { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
238 | { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 229 | { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
239 | { ACTION_KBD_MORSE_INPUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | 230 | { ACTION_KBD_SELECT, BUTTON_TAP, BUTTON_NONE }, |
231 | { ACTION_KBD_BACKSPACE, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, | ||
232 | { ACTION_KBD_PAGE_FLIP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
233 | { ACTION_KBD_DONE, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, | ||
234 | { ACTION_KBD_ABORT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
235 | { ACTION_KBD_MORSE_INPUT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NEXT }, | ||
240 | { ACTION_KBD_MORSE_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, | 236 | { ACTION_KBD_MORSE_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, |
241 | 237 | ||
242 | LAST_ITEM_IN_LIST | 238 | LAST_ITEM_IN_LIST |
243 | }; /* button_context_keyboard */ | 239 | }; /* button_context_keyboard */ |
244 | 240 | ||
241 | #ifdef HAVE_RECORDING | ||
242 | const struct button_mapping button_context_recscreen[] = { | ||
243 | { ACTION_REC_NEWFILE, BUTTON_TAP|BUTTON_REL, BUTTON_TAP }, | ||
244 | { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
245 | { ACTION_REC_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
246 | { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, | ||
247 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | ||
248 | { ACTION_STD_NEXT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
249 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, | ||
250 | { ACTION_STD_PREV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
251 | { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, | ||
252 | { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
253 | { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, | ||
254 | { ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
255 | |||
256 | LAST_ITEM_IN_LIST | ||
257 | }; /* button_context_recscreen */ | ||
258 | #endif | ||
259 | |||
245 | #if CONFIG_TUNER | 260 | #if CONFIG_TUNER |
246 | static const struct button_mapping button_context_radio[] = { | 261 | static const struct button_mapping button_context_radio[] = { |
247 | { ACTION_FM_MENU, BUTTON_MENU | BUTTON_REL, BUTTON_MENU }, | 262 | { ACTION_FM_MENU, BUTTON_MENU | BUTTON_REL, BUTTON_MENU }, |
@@ -259,8 +274,8 @@ static const struct button_mapping button_context_radio[] = { | |||
259 | static const struct button_mapping button_context_usb_hid[] = { | 274 | static const struct button_mapping button_context_usb_hid[] = { |
260 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_PLAY|BUTTON_NEXT|BUTTON_REL, BUTTON_PLAY|BUTTON_NEXT }, | 275 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_PLAY|BUTTON_NEXT|BUTTON_REL, BUTTON_PLAY|BUTTON_NEXT }, |
261 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_PLAY|BUTTON_NEXT|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_NEXT }, | 276 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_PLAY|BUTTON_NEXT|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_NEXT }, |
262 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_PLAY|BUTTON_PREV|BUTTON_REL, BUTTON_PLAY|BUTTON_NEXT }, | 277 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_PLAY|BUTTON_PREV|BUTTON_REL, BUTTON_PLAY|BUTTON_PREV }, |
263 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_PLAY|BUTTON_PREV|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_NEXT }, | 278 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_PLAY|BUTTON_PREV|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_PREV }, |
264 | 279 | ||
265 | LAST_ITEM_IN_LIST | 280 | LAST_ITEM_IN_LIST |
266 | }; /* button_context_usb_hid */ | 281 | }; /* button_context_usb_hid */ |
@@ -270,11 +285,15 @@ static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | |||
270 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 285 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
271 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, | 286 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, |
272 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 287 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
288 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
289 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
290 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP, BUTTON_NONE }, | ||
291 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
273 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | 292 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, |
274 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | 293 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
275 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | 294 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, |
276 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | 295 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, |
277 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT}, | 296 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, |
278 | 297 | ||
279 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 298 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
280 | }; /* button_context_usb_hid_mode_multimedia */ | 299 | }; /* button_context_usb_hid_mode_multimedia */ |
@@ -288,10 +307,10 @@ static const struct button_mapping button_context_usb_hid_mode_presentation[] = | |||
288 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | 307 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, |
289 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, | 308 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, |
290 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW }, | 309 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW }, |
291 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP }, | 310 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_VOL_DOWN }, |
292 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_UP }, | 311 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_VOL_DOWN }, |
293 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_VOL_DOWN }, | 312 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP }, |
294 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_VOL_DOWN }, | 313 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_UP }, |
295 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | 314 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, |
296 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | 315 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, |
297 | 316 | ||
@@ -403,6 +422,10 @@ const struct button_mapping* get_context_mapping(int context) | |||
403 | case CONTEXT_KEYBOARD: | 422 | case CONTEXT_KEYBOARD: |
404 | case CONTEXT_MORSE_INPUT: | 423 | case CONTEXT_MORSE_INPUT: |
405 | return button_context_keyboard; | 424 | return button_context_keyboard; |
425 | #ifdef HAVE_RECORDING | ||
426 | case CONTEXT_RECSCREEN: | ||
427 | return button_context_recscreen; | ||
428 | #endif | ||
406 | #if CONFIG_TUNER | 429 | #if CONFIG_TUNER |
407 | case CONTEXT_FM: | 430 | case CONTEXT_FM: |
408 | return button_context_radio; | 431 | return button_context_radio; |
diff --git a/firmware/drivers/synaptics-mep.c b/firmware/drivers/synaptics-mep.c index 48139534f2..01845bfe0c 100644 --- a/firmware/drivers/synaptics-mep.c +++ b/firmware/drivers/synaptics-mep.c | |||
@@ -561,6 +561,8 @@ int touchpad_read_device(char *data, int len) | |||
561 | /* for HDD6330 an absolute packet will follow for sensor nr 0 which we ignore */ | 561 | /* for HDD6330 an absolute packet will follow for sensor nr 0 which we ignore */ |
562 | #if defined(PHILIPS_HDD6330) | 562 | #if defined(PHILIPS_HDD6330) |
563 | if ((data[3]>>6) == 0) syn_read(tmp, 4); | 563 | if ((data[3]>>6) == 0) syn_read(tmp, 4); |
564 | // relay tap gesture packet | ||
565 | if (tmp[1]==0x02) { data[1]=0x02; data[2]=0x00; data[3]=0x00; } | ||
564 | #endif | 566 | #endif |
565 | logf(" pos %d", val); | 567 | logf(" pos %d", val); |
566 | logf(" z %d", data[3]); | 568 | logf(" z %d", data[3]); |
diff --git a/firmware/target/arm/debug-target.h b/firmware/target/arm/debug-target.h index 28f95327ad..b7a1f7e5cb 100644 --- a/firmware/target/arm/debug-target.h +++ b/firmware/target/arm/debug-target.h | |||
@@ -30,16 +30,14 @@ | |||
30 | # define DEBUG_CANCEL BUTTON_MENU | 30 | # define DEBUG_CANCEL BUTTON_MENU |
31 | 31 | ||
32 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ | 32 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ |
33 | (CONFIG_KEYPAD == SANSA_C200_PAD) | 33 | (CONFIG_KEYPAD == SANSA_C200_PAD) || \ |
34 | (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) | ||
34 | # define DEBUG_CANCEL BUTTON_LEFT | 35 | # define DEBUG_CANCEL BUTTON_LEFT |
35 | 36 | ||
36 | #elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) || \ | 37 | #elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD) || \ |
37 | (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) | 38 | (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) |
38 | # define DEBUG_CANCEL BUTTON_POWER | 39 | # define DEBUG_CANCEL BUTTON_POWER |
39 | 40 | ||
40 | #elif (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) | ||
41 | # define DEBUG_CANCEL BUTTON_PREV | ||
42 | |||
43 | #elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) | 41 | #elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) |
44 | # define DEBUG_CANCEL BUTTON_PLAY | 42 | # define DEBUG_CANCEL BUTTON_PLAY |
45 | 43 | ||
diff --git a/firmware/target/arm/philips/hdd6330/button-hdd6330.c b/firmware/target/arm/philips/hdd6330/button-hdd6330.c index fc171c72ba..4e40de57ab 100644 --- a/firmware/target/arm/philips/hdd6330/button-hdd6330.c +++ b/firmware/target/arm/philips/hdd6330/button-hdd6330.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #include "synaptics-mep.h" | 26 | #include "synaptics-mep.h" |
27 | 27 | ||
28 | /*#define LOGF_ENABLE*/ | 28 | /*#define LOGF_ENABLE*/ |
29 | #include "logf.h" | 29 | /*#include "logf.h"*/ |
30 | 30 | ||
31 | static int int_btn = BUTTON_NONE; | 31 | static int int_btn = BUTTON_NONE; |
32 | #ifndef BOOTLOADER | 32 | #ifndef BOOTLOADER |
@@ -78,6 +78,10 @@ void button_int(void) | |||
78 | if (data[1] & 0x8) | 78 | if (data[1] & 0x8) |
79 | int_btn |= BUTTON_VIEW; | 79 | int_btn |= BUTTON_VIEW; |
80 | } | 80 | } |
81 | else if ((data[1] & MEP_GESTURE) && (data[3] >> 6) == 0) /* index = 0 */ | ||
82 | { | ||
83 | int_btn |= BUTTON_TAP; | ||
84 | } | ||
81 | else if ((data[0] == MEP_ABSOLUTE_HEADER)) | 85 | else if ((data[0] == MEP_ABSOLUTE_HEADER)) |
82 | { | 86 | { |
83 | if (data[1] & MEP_FINGER) | 87 | if (data[1] & MEP_FINGER) |
diff --git a/firmware/target/arm/philips/hdd6330/button-target.h b/firmware/target/arm/philips/hdd6330/button-target.h index 492a5014e5..8d4ed5ef5f 100644 --- a/firmware/target/arm/philips/hdd6330/button-target.h +++ b/firmware/target/arm/philips/hdd6330/button-target.h | |||
@@ -29,6 +29,7 @@ | |||
29 | #define MEP_BUTTON_ID 0x9 | 29 | #define MEP_BUTTON_ID 0x9 |
30 | #define MEP_ABSOLUTE_HEADER 0x0b | 30 | #define MEP_ABSOLUTE_HEADER 0x0b |
31 | #define MEP_FINGER 0x01 | 31 | #define MEP_FINGER 0x01 |
32 | #define MEP_GESTURE 0x02 | ||
32 | 33 | ||
33 | #define HAS_BUTTON_HOLD | 34 | #define HAS_BUTTON_HOLD |
34 | 35 | ||
@@ -53,7 +54,8 @@ void button_int(void); | |||
53 | #define BUTTON_NEXT 0x00000200 | 54 | #define BUTTON_NEXT 0x00000200 |
54 | #define BUTTON_PREV 0x00000400 | 55 | #define BUTTON_PREV 0x00000400 |
55 | #define BUTTON_PLAY 0x00000800 | 56 | #define BUTTON_PLAY 0x00000800 |
56 | #define BUTTON_MAIN 0x00000fff | 57 | #define BUTTON_TAP 0x00001000 |
58 | #define BUTTON_MAIN 0x00001fff | ||
57 | 59 | ||
58 | /* No Remote control */ | 60 | /* No Remote control */ |
59 | #define BUTTON_REMOTE 0 | 61 | #define BUTTON_REMOTE 0 |
diff --git a/uisimulator/buttonmap/gogear-hdd6330.c b/uisimulator/buttonmap/gogear-hdd6330.c index ee3ad56971..6451e27973 100644 --- a/uisimulator/buttonmap/gogear-hdd6330.c +++ b/uisimulator/buttonmap/gogear-hdd6330.c | |||
@@ -70,6 +70,9 @@ int key_to_button(int keyboard_button) | |||
70 | case SDLK_KP_MINUS: | 70 | case SDLK_KP_MINUS: |
71 | new_btn = BUTTON_VOL_DOWN; | 71 | new_btn = BUTTON_VOL_DOWN; |
72 | break; | 72 | break; |
73 | case SDLK_t: | ||
74 | new_btn = BUTTON_TAP; | ||
75 | break; | ||
73 | } | 76 | } |
74 | return new_btn; | 77 | return new_btn; |
75 | } | 78 | } |