diff options
author | Tomer Shalev <shalev.tomer@gmail.com> | 2009-10-17 05:39:54 +0000 |
---|---|---|
committer | Tomer Shalev <shalev.tomer@gmail.com> | 2009-10-17 05:39:54 +0000 |
commit | 4f3d7b5bcb0b025332e128c3856aa9d4cce91898 (patch) | |
tree | ac2f783e9585c476fbaa9dfaf3a7a34e826f7ccc | |
parent | 6d4d44caf69e06ea51937da9c74e78af0ac99a62 (diff) | |
download | rockbox-4f3d7b5bcb0b025332e128c3856aa9d4cce91898.tar.gz rockbox-4f3d7b5bcb0b025332e128c3856aa9d4cce91898.zip |
USB HID: Use different context for each mode; Use constant for each action;
Rework keymaps
This commit makes the code neater and more readable. It makes it easier to
modify keymap assignments and new keypad modes.
Some platforms had their keypad mappings reworked.
The manual is updated to reflect all these changes.
H10 remote control mapping dropped.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23219 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/action.h | 56 | ||||
-rw-r--r-- | apps/keymaps/keymap-c100.c | 90 | ||||
-rw-r--r-- | apps/keymaps/keymap-c200.c | 88 | ||||
-rw-r--r-- | apps/keymaps/keymap-clip.c | 88 | ||||
-rw-r--r-- | apps/keymaps/keymap-e200.c | 88 | ||||
-rw-r--r-- | apps/keymaps/keymap-gigabeat-s.c | 197 | ||||
-rw-r--r-- | apps/keymaps/keymap-h10.c | 119 | ||||
-rw-r--r-- | apps/keymaps/keymap-hdd1630.c | 164 | ||||
-rw-r--r-- | apps/keymaps/keymap-ipod.c | 148 | ||||
-rw-r--r-- | apps/keymaps/keymap-mr100.c | 273 | ||||
-rw-r--r-- | apps/keymaps/keymap-ondavx747.c | 55 | ||||
-rw-r--r-- | apps/keymaps/keymap-sa9200.c | 97 | ||||
-rw-r--r-- | apps/keymaps/keymap-touchscreen.c | 83 | ||||
-rw-r--r-- | apps/screens.c | 4 | ||||
-rw-r--r-- | apps/usb_keymaps.c | 117 | ||||
-rw-r--r-- | firmware/export/config-h10.h | 1 | ||||
-rw-r--r-- | firmware/export/config-h10_5gb.h | 1 | ||||
-rw-r--r-- | firmware/export/config-mrobe100.h | 1 | ||||
-rw-r--r-- | manual/configure_rockbox/system_options.tex | 264 |
19 files changed, 1281 insertions, 653 deletions
diff --git a/apps/action.h b/apps/action.h index 8d8e8f50fd..0738b114da 100644 --- a/apps/action.h +++ b/apps/action.h | |||
@@ -77,7 +77,10 @@ enum { | |||
77 | CONTEXT_KEYBOARD, | 77 | CONTEXT_KEYBOARD, |
78 | CONTEXT_FM, | 78 | CONTEXT_FM, |
79 | CONTEXT_USB_HID, | 79 | CONTEXT_USB_HID, |
80 | CONTEXT_USB_HID_MOUSE, | 80 | CONTEXT_USB_HID_MODE_MULTIMEDIA, |
81 | CONTEXT_USB_HID_MODE_PRESENTATION, | ||
82 | CONTEXT_USB_HID_MODE_BROWSER, | ||
83 | CONTEXT_USB_HID_MODE_MOUSE, | ||
81 | }; | 84 | }; |
82 | 85 | ||
83 | 86 | ||
@@ -244,22 +247,41 @@ enum { | |||
244 | 247 | ||
245 | /* USB HID codes */ | 248 | /* USB HID codes */ |
246 | ACTION_USB_HID_FIRST, /* Place holder */ | 249 | ACTION_USB_HID_FIRST, /* Place holder */ |
247 | ACTION_USB_HID_DEC, | 250 | ACTION_USB_HID_NONE, |
248 | ACTION_USB_HID_INC, | 251 | ACTION_USB_HID_MODE_SWITCH_NEXT, |
249 | ACTION_USB_HID_START, | 252 | ACTION_USB_HID_MODE_SWITCH_PREV, |
250 | ACTION_USB_HID_START_LONG, | 253 | ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, |
251 | ACTION_USB_HID_QUIT, | 254 | ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, |
252 | ACTION_USB_HID_QUIT_LONG, | 255 | ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, |
253 | ACTION_USB_HID_LEFT, | 256 | ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, |
254 | ACTION_USB_HID_LEFT_LONG, | 257 | ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, |
255 | ACTION_USB_HID_RIGHT, | 258 | ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, |
256 | ACTION_USB_HID_RIGHT_LONG, | 259 | ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, |
257 | ACTION_USB_HID_SELECT, | 260 | ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, |
258 | ACTION_USB_HID_SELECT_LONG, | 261 | ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, |
259 | ACTION_USB_HID_MENU, | 262 | ACTION_USB_HID_PRESENTATION_SLIDE_PREV, |
260 | ACTION_USB_HID_MENU_LONG, | 263 | ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, |
261 | ACTION_USB_HID_MODE, | 264 | ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, |
262 | ACTION_USB_HID_MODE_LONG, | 265 | ACTION_USB_HID_PRESENTATION_SLIDE_LAST, |
266 | ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, | ||
267 | ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, | ||
268 | ACTION_USB_HID_PRESENTATION_LINK_PREV, | ||
269 | ACTION_USB_HID_PRESENTATION_LINK_NEXT, | ||
270 | ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, | ||
271 | ACTION_USB_HID_PRESENTATION_MOUSE_OVER, | ||
272 | ACTION_USB_HID_BROWSER_SCROLL_UP, | ||
273 | ACTION_USB_HID_BROWSER_SCROLL_DOWN, | ||
274 | ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, | ||
275 | ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, | ||
276 | ACTION_USB_HID_BROWSER_ZOOM_IN, | ||
277 | ACTION_USB_HID_BROWSER_ZOOM_OUT, | ||
278 | ACTION_USB_HID_BROWSER_ZOOM_RESET, | ||
279 | ACTION_USB_HID_BROWSER_TAB_PREV, | ||
280 | ACTION_USB_HID_BROWSER_TAB_NEXT, | ||
281 | ACTION_USB_HID_BROWSER_TAB_CLOSE, | ||
282 | ACTION_USB_HID_BROWSER_HISTORY_BACK, | ||
283 | ACTION_USB_HID_BROWSER_HISTORY_FORWARD, | ||
284 | ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, | ||
263 | ACTION_USB_HID_MOUSE_UP, | 285 | ACTION_USB_HID_MOUSE_UP, |
264 | ACTION_USB_HID_MOUSE_UP_REP, | 286 | ACTION_USB_HID_MOUSE_UP_REP, |
265 | ACTION_USB_HID_MOUSE_DOWN, | 287 | ACTION_USB_HID_MOUSE_DOWN, |
diff --git a/apps/keymaps/keymap-c100.c b/apps/keymaps/keymap-c100.c index 7ee400f345..457e81ed99 100644 --- a/apps/keymaps/keymap-c100.c +++ b/apps/keymaps/keymap-c100.c | |||
@@ -234,27 +234,68 @@ static const struct button_mapping button_context_bmark[] = { | |||
234 | 234 | ||
235 | #ifdef USB_ENABLE_HID | 235 | #ifdef USB_ENABLE_HID |
236 | static const struct button_mapping button_context_usb_hid[] = { | 236 | static const struct button_mapping button_context_usb_hid[] = { |
237 | { ACTION_USB_HID_INC, BUTTON_VOLUP, BUTTON_NONE }, | 237 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_MODE|BUTTON_REL, BUTTON_MODE }, |
238 | { ACTION_USB_HID_INC, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, | 238 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_MODE|BUTTON_REPEAT, BUTTON_MODE }, |
239 | { ACTION_USB_HID_DEC, BUTTON_VOLDOWN, BUTTON_NONE }, | ||
240 | { ACTION_USB_HID_DEC, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
241 | { ACTION_USB_HID_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
242 | { ACTION_USB_HID_START_LONG, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
243 | { ACTION_USB_HID_QUIT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
244 | { ACTION_USB_HID_QUIT_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
245 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
246 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
247 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
248 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
249 | { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
250 | { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
251 | { ACTION_USB_HID_MENU, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
252 | { ACTION_USB_HID_MODE, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
253 | 239 | ||
254 | LAST_ITEM_IN_LIST | 240 | LAST_ITEM_IN_LIST |
255 | }; /* button_context_usb_hid */ | 241 | }; /* button_context_usb_hid */ |
256 | 242 | ||
257 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 243 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { |
244 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOLUP, BUTTON_NONE }, | ||
245 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, | ||
246 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOLDOWN, BUTTON_NONE }, | ||
247 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
248 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
249 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
250 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
251 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
252 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
253 | |||
254 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
255 | }; /* button_context_usb_hid_mode_multimedia */ | ||
256 | |||
257 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
258 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
259 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
260 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
261 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
262 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
263 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
264 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
265 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
266 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOLUP, BUTTON_NONE }, | ||
267 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, | ||
268 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOLDOWN, BUTTON_NONE }, | ||
269 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
270 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
271 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
272 | |||
273 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
274 | }; /* button_context_usb_hid_mode_presentation */ | ||
275 | |||
276 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
277 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOLUP, BUTTON_NONE }, | ||
278 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, | ||
279 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOLDOWN, BUTTON_NONE }, | ||
280 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
281 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
282 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
283 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
284 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
285 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
286 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_UP|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_UP|BUTTON_DOWN }, | ||
287 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
288 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
289 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
290 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
291 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
292 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
293 | |||
294 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
295 | }; /* button_context_usb_hid_mode_browser */ | ||
296 | |||
297 | #ifdef HAVE_USB_HID_MOUSE | ||
298 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { | ||
258 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | 299 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, |
259 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 300 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
260 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 301 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
@@ -289,7 +330,8 @@ static const struct button_mapping button_context_usb_hid_mouse[] = { | |||
289 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, | 330 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, |
290 | 331 | ||
291 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 332 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
292 | }; /* button_context_usb_hid_mouse */ | 333 | }; /* button_context_usb_hid_mode_mouse */ |
334 | #endif | ||
293 | #endif | 335 | #endif |
294 | 336 | ||
295 | /* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */ | 337 | /* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */ |
@@ -343,8 +385,16 @@ const struct button_mapping* get_context_mapping(int context) | |||
343 | #ifdef USB_ENABLE_HID | 385 | #ifdef USB_ENABLE_HID |
344 | case CONTEXT_USB_HID: | 386 | case CONTEXT_USB_HID: |
345 | return button_context_usb_hid; | 387 | return button_context_usb_hid; |
346 | case CONTEXT_USB_HID_MOUSE: | 388 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: |
347 | return button_context_usb_hid_mouse; | 389 | return button_context_usb_hid_mode_multimedia; |
390 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
391 | return button_context_usb_hid_mode_presentation; | ||
392 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
393 | return button_context_usb_hid_mode_browser; | ||
394 | #ifdef HAVE_USB_HID_MOUSE | ||
395 | case CONTEXT_USB_HID_MODE_MOUSE: | ||
396 | return button_context_usb_hid_mode_mouse; | ||
397 | #endif | ||
348 | #endif | 398 | #endif |
349 | default: | 399 | default: |
350 | return button_context_standard; | 400 | return button_context_standard; |
diff --git a/apps/keymaps/keymap-c200.c b/apps/keymaps/keymap-c200.c index 7acbe85420..af7c990340 100644 --- a/apps/keymaps/keymap-c200.c +++ b/apps/keymaps/keymap-c200.c | |||
@@ -266,30 +266,68 @@ static const struct button_mapping button_context_bmark[] = { | |||
266 | 266 | ||
267 | #ifdef USB_ENABLE_HID | 267 | #ifdef USB_ENABLE_HID |
268 | static const struct button_mapping button_context_usb_hid[] = { | 268 | static const struct button_mapping button_context_usb_hid[] = { |
269 | { ACTION_USB_HID_INC, BUTTON_VOL_UP, BUTTON_NONE }, | 269 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_REC|BUTTON_REL, BUTTON_REC }, |
270 | { ACTION_USB_HID_INC, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 270 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_REC|BUTTON_REPEAT, BUTTON_REC }, |
271 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
272 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
273 | { ACTION_USB_HID_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
274 | { ACTION_USB_HID_START_LONG, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
275 | { ACTION_USB_HID_QUIT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
276 | { ACTION_USB_HID_QUIT_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
277 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
278 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
279 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
280 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
281 | { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
282 | { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
283 | { ACTION_USB_HID_MENU, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
284 | { ACTION_USB_HID_MENU_LONG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
285 | { ACTION_USB_HID_MODE, BUTTON_REC|BUTTON_REL, BUTTON_REC }, | ||
286 | { ACTION_USB_HID_MODE_LONG, BUTTON_REC|BUTTON_REPEAT, BUTTON_REC }, | ||
287 | 271 | ||
288 | LAST_ITEM_IN_LIST | 272 | LAST_ITEM_IN_LIST |
289 | }; /* button_context_usb_hid */ | 273 | }; /* button_context_usb_hid */ |
290 | 274 | ||
275 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | ||
276 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
277 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
278 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
279 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
280 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
281 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
282 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
283 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
284 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
285 | |||
286 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
287 | }; /* button_context_usb_hid_mode_multimedia */ | ||
288 | |||
289 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
290 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
291 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
292 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
293 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
294 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
295 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
296 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
297 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
298 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP, BUTTON_NONE }, | ||
299 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
300 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
301 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
302 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
303 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
304 | |||
305 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
306 | }; /* button_context_usb_hid_mode_presentation */ | ||
307 | |||
308 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
309 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
310 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
311 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
312 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
313 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
314 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
315 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
316 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
317 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
318 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_UP|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_UP|BUTTON_DOWN }, | ||
319 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
320 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
321 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
322 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
323 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
324 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
325 | |||
326 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
327 | }; /* button_context_usb_hid_mode_browser */ | ||
328 | |||
291 | #ifdef HAVE_USB_HID_MOUSE | 329 | #ifdef HAVE_USB_HID_MOUSE |
292 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 330 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { |
293 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | 331 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, |
294 | { 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 }, |
295 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 333 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
@@ -324,7 +362,7 @@ static const struct button_mapping button_context_usb_hid_mouse[] = { | |||
324 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 362 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
325 | 363 | ||
326 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 364 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
327 | }; /* button_context_usb_hid_mouse */ | 365 | }; /* button_context_usb_hid_mode_mouse */ |
328 | #endif | 366 | #endif |
329 | #endif | 367 | #endif |
330 | 368 | ||
@@ -377,9 +415,15 @@ const struct button_mapping* get_context_mapping(int context) | |||
377 | #ifdef USB_ENABLE_HID | 415 | #ifdef USB_ENABLE_HID |
378 | case CONTEXT_USB_HID: | 416 | case CONTEXT_USB_HID: |
379 | return button_context_usb_hid; | 417 | return button_context_usb_hid; |
418 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
419 | return button_context_usb_hid_mode_multimedia; | ||
420 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
421 | return button_context_usb_hid_mode_presentation; | ||
422 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
423 | return button_context_usb_hid_mode_browser; | ||
380 | #ifdef HAVE_USB_HID_MOUSE | 424 | #ifdef HAVE_USB_HID_MOUSE |
381 | case CONTEXT_USB_HID_MOUSE: | 425 | case CONTEXT_USB_HID_MODE_MOUSE: |
382 | return button_context_usb_hid_mouse; | 426 | return button_context_usb_hid_mode_mouse; |
383 | #endif | 427 | #endif |
384 | #endif | 428 | #endif |
385 | default: | 429 | default: |
diff --git a/apps/keymaps/keymap-clip.c b/apps/keymaps/keymap-clip.c index b2821664d7..ddc1d3f82a 100644 --- a/apps/keymaps/keymap-clip.c +++ b/apps/keymaps/keymap-clip.c | |||
@@ -275,30 +275,68 @@ static const struct button_mapping button_context_bmark[] = { | |||
275 | 275 | ||
276 | #ifdef USB_ENABLE_HID | 276 | #ifdef USB_ENABLE_HID |
277 | static const struct button_mapping button_context_usb_hid[] = { | 277 | static const struct button_mapping button_context_usb_hid[] = { |
278 | { ACTION_USB_HID_INC, BUTTON_VOL_UP, BUTTON_NONE }, | 278 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
279 | { ACTION_USB_HID_INC, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 279 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, |
280 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
281 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
282 | { ACTION_USB_HID_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
283 | { ACTION_USB_HID_START_LONG, BUTTON_UP|BOTTOM_REPEAT, BUTTON_UP }, | ||
284 | { ACTION_USB_HID_QUIT, BUTTON_HOME|BUTTON_REL, BUTTON_HOME }, | ||
285 | { ACTION_USB_HID_QUIT_LONG, BUTTON_HOME|BUTTON_REPEAT, BUTTON_HOME }, | ||
286 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
287 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
288 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
289 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
290 | { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
291 | { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
292 | { ACTION_USB_HID_MENU, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
293 | { ACTION_USB_HID_MENU_LONG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
294 | { ACTION_USB_HID_MODE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
295 | { ACTION_USB_HID_MODE_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
296 | 280 | ||
297 | LAST_ITEM_IN_LIST | 281 | LAST_ITEM_IN_LIST |
298 | }; /* button_context_usb_hid */ | 282 | }; /* button_context_usb_hid */ |
299 | 283 | ||
284 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | ||
285 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
286 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
287 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
288 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
289 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
290 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
291 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_HOME|BUTTON_REL, BUTTON_HOME }, | ||
292 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
293 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
294 | |||
295 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
296 | }; /* button_context_usb_hid_mode_multimedia */ | ||
297 | |||
298 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
299 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
300 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_HOME|BUTTON_REL, BUTTON_HOME }, | ||
301 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
302 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
303 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
304 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
305 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
306 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
307 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP, BUTTON_NONE }, | ||
308 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
309 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
310 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
311 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
312 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
313 | |||
314 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
315 | }; /* button_context_usb_hid_mode_presentation */ | ||
316 | |||
317 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
318 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
319 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
320 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
321 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
322 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
323 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
324 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
325 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
326 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
327 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_UP|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_UP|BUTTON_DOWN }, | ||
328 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
329 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
330 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_HOME|BUTTON_REPEAT, BUTTON_HOME }, | ||
331 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
332 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
333 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
334 | |||
335 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
336 | }; /* button_context_usb_hid_mode_browser */ | ||
337 | |||
300 | #ifdef HAVE_USB_HID_MOUSE | 338 | #ifdef HAVE_USB_HID_MOUSE |
301 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 339 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { |
302 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | 340 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, |
303 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 341 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
304 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 342 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
@@ -333,7 +371,7 @@ static const struct button_mapping button_context_usb_hid_mouse[] = { | |||
333 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 371 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
334 | 372 | ||
335 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 373 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
336 | }; /* button_context_usb_hid_mouse */ | 374 | }; /* button_context_usb_hid_mode_mouse */ |
337 | #endif | 375 | #endif |
338 | #endif | 376 | #endif |
339 | 377 | ||
@@ -387,9 +425,15 @@ const struct button_mapping* get_context_mapping(int context) | |||
387 | #ifdef USB_ENABLE_HID | 425 | #ifdef USB_ENABLE_HID |
388 | case CONTEXT_USB_HID: | 426 | case CONTEXT_USB_HID: |
389 | return button_context_usb_hid; | 427 | return button_context_usb_hid; |
428 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
429 | return button_context_usb_hid_mode_multimedia; | ||
430 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
431 | return button_context_usb_hid_mode_presentation; | ||
432 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
433 | return button_context_usb_hid_mode_browser; | ||
390 | #ifdef HAVE_USB_HID_MOUSE | 434 | #ifdef HAVE_USB_HID_MOUSE |
391 | case CONTEXT_USB_HID_MOUSE: | 435 | case CONTEXT_USB_HID_MODE_MOUSE: |
392 | return button_context_usb_hid_mouse; | 436 | return button_context_usb_hid_mode_mouse; |
393 | #endif | 437 | #endif |
394 | #endif | 438 | #endif |
395 | default: | 439 | default: |
diff --git a/apps/keymaps/keymap-e200.c b/apps/keymaps/keymap-e200.c index 23e8dbcf83..487fb11130 100644 --- a/apps/keymaps/keymap-e200.c +++ b/apps/keymaps/keymap-e200.c | |||
@@ -277,30 +277,68 @@ static const struct button_mapping button_context_bmark[] = { | |||
277 | 277 | ||
278 | #ifdef USB_ENABLE_HID | 278 | #ifdef USB_ENABLE_HID |
279 | static const struct button_mapping button_context_usb_hid[] = { | 279 | static const struct button_mapping button_context_usb_hid[] = { |
280 | { ACTION_USB_HID_INC, BUTTON_SCROLL_FWD, BUTTON_NONE }, | 280 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_REC|BUTTON_REL, BUTTON_REC }, |
281 | { ACTION_USB_HID_INC, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | 281 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_REC|BUTTON_REPEAT, BUTTON_REC }, |
282 | { ACTION_USB_HID_DEC, BUTTON_SCROLL_BACK, BUTTON_NONE }, | ||
283 | { ACTION_USB_HID_DEC, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, | ||
284 | { ACTION_USB_HID_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
285 | { ACTION_USB_HID_START_LONG, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
286 | { ACTION_USB_HID_QUIT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
287 | { ACTION_USB_HID_QUIT_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
288 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
289 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
290 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
291 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
292 | { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
293 | { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
294 | { ACTION_USB_HID_MENU, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
295 | { ACTION_USB_HID_MENU_LONG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
296 | { ACTION_USB_HID_MODE, BUTTON_REC|BUTTON_REL, BUTTON_REC }, | ||
297 | { ACTION_USB_HID_MODE_LONG, BUTTON_REC|BUTTON_REPEAT, BUTTON_REC }, | ||
298 | 282 | ||
299 | LAST_ITEM_IN_LIST | 283 | LAST_ITEM_IN_LIST |
300 | }; /* button_context_usb_hid */ | 284 | }; /* button_context_usb_hid */ |
301 | 285 | ||
286 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | ||
287 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_SCROLL_BACK, BUTTON_NONE }, | ||
288 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, | ||
289 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_SCROLL_FWD, BUTTON_NONE }, | ||
290 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
291 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
292 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
293 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
294 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
295 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
296 | |||
297 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
298 | }; /* button_context_usb_hid_mode_multimedia */ | ||
299 | |||
300 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
301 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
302 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
303 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
304 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
305 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
306 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
307 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
308 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
309 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_SCROLL_BACK, BUTTON_NONE }, | ||
310 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, | ||
311 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_SCROLL_FWD, BUTTON_NONE }, | ||
312 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
313 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
314 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
315 | |||
316 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
317 | }; /* button_context_usb_hid_mode_presentation */ | ||
318 | |||
319 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
320 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_SCROLL_BACK, BUTTON_NONE }, | ||
321 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, | ||
322 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_SCROLL_FWD, BUTTON_NONE }, | ||
323 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
324 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
325 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
326 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
327 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
328 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
329 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_UP|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_UP|BUTTON_DOWN }, | ||
330 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
331 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
332 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
333 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
334 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
335 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
336 | |||
337 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
338 | }; /* button_context_usb_hid_mode_browser */ | ||
339 | |||
302 | #ifdef HAVE_USB_HID_MOUSE | 340 | #ifdef HAVE_USB_HID_MOUSE |
303 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 341 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { |
304 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | 342 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, |
305 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 343 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
306 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 344 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
@@ -335,7 +373,7 @@ static const struct button_mapping button_context_usb_hid_mouse[] = { | |||
335 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | 373 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, |
336 | 374 | ||
337 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 375 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
338 | }; /* button_context_usb_hid_mouse */ | 376 | }; /* button_context_usb_hid_mode_mouse */ |
339 | #endif | 377 | #endif |
340 | #endif | 378 | #endif |
341 | 379 | ||
@@ -389,9 +427,15 @@ const struct button_mapping* get_context_mapping(int context) | |||
389 | #ifdef USB_ENABLE_HID | 427 | #ifdef USB_ENABLE_HID |
390 | case CONTEXT_USB_HID: | 428 | case CONTEXT_USB_HID: |
391 | return button_context_usb_hid; | 429 | return button_context_usb_hid; |
430 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
431 | return button_context_usb_hid_mode_multimedia; | ||
432 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
433 | return button_context_usb_hid_mode_presentation; | ||
434 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
435 | return button_context_usb_hid_mode_browser; | ||
392 | #ifdef HAVE_USB_HID_MOUSE | 436 | #ifdef HAVE_USB_HID_MOUSE |
393 | case CONTEXT_USB_HID_MOUSE: | 437 | case CONTEXT_USB_HID_MODE_MOUSE: |
394 | return button_context_usb_hid_mouse; | 438 | return button_context_usb_hid_mode_mouse; |
395 | #endif | 439 | #endif |
396 | #endif | 440 | #endif |
397 | default: | 441 | default: |
diff --git a/apps/keymaps/keymap-gigabeat-s.c b/apps/keymaps/keymap-gigabeat-s.c index c959eb09ba..cf150bb6d9 100644 --- a/apps/keymaps/keymap-gigabeat-s.c +++ b/apps/keymaps/keymap-gigabeat-s.c | |||
@@ -470,49 +470,86 @@ static const struct button_mapping remote_button_context_right_is_inc[] = { | |||
470 | 470 | ||
471 | #ifdef USB_ENABLE_HID | 471 | #ifdef USB_ENABLE_HID |
472 | static const struct button_mapping button_context_usb_hid[] = { | 472 | static const struct button_mapping button_context_usb_hid[] = { |
473 | { ACTION_USB_HID_INC, BUTTON_VOL_UP, BUTTON_NONE }, | 473 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
474 | { ACTION_USB_HID_INC, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 474 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, |
475 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
476 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
477 | { ACTION_USB_HID_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
478 | { ACTION_USB_HID_START_LONG, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
479 | { ACTION_USB_HID_QUIT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
480 | { ACTION_USB_HID_QUIT_LONG, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
481 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
482 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
483 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
484 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
485 | { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
486 | { ACTION_USB_HID_SELECT, BUTTON_BACK|BUTTON_REL, BUTTON_BACK }, | ||
487 | { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
488 | { ACTION_USB_HID_SELECT_LONG, BUTTON_BACK|BUTTON_REPEAT, BUTTON_BACK }, | ||
489 | { ACTION_USB_HID_MENU, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
490 | { ACTION_USB_HID_MENU_LONG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
491 | { ACTION_USB_HID_MODE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
492 | { ACTION_USB_HID_MODE_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
493 | 475 | ||
494 | LAST_ITEM_IN_LIST | 476 | LAST_ITEM_IN_LIST |
495 | }; /* button_context_usb_hid */ | 477 | }; /* button_context_usb_hid */ |
496 | 478 | ||
497 | static const struct button_mapping remote_button_context_usb_hid[] = { | 479 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { |
498 | { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP, BUTTON_NONE }, | 480 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, |
499 | { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 481 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
500 | { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | 482 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, |
501 | { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 483 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
502 | { ACTION_USB_HID_START, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | 484 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, |
503 | { ACTION_USB_HID_QUIT, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | 485 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_BACK|BUTTON_REL, BUTTON_BACK }, |
504 | { ACTION_USB_HID_LEFT, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | 486 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
505 | { ACTION_USB_HID_RIGHT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF}, | 487 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_UP|BUTTON_REL, BUTTON_UP }, |
506 | { ACTION_USB_HID_SELECT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | 488 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, |
507 | { ACTION_USB_HID_SELECT_LONG, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW }, | 489 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, |
508 | { ACTION_USB_HID_MENU, BUTTON_RC_DSP|BUTTON_REPEAT, BUTTON_RC_DSP }, | 490 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, |
509 | { ACTION_USB_HID_MODE, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | 491 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, |
492 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
493 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
510 | 494 | ||
511 | LAST_ITEM_IN_LIST | 495 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
512 | }; /* remote_button_context_usb_hid */ | 496 | }; /* button_context_usb_hid_mode_multimedia */ |
497 | |||
498 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
499 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
500 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
501 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
502 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
503 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
504 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, | ||
505 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
506 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
507 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
508 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_PREV|BUTTON_REPEAT, BUTTON_PREV }, | ||
509 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
510 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NEXT }, | ||
511 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
512 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
513 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP, BUTTON_NONE }, | ||
514 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
515 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
516 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
517 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
518 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_BACK|BUTTON_REL, BUTTON_BACK }, | ||
519 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
520 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_BACK|BUTTON_REPEAT, BUTTON_BACK }, | ||
521 | |||
522 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
523 | }; /* button_context_usb_hid_mode_presentation */ | ||
524 | |||
525 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
526 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
527 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
528 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_PREV, BUTTON_NONE }, | ||
529 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, | ||
530 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
531 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
532 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_NEXT, BUTTON_NONE }, | ||
533 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, | ||
534 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
535 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
536 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
537 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
538 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
539 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_UP|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_UP|BUTTON_DOWN }, | ||
540 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
541 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
542 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
543 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_BACK|BUTTON_REPEAT, BUTTON_BACK }, | ||
544 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
545 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
546 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
547 | |||
548 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
549 | }; /* button_context_usb_hid_mode_browser */ | ||
513 | 550 | ||
514 | #ifdef HAVE_USB_HID_MOUSE | 551 | #ifdef HAVE_USB_HID_MOUSE |
515 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 552 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { |
516 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | 553 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, |
517 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 554 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
518 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 555 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
@@ -521,22 +558,22 @@ static const struct button_mapping button_context_usb_hid_mouse[] = { | |||
521 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 558 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
522 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | 559 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, |
523 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 560 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
561 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_SELECT, BUTTON_NONE }, | ||
562 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | ||
524 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_SELECT|BUTTON_UP, BUTTON_NONE }, | 563 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_SELECT|BUTTON_UP, BUTTON_NONE }, |
525 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_BACK|BUTTON_UP, BUTTON_NONE }, | ||
526 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_SELECT|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 564 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_SELECT|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
527 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_BACK|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
528 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_SELECT|BUTTON_DOWN, BUTTON_NONE }, | 565 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_SELECT|BUTTON_DOWN, BUTTON_NONE }, |
529 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_BACK|BUTTON_DOWN, BUTTON_NONE }, | ||
530 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_SELECT|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 566 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_SELECT|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
531 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_BACK|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
532 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_SELECT, BUTTON_NONE }, | ||
533 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | ||
534 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_SELECT|BUTTON_LEFT, BUTTON_NONE }, | 567 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_SELECT|BUTTON_LEFT, BUTTON_NONE }, |
535 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 568 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
536 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_SELECT|BUTTON_RIGHT, BUTTON_NONE }, | 569 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_SELECT|BUTTON_RIGHT, BUTTON_NONE }, |
537 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 570 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
538 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_BACK, BUTTON_NONE }, | 571 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_BACK, BUTTON_NONE }, |
539 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_BACK|BUTTON_REL, BUTTON_NONE }, | 572 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_BACK|BUTTON_REL, BUTTON_NONE }, |
573 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_BACK|BUTTON_UP, BUTTON_NONE }, | ||
574 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_BACK|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
575 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_BACK|BUTTON_DOWN, BUTTON_NONE }, | ||
576 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_BACK|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
540 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_BACK|BUTTON_LEFT, BUTTON_NONE }, | 577 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_BACK|BUTTON_LEFT, BUTTON_NONE }, |
541 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_BACK|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 578 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_BACK|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
542 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_BACK|BUTTON_RIGHT, BUTTON_NONE }, | 579 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_BACK|BUTTON_RIGHT, BUTTON_NONE }, |
@@ -553,12 +590,68 @@ static const struct button_mapping button_context_usb_hid_mouse[] = { | |||
553 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 590 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
554 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE }, | 591 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE }, |
555 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 592 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
593 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_PREV, BUTTON_NONE }, | ||
594 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, | ||
556 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | 595 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, |
557 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 596 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
597 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_NEXT, BUTTON_NONE }, | ||
598 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, | ||
558 | 599 | ||
559 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 600 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
560 | }; /* button_context_usb_hid_mouse */ | 601 | }; /* button_context_usb_hid_mode_mouse */ |
561 | #endif | 602 | #endif |
603 | |||
604 | static const struct button_mapping remote_button_context_usb_hid[] = { | ||
605 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | ||
606 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_RC_DSP|BUTTON_REPEAT, BUTTON_RC_DSP }, | ||
607 | |||
608 | LAST_ITEM_IN_LIST | ||
609 | }; /* remote_button_context_usb_hid */ | ||
610 | |||
611 | static const struct button_mapping remote_button_context_usb_hid_mode_multimedia[] = { | ||
612 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
613 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
614 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
615 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
616 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | ||
617 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
618 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
619 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
620 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
621 | |||
622 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
623 | }; /* remote_button_context_usb_hid_mode_multimedia */ | ||
624 | |||
625 | static const struct button_mapping remote_button_context_usb_hid_mode_presentation[] = { | ||
626 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
627 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
628 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
629 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
630 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
631 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
632 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
633 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
634 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | ||
635 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW }, | ||
636 | |||
637 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
638 | }; /* remote_button_context_usb_hid_mode_presentation */ | ||
639 | |||
640 | static const struct button_mapping remote_button_context_usb_hid_mode_browser[] = { | ||
641 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
642 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
643 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
644 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
645 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | ||
646 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW }, | ||
647 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_RC_FF|BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_FF|BUTTON_RC_REW }, | ||
648 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
649 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
650 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
651 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
652 | |||
653 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
654 | }; /* remote_button_context_usb_hid_mode_browser */ | ||
562 | #endif | 655 | #endif |
563 | 656 | ||
564 | static const struct button_mapping* get_context_mapping_remote( int context ) | 657 | static const struct button_mapping* get_context_mapping_remote( int context ) |
@@ -606,7 +699,14 @@ static const struct button_mapping* get_context_mapping_remote( int context ) | |||
606 | #ifdef USB_ENABLE_HID | 699 | #ifdef USB_ENABLE_HID |
607 | case CONTEXT_USB_HID: | 700 | case CONTEXT_USB_HID: |
608 | return remote_button_context_usb_hid; | 701 | return remote_button_context_usb_hid; |
702 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
703 | return remote_button_context_usb_hid_mode_multimedia; | ||
704 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
705 | return remote_button_context_usb_hid_mode_presentation; | ||
706 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
707 | return remote_button_context_usb_hid_mode_browser; | ||
609 | #endif | 708 | #endif |
709 | |||
610 | default: | 710 | default: |
611 | return remote_button_context_standard; | 711 | return remote_button_context_standard; |
612 | } | 712 | } |
@@ -677,11 +777,18 @@ const struct button_mapping* get_context_mapping(int context) | |||
677 | #ifdef USB_ENABLE_HID | 777 | #ifdef USB_ENABLE_HID |
678 | case CONTEXT_USB_HID: | 778 | case CONTEXT_USB_HID: |
679 | return button_context_usb_hid; | 779 | return button_context_usb_hid; |
780 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
781 | return button_context_usb_hid_mode_multimedia; | ||
782 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
783 | return button_context_usb_hid_mode_presentation; | ||
784 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
785 | return button_context_usb_hid_mode_browser; | ||
680 | #ifdef HAVE_USB_HID_MOUSE | 786 | #ifdef HAVE_USB_HID_MOUSE |
681 | case CONTEXT_USB_HID_MOUSE: | 787 | case CONTEXT_USB_HID_MODE_MOUSE: |
682 | return button_context_usb_hid_mouse; | 788 | return button_context_usb_hid_mode_mouse; |
683 | #endif | 789 | #endif |
684 | #endif | 790 | #endif |
791 | |||
685 | default: | 792 | default: |
686 | return button_context_standard; | 793 | return button_context_standard; |
687 | } | 794 | } |
diff --git a/apps/keymaps/keymap-h10.c b/apps/keymaps/keymap-h10.c index 8ee9a28478..9b7800a3da 100644 --- a/apps/keymaps/keymap-h10.c +++ b/apps/keymaps/keymap-h10.c | |||
@@ -339,73 +339,65 @@ static const struct button_mapping button_context_radio[] = { | |||
339 | 339 | ||
340 | #ifdef USB_ENABLE_HID | 340 | #ifdef USB_ENABLE_HID |
341 | static const struct button_mapping button_context_usb_hid[] = { | 341 | static const struct button_mapping button_context_usb_hid[] = { |
342 | { ACTION_USB_HID_INC, BUTTON_SCROLL_UP, BUTTON_NONE }, | 342 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
343 | { ACTION_USB_HID_INC, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 343 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, |
344 | { ACTION_USB_HID_DEC, BUTTON_SCROLL_DOWN, BUTTON_NONE }, | ||
345 | { ACTION_USB_HID_DEC, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
346 | { ACTION_USB_HID_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
347 | { ACTION_USB_HID_START_LONG, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
348 | { ACTION_USB_HID_QUIT, BUTTON_REW|BUTTON_REL, BUTTON_REW }, | ||
349 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
350 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
351 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
352 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
353 | { ACTION_USB_HID_SELECT, BUTTON_FF|BUTTON_REL, BUTTON_FF }, | ||
354 | { ACTION_USB_HID_MENU, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
355 | { ACTION_USB_HID_MODE, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
356 | 344 | ||
357 | LAST_ITEM_IN_LIST | 345 | LAST_ITEM_IN_LIST |
358 | }; /* button_context_usb_hid */ | 346 | }; /* button_context_usb_hid */ |
359 | 347 | ||
360 | #ifdef HAVE_USB_HID_MOUSE | 348 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { |
361 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 349 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_SCROLL_UP, BUTTON_NONE }, |
362 | { ACTION_USB_HID_MOUSE_UP, BUTTON_SCROLL_UP, BUTTON_NONE }, | 350 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
363 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 351 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_SCROLL_DOWN, BUTTON_NONE }, |
364 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE }, | 352 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
365 | { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 353 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, |
366 | { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE }, | 354 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
367 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 355 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, |
368 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | 356 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, |
369 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 357 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_REW|BUTTON_REL, BUTTON_REW }, |
370 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_POWER, BUTTON_NONE }, | 358 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_FF|BUTTON_REL, BUTTON_FF }, |
371 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, | ||
372 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_POWER|BUTTON_SCROLL_UP, BUTTON_NONE }, | ||
373 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_POWER|BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
374 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_POWER|BUTTON_SCROLL_DOWN, BUTTON_NONE }, | ||
375 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_POWER|BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
376 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_POWER|BUTTON_LEFT, BUTTON_NONE }, | ||
377 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_POWER|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
378 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_POWER|BUTTON_RIGHT, BUTTON_NONE }, | ||
379 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_POWER|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
380 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_PLAY, BUTTON_NONE }, | ||
381 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, | ||
382 | { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_PLAY|BUTTON_SCROLL_UP, BUTTON_NONE }, | ||
383 | { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_PLAY|BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
384 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_PLAY|BUTTON_SCROLL_DOWN, BUTTON_NONE }, | ||
385 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_PLAY|BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
386 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_PLAY|BUTTON_LEFT, BUTTON_NONE }, | ||
387 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_PLAY|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
388 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_NONE }, | ||
389 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_PLAY|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
390 | 359 | ||
391 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 360 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
392 | }; /* button_context_usb_hid_mouse */ | 361 | }; /* button_context_usb_hid_mode_multimedia */ |
393 | #endif | 362 | |
363 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
364 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
365 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
366 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_REW|BUTTON_REL, BUTTON_REW }, | ||
367 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_FF|BUTTON_REL, BUTTON_FF }, | ||
368 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW }, | ||
369 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_FF|BUTTON_REPEAT, BUTTON_FF }, | ||
370 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
371 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
372 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_SCROLL_UP, BUTTON_NONE }, | ||
373 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
374 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_SCROLL_DOWN, BUTTON_NONE }, | ||
375 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
376 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
377 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
394 | 378 | ||
395 | static const struct button_mapping remote_button_context_usb_hid[] = { | 379 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
396 | { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP, BUTTON_NONE }, | 380 | }; /* button_context_usb_hid_mode_presentation */ |
397 | { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 381 | |
398 | { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | 382 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { |
399 | { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 383 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_SCROLL_UP, BUTTON_NONE }, |
400 | { ACTION_USB_HID_START, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | 384 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
401 | { ACTION_USB_HID_QUIT, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | 385 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE }, |
402 | { ACTION_USB_HID_LEFT, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | 386 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
403 | { ACTION_USB_HID_LEFT_LONG, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW }, | 387 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_REW|BUTTON_REL, BUTTON_REW }, |
404 | { ACTION_USB_HID_RIGHT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | 388 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_FF|BUTTON_REL, BUTTON_FF }, |
405 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | 389 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW }, |
390 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_FF|BUTTON_REPEAT, BUTTON_FF }, | ||
391 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_REW|BUTTON_FF|BUTTON_REPEAT, BUTTON_REW|BUTTON_FF }, | ||
392 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
393 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
394 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_LEFT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_LEFT|BUTTON_RIGHT }, | ||
395 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
396 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
397 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
406 | 398 | ||
407 | LAST_ITEM_IN_LIST | 399 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
408 | }; /* remote_button_context_usb_hid */ | 400 | }; /* button_context_usb_hid_mode_browser */ |
409 | #endif | 401 | #endif |
410 | 402 | ||
411 | static const struct button_mapping* get_context_mapping_remote( int context ) | 403 | static const struct button_mapping* get_context_mapping_remote( int context ) |
@@ -437,11 +429,6 @@ static const struct button_mapping* get_context_mapping_remote( int context ) | |||
437 | return remote_button_context_pitchscreen; | 429 | return remote_button_context_pitchscreen; |
438 | case CONTEXT_RECSCREEN: | 430 | case CONTEXT_RECSCREEN: |
439 | return button_context_recscreen; | 431 | return button_context_recscreen; |
440 | #ifdef USB_ENABLE_HID | ||
441 | case CONTEXT_USB_HID: | ||
442 | return remote_button_context_usb_hid; | ||
443 | #endif | ||
444 | |||
445 | default: | 432 | default: |
446 | return remote_button_context_standard; | 433 | return remote_button_context_standard; |
447 | } | 434 | } |
@@ -498,10 +485,6 @@ const struct button_mapping* get_context_mapping(int context) | |||
498 | #ifdef USB_ENABLE_HID | 485 | #ifdef USB_ENABLE_HID |
499 | case CONTEXT_USB_HID: | 486 | case CONTEXT_USB_HID: |
500 | return button_context_usb_hid; | 487 | return button_context_usb_hid; |
501 | #ifdef HAVE_USB_HID_MOUSE | ||
502 | case CONTEXT_USB_HID_MOUSE: | ||
503 | return button_context_usb_hid_mouse; | ||
504 | #endif | ||
505 | #endif | 488 | #endif |
506 | default: | 489 | default: |
507 | return button_context_standard; | 490 | return button_context_standard; |
diff --git a/apps/keymaps/keymap-hdd1630.c b/apps/keymaps/keymap-hdd1630.c index 404d7ecf14..f6f9ab9c8c 100644 --- a/apps/keymaps/keymap-hdd1630.c +++ b/apps/keymaps/keymap-hdd1630.c | |||
@@ -286,66 +286,116 @@ static const struct button_mapping button_context_radio[] = { | |||
286 | 286 | ||
287 | #ifdef USB_ENABLE_HID | 287 | #ifdef USB_ENABLE_HID |
288 | static const struct button_mapping button_context_usb_hid[] = { | 288 | static const struct button_mapping button_context_usb_hid[] = { |
289 | { ACTION_USB_HID_INC, BUTTON_VOL_UP, BUTTON_NONE }, | 289 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
290 | { ACTION_USB_HID_INC, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 290 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, |
291 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
292 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
293 | { ACTION_USB_HID_START, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
294 | { ACTION_USB_HID_START_LONG, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
295 | { ACTION_USB_HID_QUIT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
296 | { ACTION_USB_HID_QUIT_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
297 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
298 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
299 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
300 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
301 | { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
302 | { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
303 | { ACTION_USB_HID_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
304 | { ACTION_USB_HID_MENU_LONG, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
305 | { ACTION_USB_HID_MODE, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, | ||
306 | { ACTION_USB_HID_MODE_LONG, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW }, | ||
307 | 291 | ||
308 | LAST_ITEM_IN_LIST | 292 | LAST_ITEM_IN_LIST |
309 | }; /* button_context_usb_hid */ | 293 | }; /* button_context_usb_hid */ |
310 | 294 | ||
295 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | ||
296 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
297 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
298 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
299 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
300 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
301 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
302 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
303 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAYLIST|BUTTON_REL, BUTTON_PLAYLIST }, | ||
304 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
305 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
306 | |||
307 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
308 | }; /* button_context_usb_hid_mode_multimedia */ | ||
309 | |||
310 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
311 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
312 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, | ||
313 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
314 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_VIEW|BUTTON_REPEAT, BUTTON_VIEW }, | ||
315 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
316 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
317 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
318 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
319 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_PLAYLIST|BUTTON_REL, BUTTON_PLAYLIST }, | ||
320 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_PLAYLIST|BUTTON_REPEAT, BUTTON_PLAYLIST }, | ||
321 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP }, | ||
322 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_UP }, | ||
323 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_VOL_DOWN }, | ||
324 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_VOL_DOWN }, | ||
325 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
326 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
327 | |||
328 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
329 | }; /* button_context_usb_hid_mode_presentation */ | ||
330 | |||
331 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
332 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP, BUTTON_NONE }, | ||
333 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
334 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
335 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
336 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP }, | ||
337 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_VOL_DOWN }, | ||
338 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_UP }, | ||
339 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_VOL_DOWN }, | ||
340 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
341 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
342 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
343 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_PLAYLIST|BUTTON_REPEAT, BUTTON_PLAYLIST }, | ||
344 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
345 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
346 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_VIEW|BUTTON_REL, BUTTON_VIEW }, | ||
347 | |||
348 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
349 | }; /* button_context_usb_hid_mode_browser */ | ||
350 | |||
311 | #ifdef HAVE_USB_HID_MOUSE | 351 | #ifdef HAVE_USB_HID_MOUSE |
312 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 352 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { |
313 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | 353 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, |
314 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 354 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
315 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 355 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
316 | { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 356 | { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
317 | { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE }, | 357 | { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE }, |
318 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 358 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
319 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | 359 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, |
320 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 360 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
321 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_SELECT, BUTTON_NONE }, | 361 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_SELECT, BUTTON_NONE }, |
322 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | 362 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, |
323 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_SELECT|BUTTON_UP, BUTTON_NONE }, | 363 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_SELECT|BUTTON_UP, BUTTON_NONE }, |
324 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_SELECT|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 364 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_SELECT|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
325 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_SELECT|BUTTON_DOWN, BUTTON_NONE }, | 365 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_SELECT|BUTTON_DOWN, BUTTON_NONE }, |
326 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_SELECT|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 366 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_SELECT|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
327 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_SELECT|BUTTON_LEFT, BUTTON_NONE }, | 367 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_SELECT|BUTTON_LEFT, BUTTON_NONE }, |
328 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 368 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
329 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_SELECT|BUTTON_RIGHT, BUTTON_NONE }, | 369 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_SELECT|BUTTON_RIGHT, BUTTON_NONE }, |
330 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 370 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
331 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_POWER, BUTTON_NONE }, | 371 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_PLAYLIST, BUTTON_NONE }, |
332 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, | 372 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_PLAYLIST|BUTTON_REL, BUTTON_NONE }, |
333 | { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_POWER|BUTTON_UP, BUTTON_NONE }, | 373 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_PLAYLIST|BUTTON_UP, BUTTON_NONE }, |
334 | { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_POWER|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 374 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_PLAYLIST|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
335 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_POWER|BUTTON_DOWN, BUTTON_NONE }, | 375 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_PLAYLIST|BUTTON_DOWN, BUTTON_NONE }, |
336 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_POWER|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 376 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_PLAYLIST|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
337 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_POWER|BUTTON_LEFT, BUTTON_NONE }, | 377 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_PLAYLIST|BUTTON_LEFT, BUTTON_NONE }, |
338 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_POWER|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 378 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_PLAYLIST|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
339 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_POWER|BUTTON_RIGHT, BUTTON_NONE }, | 379 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_PLAYLIST|BUTTON_RIGHT, BUTTON_NONE }, |
340 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_POWER|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 380 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_PLAYLIST|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
341 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE }, | 381 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_VIEW, BUTTON_NONE }, |
342 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 382 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_VIEW|BUTTON_REL, BUTTON_NONE }, |
343 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | 383 | { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_VIEW|BUTTON_UP, BUTTON_NONE }, |
344 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 384 | { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_VIEW|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
385 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_VIEW|BUTTON_DOWN, BUTTON_NONE }, | ||
386 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_VIEW|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
387 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_VIEW|BUTTON_LEFT, BUTTON_NONE }, | ||
388 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_VIEW|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
389 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_VIEW|BUTTON_RIGHT, BUTTON_NONE }, | ||
390 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_VIEW|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
391 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
392 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
393 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
394 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
345 | 395 | ||
346 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 396 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
347 | 397 | ||
348 | }; /* button_context_usb_hid_mouse */ | 398 | }; /* button_context_usb_hid_mode_mouse */ |
349 | #endif | 399 | #endif |
350 | #endif | 400 | #endif |
351 | 401 | ||
@@ -399,9 +449,15 @@ const struct button_mapping* get_context_mapping(int context) | |||
399 | #ifdef USB_ENABLE_HID | 449 | #ifdef USB_ENABLE_HID |
400 | case CONTEXT_USB_HID: | 450 | case CONTEXT_USB_HID: |
401 | return button_context_usb_hid; | 451 | return button_context_usb_hid; |
452 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
453 | return button_context_usb_hid_mode_multimedia; | ||
454 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
455 | return button_context_usb_hid_mode_presentation; | ||
456 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
457 | return button_context_usb_hid_mode_browser; | ||
402 | #ifdef HAVE_USB_HID_MOUSE | 458 | #ifdef HAVE_USB_HID_MOUSE |
403 | case CONTEXT_USB_HID_MOUSE: | 459 | case CONTEXT_USB_HID_MODE_MOUSE: |
404 | return button_context_usb_hid_mouse; | 460 | return button_context_usb_hid_mode_mouse; |
405 | #endif | 461 | #endif |
406 | #endif | 462 | #endif |
407 | } | 463 | } |
diff --git a/apps/keymaps/keymap-ipod.c b/apps/keymaps/keymap-ipod.c index d0e84ef2dc..1a8f7a25ff 100644 --- a/apps/keymaps/keymap-ipod.c +++ b/apps/keymaps/keymap-ipod.c | |||
@@ -195,30 +195,70 @@ const struct button_mapping button_context_recscreen[] = { | |||
195 | 195 | ||
196 | #ifdef USB_ENABLE_HID | 196 | #ifdef USB_ENABLE_HID |
197 | static const struct button_mapping button_context_usb_hid[] = { | 197 | static const struct button_mapping button_context_usb_hid[] = { |
198 | { ACTION_USB_HID_INC, BUTTON_SCROLL_FWD, BUTTON_NONE }, | 198 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REL, BUTTON_SELECT|BUTTON_RIGHT }, |
199 | { ACTION_USB_HID_INC, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | 199 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_SELECT|BUTTON_RIGHT }, |
200 | { ACTION_USB_HID_DEC, BUTTON_SCROLL_BACK, BUTTON_NONE }, | 200 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REL, BUTTON_SELECT|BUTTON_LEFT }, |
201 | { ACTION_USB_HID_DEC, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, | 201 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_SELECT|BUTTON_LEFT }, |
202 | { ACTION_USB_HID_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
203 | { ACTION_USB_HID_QUIT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
204 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
205 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
206 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
207 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
208 | { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
209 | { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
210 | { ACTION_USB_HID_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
211 | { ACTION_USB_HID_MENU_LONG, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
212 | { ACTION_USB_HID_MODE, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REL, BUTTON_SELECT|BUTTON_RIGHT }, | ||
213 | { ACTION_USB_HID_MODE, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_SELECT|BUTTON_RIGHT }, | ||
214 | { ACTION_USB_HID_MODE_LONG, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REL, BUTTON_SELECT|BUTTON_LEFT }, | ||
215 | { ACTION_USB_HID_MODE_LONG, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_SELECT|BUTTON_LEFT }, | ||
216 | 202 | ||
217 | LAST_ITEM_IN_LIST | 203 | LAST_ITEM_IN_LIST |
218 | }; /* button_context_usb_hid */ | 204 | }; /* button_context_usb_hid */ |
219 | 205 | ||
206 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | ||
207 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_SCROLL_BACK, BUTTON_NONE }, | ||
208 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, | ||
209 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_SCROLL_FWD, BUTTON_NONE }, | ||
210 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
211 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
212 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
213 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
214 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
215 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
216 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
217 | |||
218 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
219 | }; /* button_context_usb_hid_mode_multimedia */ | ||
220 | |||
221 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
222 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
223 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
224 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
225 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
226 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
227 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
228 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
229 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
230 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_SCROLL_BACK, BUTTON_NONE }, | ||
231 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, | ||
232 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_SCROLL_FWD, BUTTON_NONE }, | ||
233 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
234 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
235 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
236 | |||
237 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
238 | }; /* button_context_usb_hid_mode_presentation */ | ||
239 | |||
240 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
241 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_SCROLL_BACK, BUTTON_NONE }, | ||
242 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, | ||
243 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_SCROLL_FWD, BUTTON_NONE }, | ||
244 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | ||
245 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
246 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
247 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
248 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
249 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_PLAY|BUTTON_MENU|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_MENU }, | ||
250 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
251 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
252 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_SELECT|BUTTON_MENU|BUTTON_REPEAT, BUTTON_SELECT|BUTTON_MENU }, | ||
253 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
254 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
255 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_SELECT|BUTTON_PLAY|BUTTON_REPEAT, BUTTON_SELECT|BUTTON_PLAY }, | ||
256 | |||
257 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
258 | }; /* button_context_usb_hid_mode_browser */ | ||
259 | |||
220 | #ifdef HAVE_USB_HID_MOUSE | 260 | #ifdef HAVE_USB_HID_MOUSE |
221 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 261 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { |
222 | { ACTION_USB_HID_MOUSE_UP, BUTTON_MENU, BUTTON_NONE }, | 262 | { ACTION_USB_HID_MOUSE_UP, BUTTON_MENU, BUTTON_NONE }, |
223 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, | 263 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, |
224 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_PLAY, BUTTON_NONE }, | 264 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_PLAY, BUTTON_NONE }, |
@@ -235,7 +275,7 @@ static const struct button_mapping button_context_usb_hid_mouse[] = { | |||
235 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, | 275 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, |
236 | 276 | ||
237 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 277 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
238 | }; /* button_context_usb_hid_mouse */ | 278 | }; /* button_context_usb_hid_mode_mouse */ |
239 | #endif | 279 | #endif |
240 | #endif | 280 | #endif |
241 | 281 | ||
@@ -271,54 +311,6 @@ static const struct button_mapping remote_button_context_wps[] = { | |||
271 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 311 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
272 | }; /* remote_button_context_wps */ | 312 | }; /* remote_button_context_wps */ |
273 | 313 | ||
274 | #ifdef USB_ENABLE_HID | ||
275 | static const struct button_mapping remote_button_context_usb_hid[] = { | ||
276 | { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
277 | { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
278 | { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
279 | { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
280 | { ACTION_USB_HID_START, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
281 | { ACTION_USB_HID_QUIT, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
282 | { ACTION_USB_HID_LEFT, BUTTON_RC_LEFT|BUTTON_REL, BUTTON_RC_LEFT }, | ||
283 | { ACTION_USB_HID_LEFT_LONG, BUTTON_RC_LEFT|BUTTON_REPEAT, BUTTON_RC_LEFT }, | ||
284 | { ACTION_USB_HID_RIGHT, BUTTON_RC_RIGHT|BUTTON_REL, BUTTON_RC_RIGHT }, | ||
285 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RC_RIGHT|BUTTON_REPEAT, BUTTON_RC_RIGHT }, | ||
286 | |||
287 | LAST_ITEM_IN_LIST | ||
288 | }; /* remote_button_context_usb_hid */ | ||
289 | |||
290 | #if 0 /* Pending P#10623: Improved accessory support and detection for Ipod */ | ||
291 | #ifdef HAVE_USB_HID_MOUSE | ||
292 | static const struct button_mapping remote_button_context_usb_hid_mouse[] = { | ||
293 | { ACTION_USB_HID_MOUSE_UP, BUTTON_RC_MENU, BUTTON_NONE }, | ||
294 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_RC_MENU|BUTTON_REPEAT, BUTTON_NONE }, | ||
295 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_RC_PLAY, BUTTON_NONE }, | ||
296 | { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE }, | ||
297 | { ACTION_USB_HID_MOUSE_LEFT, BUTTON_RC_LEFT, BUTTON_NONE }, | ||
298 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_RC_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
299 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RC_RIGHT, BUTTON_NONE }, | ||
300 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RC_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
301 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_RC_SELECT, BUTTON_NONE }, | ||
302 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_RC_SELECT|BUTTON_REL, BUTTON_NONE }, | ||
303 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_RC_SELECT|BUTTON_RC_MENU, BUTTON_NONE }, | ||
304 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_RC_SELECT|BUTTON_RC_MENU|BUTTON_REPEAT, BUTTON_NONE }, | ||
305 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_RC_SELECT|BUTTON_RC_PLAY, BUTTON_NONE }, | ||
306 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_RC_SELECT|BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE }, | ||
307 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_RC_SELECT|BUTTON_RC_LEFT, BUTTON_NONE }, | ||
308 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_RC_SELECT|BUTTON_RC_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
309 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_RC_SELECT|BUTTON_RC_RIGHT, BUTTON_NONE }, | ||
310 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_RC_SELECT|BUTTON_RC_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
311 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
312 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
313 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
314 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
315 | |||
316 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
317 | }; /* remote_button_context_usb_hid_mouse */ | ||
318 | #endif | ||
319 | #endif /* if 0 */ | ||
320 | #endif | ||
321 | |||
322 | static const struct button_mapping* get_context_mapping_remote( int context ) | 314 | static const struct button_mapping* get_context_mapping_remote( int context ) |
323 | { | 315 | { |
324 | context ^= CONTEXT_REMOTE; | 316 | context ^= CONTEXT_REMOTE; |
@@ -327,16 +319,6 @@ static const struct button_mapping* get_context_mapping_remote( int context ) | |||
327 | { | 319 | { |
328 | case CONTEXT_WPS: | 320 | case CONTEXT_WPS: |
329 | return remote_button_context_wps; | 321 | return remote_button_context_wps; |
330 | #ifdef USB_ENABLE_HID | ||
331 | case CONTEXT_USB_HID: | ||
332 | return remote_button_context_usb_hid; | ||
333 | #if 0 /* Pending P#10623: Improved accessory support and detection for Ipod */ | ||
334 | #ifdef HAVE_USB_HID_MOUSE | ||
335 | case CONTEXT_USB_HID_MOUSE: | ||
336 | return remote_button_context_usb_hid_mouse; | ||
337 | #endif | ||
338 | #endif /* If 0 */ | ||
339 | #endif | ||
340 | default: | 322 | default: |
341 | return remote_button_context_standard; | 323 | return remote_button_context_standard; |
342 | } | 324 | } |
@@ -392,9 +374,15 @@ const struct button_mapping* get_context_mapping(int context) | |||
392 | #ifdef USB_ENABLE_HID | 374 | #ifdef USB_ENABLE_HID |
393 | case CONTEXT_USB_HID: | 375 | case CONTEXT_USB_HID: |
394 | return button_context_usb_hid; | 376 | return button_context_usb_hid; |
377 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
378 | return button_context_usb_hid_mode_multimedia; | ||
379 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
380 | return button_context_usb_hid_mode_presentation; | ||
381 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
382 | return button_context_usb_hid_mode_browser; | ||
395 | #ifdef HAVE_USB_HID_MOUSE | 383 | #ifdef HAVE_USB_HID_MOUSE |
396 | case CONTEXT_USB_HID_MOUSE: | 384 | case CONTEXT_USB_HID_MODE_MOUSE: |
397 | return button_context_usb_hid_mouse; | 385 | return button_context_usb_hid_mode_mouse; |
398 | #endif | 386 | #endif |
399 | #endif | 387 | #endif |
400 | default: | 388 | default: |
diff --git a/apps/keymaps/keymap-mr100.c b/apps/keymaps/keymap-mr100.c index 79a12428f7..9878b6c330 100644 --- a/apps/keymaps/keymap-mr100.c +++ b/apps/keymaps/keymap-mr100.c | |||
@@ -317,91 +317,196 @@ static const struct button_mapping remote_button_context_tree[] = { | |||
317 | 317 | ||
318 | #ifdef USB_ENABLE_HID | 318 | #ifdef USB_ENABLE_HID |
319 | static const struct button_mapping button_context_usb_hid[] = { | 319 | static const struct button_mapping button_context_usb_hid[] = { |
320 | { ACTION_USB_HID_INC, BUTTON_UP, BUTTON_NONE }, | 320 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
321 | { ACTION_USB_HID_INC, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 321 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, |
322 | { ACTION_USB_HID_DEC, BUTTON_DOWN, BUTTON_NONE }, | ||
323 | { ACTION_USB_HID_DEC, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
324 | { ACTION_USB_HID_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
325 | { ACTION_USB_HID_START_LONG, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
326 | { ACTION_USB_HID_QUIT, BUTTON_DISPLAY|BUTTON_REL, BUTTON_DISPLAY }, | ||
327 | { ACTION_USB_HID_QUIT_LONG, BUTTON_DISPLAY|BUTTON_REPEAT, BUTTON_DISPLAY }, | ||
328 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
329 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
330 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
331 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
332 | { ACTION_USB_HID_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
333 | { ACTION_USB_HID_SELECT_LONG, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
334 | { ACTION_USB_HID_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
335 | { ACTION_USB_HID_MENU_LONG, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
336 | { ACTION_USB_HID_MODE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
337 | { ACTION_USB_HID_MODE_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
338 | 322 | ||
339 | LAST_ITEM_IN_LIST | 323 | LAST_ITEM_IN_LIST |
340 | }; /* button_context_usb_hid */ | 324 | }; /* button_context_usb_hid */ |
341 | 325 | ||
342 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 326 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { |
343 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | 327 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
344 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 328 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
345 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 329 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP, BUTTON_NONE }, |
346 | { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 330 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
347 | { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE }, | 331 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, |
348 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 332 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
349 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | 333 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_DISPLAY|BUTTON_REL, BUTTON_DISPLAY }, |
350 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 334 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, |
351 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_SELECT|BUTTON_UP, BUTTON_NONE }, | 335 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, |
352 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_MENU|BUTTON_UP, BUTTON_NONE }, | 336 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, |
353 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_SELECT|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
354 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_MENU|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
355 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_SELECT|BUTTON_DOWN, BUTTON_NONE }, | ||
356 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_MENU|BUTTON_DOWN, BUTTON_NONE }, | ||
357 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_SELECT|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
358 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_MENU|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
359 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_SELECT, BUTTON_NONE }, | ||
360 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | ||
361 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_SELECT|BUTTON_LEFT, BUTTON_NONE }, | ||
362 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_SELECT|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
363 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_SELECT|BUTTON_RIGHT, BUTTON_NONE }, | ||
364 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_SELECT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
365 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_MENU, BUTTON_NONE }, | ||
366 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, | ||
367 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_MENU|BUTTON_LEFT, BUTTON_NONE }, | ||
368 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_MENU|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
369 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_MENU|BUTTON_RIGHT, BUTTON_NONE }, | ||
370 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
371 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_PLAY, BUTTON_NONE }, | ||
372 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, | ||
373 | { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_PLAY|BUTTON_UP, BUTTON_NONE }, | ||
374 | { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_PLAY|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
375 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_PLAY|BUTTON_DOWN, BUTTON_NONE }, | ||
376 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_PLAY|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
377 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_PLAY|BUTTON_LEFT, BUTTON_NONE }, | ||
378 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_PLAY|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
379 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_NONE }, | ||
380 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_PLAY|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
381 | 337 | ||
382 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 338 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
383 | }; /* button_context_usb_hid_mouse */ | 339 | }; /* button_context_usb_hid_mode_multimedia */ |
340 | |||
341 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
342 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
343 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_DISPLAY|BUTTON_REL, BUTTON_DISPLAY }, | ||
344 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
345 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
346 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
347 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
348 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
349 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
350 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
351 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP, BUTTON_NONE }, | ||
352 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
353 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN, BUTTON_NONE }, | ||
354 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
355 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
356 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
357 | |||
358 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
359 | }; /* button_context_usb_hid_mode_presentation */ | ||
360 | |||
361 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
362 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP, BUTTON_NONE }, | ||
363 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
364 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
365 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
366 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
367 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
368 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
369 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
370 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | ||
371 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_PLAY|BUTTON_MENU|BUTTON_REPEAT, BUTTON_PLAY|BUTTON_MENU }, | ||
372 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
373 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
374 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_DISPLAY|BUTTON_REPEAT, BUTTON_DISPLAY }, | ||
375 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
376 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
377 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | ||
378 | |||
379 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
380 | }; /* button_context_usb_hid_mode_browser */ | ||
381 | |||
382 | #ifdef HAVE_USB_HID_MOUSE | ||
383 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { | ||
384 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | ||
385 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
386 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
387 | { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
388 | { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE }, | ||
389 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
390 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | ||
391 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
392 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_MENU, BUTTON_NONE }, | ||
393 | { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, | ||
394 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_MENU|BUTTON_UP, BUTTON_NONE }, | ||
395 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_MENU|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
396 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_MENU|BUTTON_DOWN, BUTTON_NONE }, | ||
397 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_MENU|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
398 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_MENU|BUTTON_LEFT, BUTTON_NONE }, | ||
399 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_MENU|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
400 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_MENU|BUTTON_RIGHT, BUTTON_NONE }, | ||
401 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
402 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT, BUTTON_PLAY, BUTTON_NONE }, | ||
403 | { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, | ||
404 | { ACTION_USB_HID_MOUSE_RDRAG_UP, BUTTON_PLAY|BUTTON_UP, BUTTON_NONE }, | ||
405 | { ACTION_USB_HID_MOUSE_RDRAG_UP_REP, BUTTON_PLAY|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
406 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN, BUTTON_PLAY|BUTTON_DOWN, BUTTON_NONE }, | ||
407 | { ACTION_USB_HID_MOUSE_RDRAG_DOWN_REP, BUTTON_PLAY|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
408 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT, BUTTON_PLAY|BUTTON_LEFT, BUTTON_NONE }, | ||
409 | { ACTION_USB_HID_MOUSE_RDRAG_LEFT_REP, BUTTON_PLAY|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | ||
410 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_NONE }, | ||
411 | { ACTION_USB_HID_MOUSE_RDRAG_RIGHT_REP, BUTTON_PLAY|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | ||
412 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_UP, BUTTON_NONE }, | ||
413 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
414 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
415 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
416 | |||
417 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
418 | }; /* button_context_usb_hid_mode_mouse */ | ||
419 | #endif | ||
384 | 420 | ||
385 | static const struct button_mapping remote_button_context_usb_hid[] = { | 421 | static const struct button_mapping remote_button_context_usb_hid[] = { |
386 | { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP, BUTTON_NONE }, | 422 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_RC_HEART|BUTTON_REL, BUTTON_RC_HEART }, |
387 | { ACTION_USB_HID_INC, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 423 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_RC_HEART }, |
388 | { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
389 | { ACTION_USB_HID_DEC, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
390 | { ACTION_USB_HID_START, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
391 | { ACTION_USB_HID_START_LONG, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
392 | { ACTION_USB_HID_QUIT, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN }, | ||
393 | { ACTION_USB_HID_QUIT_LONG, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_RC_DOWN }, | ||
394 | { ACTION_USB_HID_LEFT, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
395 | { ACTION_USB_HID_LEFT_LONG, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW }, | ||
396 | { ACTION_USB_HID_RIGHT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
397 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | ||
398 | { ACTION_USB_HID_SELECT, BUTTON_RC_HEART|BUTTON_REL, BUTTON_RC_HEART }, | ||
399 | { ACTION_USB_HID_MENU, BUTTON_RC_HEART|BUTTON_REPEAT, BUTTON_DOWN }, | ||
400 | { ACTION_USB_HID_MODE, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE }, | ||
401 | { ACTION_USB_HID_MODE_LONG, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_RC_MODE }, | ||
402 | 424 | ||
403 | LAST_ITEM_IN_LIST | 425 | LAST_ITEM_IN_LIST |
404 | }; /* remote_button_context_usb_hid */ | 426 | }; /* remote_button_context_usb_hid */ |
427 | |||
428 | static const struct button_mapping remote_button_context_usb_hid_mode_multimedia[] = { | ||
429 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
430 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
431 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
432 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
433 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE }, | ||
434 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
435 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN }, | ||
436 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
437 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
438 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
439 | |||
440 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
441 | }; /* remote_button_context_usb_hid_mode_multimedia */ | ||
442 | |||
443 | static const struct button_mapping remote_button_context_usb_hid_mode_presentation[] = { | ||
444 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
445 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN }, | ||
446 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
447 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
448 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
449 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW }, | ||
450 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | ||
451 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN }, | ||
452 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_RC_DOWN }, | ||
453 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
454 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
455 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
456 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
457 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE }, | ||
458 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_RC_MODE }, | ||
459 | |||
460 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
461 | }; /* remote_button_context_usb_hid_mode_presentation */ | ||
462 | |||
463 | static const struct button_mapping remote_button_context_usb_hid_mode_browser[] = { | ||
464 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
465 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
466 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
467 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
468 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
469 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_RC_DOWN|BUTTON_REL, BUTTON_RC_DOWN }, | ||
470 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
471 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_RC_DOWN }, | ||
472 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_RC_MODE }, | ||
473 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
474 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
475 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW }, | ||
476 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | ||
477 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE }, | ||
478 | |||
479 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
480 | }; /* remote_button_context_usb_hid_mode_browser */ | ||
481 | |||
482 | #ifdef HAVE_USB_HID_MOUSE | ||
483 | static const struct button_mapping remote_button_context_usb_hid_mode_mouse[] = { | ||
484 | { ACTION_USB_HID_MOUSE_UP, BUTTON_RC_PLAY, BUTTON_NONE }, | ||
485 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE }, | ||
486 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_RC_DOWN, BUTTON_NONE }, | ||
487 | { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
488 | { ACTION_USB_HID_MOUSE_LEFT, BUTTON_RC_REW, BUTTON_NONE }, | ||
489 | { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
490 | { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RC_FF, BUTTON_NONE }, | ||
491 | { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
492 | { ACTION_USB_HID_MOUSE_BUTTON_RC_REW, BUTTON_RC_MODE, BUTTON_NONE }, | ||
493 | { ACTION_USB_HID_MOUSE_BUTTON_RC_REW_REL, BUTTON_RC_MODE|BUTTON_REL, BUTTON_NONE }, | ||
494 | { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_RC_MODE|BUTTON_RC_PLAY, BUTTON_NONE }, | ||
495 | { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_RC_MODE|BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE }, | ||
496 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_RC_MODE|BUTTON_RC_DOWN, BUTTON_NONE }, | ||
497 | { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_RC_MODE|BUTTON_RC_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
498 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_RC_MODE|BUTTON_RC_REW, BUTTON_NONE }, | ||
499 | { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_RC_MODE|BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
500 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_RC_MODE|BUTTON_RC_FF, BUTTON_NONE }, | ||
501 | { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_RC_MODE|BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
502 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
503 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
504 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
505 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
506 | |||
507 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
508 | }; /* remote_button_context_usb_hid_mode_mouse */ | ||
509 | #endif | ||
405 | #endif | 510 | #endif |
406 | 511 | ||
407 | static const struct button_mapping* get_context_mapping_remote( int context ) | 512 | static const struct button_mapping* get_context_mapping_remote( int context ) |
@@ -418,6 +523,16 @@ static const struct button_mapping* get_context_mapping_remote( int context ) | |||
418 | #ifdef USB_ENABLE_HID | 523 | #ifdef USB_ENABLE_HID |
419 | case CONTEXT_USB_HID: | 524 | case CONTEXT_USB_HID: |
420 | return remote_button_context_usb_hid; | 525 | return remote_button_context_usb_hid; |
526 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
527 | return remote_button_context_usb_hid_mode_multimedia; | ||
528 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
529 | return remote_button_context_usb_hid_mode_presentation; | ||
530 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
531 | return remote_button_context_usb_hid_mode_browser; | ||
532 | #ifdef HAVE_USB_HID_MOUSE | ||
533 | case CONTEXT_USB_HID_MODE_MOUSE: | ||
534 | return remote_button_context_usb_hid_mode_mouse; | ||
535 | #endif | ||
421 | #endif | 536 | #endif |
422 | } | 537 | } |
423 | return remote_button_context_standard; | 538 | return remote_button_context_standard; |
@@ -472,6 +587,16 @@ const struct button_mapping* get_context_mapping(int context) | |||
472 | #ifdef USB_ENABLE_HID | 587 | #ifdef USB_ENABLE_HID |
473 | case CONTEXT_USB_HID: | 588 | case CONTEXT_USB_HID: |
474 | return button_context_usb_hid; | 589 | return button_context_usb_hid; |
590 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
591 | return button_context_usb_hid_mode_multimedia; | ||
592 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
593 | return button_context_usb_hid_mode_presentation; | ||
594 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
595 | return button_context_usb_hid_mode_browser; | ||
596 | #ifdef HAVE_USB_HID_MOUSE | ||
597 | case CONTEXT_USB_HID_MODE_MOUSE: | ||
598 | return button_context_usb_hid_mode_mouse; | ||
599 | #endif | ||
475 | #endif | 600 | #endif |
476 | } | 601 | } |
477 | return button_context_standard; | 602 | return button_context_standard; |
diff --git a/apps/keymaps/keymap-ondavx747.c b/apps/keymaps/keymap-ondavx747.c index f2d994d190..56a68e519c 100644 --- a/apps/keymaps/keymap-ondavx747.c +++ b/apps/keymaps/keymap-ondavx747.c | |||
@@ -169,17 +169,48 @@ static const struct button_mapping button_context_keyboard[] = { | |||
169 | 169 | ||
170 | #ifdef USB_ENABLE_HID | 170 | #ifdef USB_ENABLE_HID |
171 | static const struct button_mapping button_context_usb_hid[] = { | 171 | static const struct button_mapping button_context_usb_hid[] = { |
172 | { ACTION_USB_HID_INC, BUTTON_VOL_UP, BUTTON_NONE }, | 172 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
173 | { ACTION_USB_HID_INC, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 173 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, |
174 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
175 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
176 | { ACTION_USB_HID_QUIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
177 | { ACTION_USB_HID_SELECT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
178 | { ACTION_USB_HID_MENU, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
179 | { ACTION_USB_HID_MODE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
180 | 174 | ||
181 | LAST_ITEM_IN_LIST | 175 | LAST_ITEM_IN_LIST |
182 | }; /* button_context_usb_hid */ | 176 | }; /* button_context_usb_hid */ |
177 | |||
178 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | ||
179 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
180 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
181 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
182 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
183 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_VOL_DOWN|BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_DOWN|BUTTON_VOL_UP }, | ||
184 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
185 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_MENU|BUTTON_LEFT|BUTTON_REL, BUTTON_MENU|BUTTON_LEFT }, | ||
186 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REL, BUTTON_MENU|BUTTON_RIGHT }, | ||
187 | |||
188 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
189 | }; /* button_context_usb_hid_mode_multimedia */ | ||
190 | |||
191 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
192 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
193 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
194 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_VOL_DOWN }, | ||
195 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_VOL_UP|BUTTON_REL, BUTTON_VOL_UP }, | ||
196 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_VOL_DOWN }, | ||
197 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_UP }, | ||
198 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_VOL_DOWN|BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_VOL_DOWN|BUTTON_VOL_UP }, | ||
199 | |||
200 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
201 | }; /* button_context_usb_hid_mode_presentation */ | ||
202 | |||
203 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
204 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
205 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
206 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_UP, BUTTON_NONE }, | ||
207 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
208 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_MENU|BUTTON_VOL_UP|BUTTON_REL, BUTTON_MENU|BUTTON_VOL_UP }, | ||
209 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_MENU|BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_MENU|BUTTON_VOL_DOWN }, | ||
210 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
211 | |||
212 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
213 | }; /* button_context_usb_hid_mode_browser */ | ||
183 | #endif | 214 | #endif |
184 | 215 | ||
185 | const struct button_mapping* target_get_context_mapping(int context) | 216 | const struct button_mapping* target_get_context_mapping(int context) |
@@ -228,9 +259,15 @@ const struct button_mapping* target_get_context_mapping(int context) | |||
228 | return button_context_pitchscreen; | 259 | return button_context_pitchscreen; |
229 | case CONTEXT_KEYBOARD: | 260 | case CONTEXT_KEYBOARD: |
230 | return button_context_keyboard; | 261 | return button_context_keyboard; |
231 | #ifdef HAVE_USBSTACK | 262 | #ifdef USB_ENABLE_HID |
232 | case CONTEXT_USB_HID: | 263 | case CONTEXT_USB_HID: |
233 | return button_context_usb_hid; | 264 | return button_context_usb_hid; |
265 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
266 | return button_context_usb_hid_mode_multimedia; | ||
267 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
268 | return button_context_usb_hid_mode_presentation; | ||
269 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
270 | return button_context_usb_hid_mode_browser; | ||
234 | #endif | 271 | #endif |
235 | } | 272 | } |
236 | return button_context_standard; | 273 | return button_context_standard; |
diff --git a/apps/keymaps/keymap-sa9200.c b/apps/keymaps/keymap-sa9200.c index 1d14a67147..6df9d6c1ed 100644 --- a/apps/keymaps/keymap-sa9200.c +++ b/apps/keymaps/keymap-sa9200.c | |||
@@ -278,34 +278,72 @@ static const struct button_mapping button_context_keyboard[] = { | |||
278 | 278 | ||
279 | #ifdef USB_ENABLE_HID | 279 | #ifdef USB_ENABLE_HID |
280 | static const struct button_mapping button_context_usb_hid[] = { | 280 | static const struct button_mapping button_context_usb_hid[] = { |
281 | { ACTION_USB_HID_INC, BUTTON_UP, BUTTON_NONE }, | 281 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
282 | { ACTION_USB_HID_INC, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 282 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, |
283 | { ACTION_USB_HID_INC, BUTTON_VOL_UP, BUTTON_NONE }, | ||
284 | { ACTION_USB_HID_INC, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
285 | { ACTION_USB_HID_DEC, BUTTON_DOWN, BUTTON_NONE }, | ||
286 | { ACTION_USB_HID_DEC, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
287 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
288 | { ACTION_USB_HID_DEC, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
289 | { ACTION_USB_HID_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
290 | { ACTION_USB_HID_START_LONG, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
291 | { ACTION_USB_HID_QUIT, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, | ||
292 | { ACTION_USB_HID_QUIT_LONG, BUTTON_PREV|BUTTON_REPEAT, BUTTON_PREV }, | ||
293 | { ACTION_USB_HID_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
294 | { ACTION_USB_HID_LEFT_LONG, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
295 | { ACTION_USB_HID_RIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
296 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
297 | { ACTION_USB_HID_SELECT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
298 | { ACTION_USB_HID_SELECT_LONG, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NEXT }, | ||
299 | { ACTION_USB_HID_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
300 | { ACTION_USB_HID_MENU_LONG, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
301 | { ACTION_USB_HID_MODE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | ||
302 | { ACTION_USB_HID_MODE_LONG, BUTTON_POWER|BUTTON_REPEAT, BUTTON_POWER }, | ||
303 | 283 | ||
304 | LAST_ITEM_IN_LIST | 284 | LAST_ITEM_IN_LIST |
305 | }; /* button_context_usb_hid */ | 285 | }; /* button_context_usb_hid */ |
306 | 286 | ||
287 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | ||
288 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
289 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
290 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN, BUTTON_NONE }, | ||
291 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
292 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
293 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
294 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP, BUTTON_NONE }, | ||
295 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
296 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
297 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
298 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, | ||
299 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
300 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
301 | |||
302 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
303 | }; /* button_context_usb_hid_mode_multimedia */ | ||
304 | |||
305 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
306 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | ||
307 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, | ||
308 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
309 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
310 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
311 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
312 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | ||
313 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | ||
314 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP, BUTTON_NONE }, | ||
315 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
316 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN, BUTTON_NONE }, | ||
317 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
318 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
319 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NEXT }, | ||
320 | |||
321 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
322 | }; /* button_context_usb_hid_mode_presentation */ | ||
323 | |||
324 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
325 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_UP, BUTTON_NONE }, | ||
326 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
327 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | ||
328 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
329 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_UP|BUTTON_REL, BUTTON_UP }, | ||
330 | { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, | ||
331 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_UP|BUTTON_REPEAT, BUTTON_UP }, | ||
332 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN }, | ||
333 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NEXT }, | ||
334 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_UP|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_UP|BUTTON_DOWN }, | ||
335 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | ||
336 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | ||
337 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_LEFT|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_LEFT|BUTTON_RIGHT }, | ||
338 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | ||
339 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, | ||
340 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | ||
341 | |||
342 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
343 | }; /* button_context_usb_hid_mode_browser */ | ||
344 | |||
307 | #ifdef HAVE_USB_HID_MOUSE | 345 | #ifdef HAVE_USB_HID_MOUSE |
308 | static const struct button_mapping button_context_usb_hid_mouse[] = { | 346 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { |
309 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, | 347 | { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, |
310 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 348 | { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
311 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 349 | { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
@@ -340,7 +378,7 @@ static const struct button_mapping button_context_usb_hid_mouse[] = { | |||
340 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 378 | { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
341 | 379 | ||
342 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | 380 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) |
343 | }; /* button_context_usb_hid_mouse */ | 381 | }; /* button_context_usb_hid_mode_mouse */ |
344 | #endif | 382 | #endif |
345 | #endif | 383 | #endif |
346 | 384 | ||
@@ -390,13 +428,18 @@ const struct button_mapping* get_context_mapping(int context) | |||
390 | 428 | ||
391 | case CONTEXT_KEYBOARD: | 429 | case CONTEXT_KEYBOARD: |
392 | return button_context_keyboard; | 430 | return button_context_keyboard; |
393 | |||
394 | #ifdef USB_ENABLE_HID | 431 | #ifdef USB_ENABLE_HID |
395 | case CONTEXT_USB_HID: | 432 | case CONTEXT_USB_HID: |
396 | return button_context_usb_hid; | 433 | return button_context_usb_hid; |
434 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
435 | return button_context_usb_hid_mode_multimedia; | ||
436 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
437 | return button_context_usb_hid_mode_presentation; | ||
438 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
439 | return button_context_usb_hid_mode_browser; | ||
397 | #ifdef HAVE_USB_HID_MOUSE | 440 | #ifdef HAVE_USB_HID_MOUSE |
398 | case CONTEXT_USB_HID_MOUSE: | 441 | case CONTEXT_USB_HID_MODE_MOUSE: |
399 | return button_context_usb_hid_mouse; | 442 | return button_context_usb_hid_mode_mouse; |
400 | #endif | 443 | #endif |
401 | #endif | 444 | #endif |
402 | } | 445 | } |
diff --git a/apps/keymaps/keymap-touchscreen.c b/apps/keymaps/keymap-touchscreen.c index 499eb2b562..74673ccb20 100644 --- a/apps/keymaps/keymap-touchscreen.c +++ b/apps/keymaps/keymap-touchscreen.c | |||
@@ -253,27 +253,63 @@ static const struct button_mapping button_context_radio[] = { | |||
253 | 253 | ||
254 | #ifdef USB_ENABLE_HID | 254 | #ifdef USB_ENABLE_HID |
255 | static const struct button_mapping button_context_usb_hid[] = { | 255 | static const struct button_mapping button_context_usb_hid[] = { |
256 | { ACTION_USB_HID_INC, BUTTON_BOTTOMRIGHT|BUTTON_REL, BUTTON_BOTTOMRIGHT }, | 256 | { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_TOPLEFT|BUTTON_REL, BUTTON_TOPLEFT }, |
257 | { ACTION_USB_HID_INC, BUTTON_BOTTOMRIGHT|BUTTON_REPEAT, BUTTON_BOTTOMRIGHT }, | 257 | { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_TOPLEFT|BUTTON_REPEAT, BUTTON_TOPLEFT }, |
258 | { ACTION_USB_HID_DEC, BUTTON_BOTTOMMIDDLE|BUTTON_REL, BUTTON_BOTTOMMIDDLE }, | 258 | |
259 | { ACTION_USB_HID_DEC, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_BOTTOMMIDDLE }, | 259 | LAST_ITEM_IN_LIST |
260 | { ACTION_USB_HID_START, BUTTON_TOPMIDDLE|BUTTON_REL, BUTTON_TOPMIDDLE }, | ||
261 | { ACTION_USB_HID_START_LONG, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_TOPMIDDLE }, | ||
262 | { ACTION_USB_HID_QUIT, BUTTON_BOTTOMLEFT|BUTTON_REL, BUTTON_BOTTOMLEFT }, | ||
263 | { ACTION_USB_HID_QUIT_LONG, BUTTON_BOTTOMLEFT|BUTTON_REPEAT, BUTTON_BOTTOMLEFT }, | ||
264 | { ACTION_USB_HID_LEFT, BUTTON_MIDLEFT|BUTTON_REL, BUTTON_MIDLEFT }, | ||
265 | { ACTION_USB_HID_LEFT_LONG, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_MIDLEFT }, | ||
266 | { ACTION_USB_HID_RIGHT, BUTTON_MIDRIGHT|BUTTON_REL, BUTTON_MIDRIGHT }, | ||
267 | { ACTION_USB_HID_RIGHT_LONG, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_MIDRIGHT }, | ||
268 | { ACTION_USB_HID_SELECT, BUTTON_CENTER|BUTTON_REL, BUTTON_CENTER }, | ||
269 | { ACTION_USB_HID_SELECT_LONG, BUTTON_CENTER|BUTTON_REPEAT, BUTTON_CENTER }, | ||
270 | { ACTION_USB_HID_MENU, BUTTON_TOPRIGHT|BUTTON_REL, BUTTON_TOPRIGHT }, | ||
271 | { ACTION_USB_HID_MENU_LONG, BUTTON_TOPRIGHT|BUTTON_REPEAT, BUTTON_TOPRIGHT }, | ||
272 | { ACTION_USB_HID_MODE, BUTTON_TOPLEFT|BUTTON_REL, BUTTON_TOPLEFT }, | ||
273 | { ACTION_USB_HID_MODE_LONG, BUTTON_TOPLEFT|BUTTON_REPEAT, BUTTON_TOPLEFT }, | ||
274 | |||
275 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM2|CONTEXT_USB_HID) | ||
276 | }; /* button_context_usb_hid */ | 260 | }; /* button_context_usb_hid */ |
261 | |||
262 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | ||
263 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_BOTTOMMIDDLE, BUTTON_NONE }, | ||
264 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE }, | ||
265 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_TOPMIDDLE, BUTTON_NONE }, | ||
266 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE }, | ||
267 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_CENTER|BUTTON_REL, BUTTON_CENTER }, | ||
268 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_TOPRIGHT|BUTTON_REL, BUTTON_TOPRIGHT }, | ||
269 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_TOPRIGHT|BUTTON_REPEAT, BUTTON_TOPRIGHT }, | ||
270 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_BOTTOMLEFT|BUTTON_REL, BUTTON_BOTTOMLEFT }, | ||
271 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_BOTTOMRIGHT|BUTTON_REL, BUTTON_BOTTOMRIGHT }, | ||
272 | |||
273 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
274 | }; /* button_context_usb_hid_mode_multimedia */ | ||
275 | |||
276 | static const struct button_mapping button_context_usb_hid_mode_presentation[] = { | ||
277 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_TOPRIGHT|BUTTON_REL, BUTTON_TOPRIGHT }, | ||
278 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_TOPRIGHT|BUTTON_REPEAT, BUTTON_TOPRIGHT }, | ||
279 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_MIDLEFT|BUTTON_REL, BUTTON_MIDLEFT }, | ||
280 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_MIDRIGHT|BUTTON_REL, BUTTON_MIDRIGHT }, | ||
281 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_MIDLEFT }, | ||
282 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_MIDRIGHT }, | ||
283 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_BOTTOMRIGHT|BUTTON_REL, BUTTON_BOTTOMRIGHT }, | ||
284 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_BOTTOMRIGHT|BUTTON_REPEAT, BUTTON_BOTTOMRIGHT }, | ||
285 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_TOPMIDDLE|BUTTON_REL, BUTTON_TOPMIDDLE }, | ||
286 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_TOPMIDDLE }, | ||
287 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_BOTTOMMIDDLE|BUTTON_REL, BUTTON_BOTTOMMIDDLE }, | ||
288 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_BOTTOMMIDDLE }, | ||
289 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_CENTER|BUTTON_REL, BUTTON_CENTER }, | ||
290 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_CENTER|BUTTON_REPEAT, BUTTON_CENTER }, | ||
291 | |||
292 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
293 | }; /* button_context_usb_hid_mode_presentation */ | ||
294 | |||
295 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | ||
296 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_TOPMIDDLE, BUTTON_NONE }, | ||
297 | { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE }, | ||
298 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_BOTTOMMIDDLE, BUTTON_NONE }, | ||
299 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE }, | ||
300 | { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_TOPRIGHT|BUTTON_REPEAT, BUTTON_TOPRIGHT }, | ||
301 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, BUTTON_BOTTOMRIGHT|BUTTON_REPEAT, BUTTON_BOTTOMRIGHT }, | ||
302 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_CENTER|BUTTON_REPEAT, BUTTON_CENTER }, | ||
303 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, BUTTON_TOPRIGHT|BUTTON_BOTTOMRIGHT|BUTTON_REPEAT, BUTTON_TOPRIGHT|BUTTON_BOTTOMRIGHT }, | ||
304 | { ACTION_USB_HID_BROWSER_TAB_PREV, BUTTON_MIDLEFT|BUTTON_REL, BUTTON_MIDLEFT }, | ||
305 | { ACTION_USB_HID_BROWSER_TAB_NEXT, BUTTON_MIDRIGHT|BUTTON_REL, BUTTON_MIDRIGHT }, | ||
306 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, BUTTON_BOTTOMLEFT|BUTTON_REPEAT, BUTTON_BOTTOMLEFT }, | ||
307 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, BUTTON_MIDLEFT|BUTTON_REPEAT, BUTTON_MIDLEFT }, | ||
308 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, BUTTON_MIDRIGHT|BUTTON_REPEAT, BUTTON_MIDRIGHT }, | ||
309 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_CENTER|BUTTON_REL, BUTTON_CENTER }, | ||
310 | |||
311 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) | ||
312 | }; /* button_context_usb_hid_mode_browser */ | ||
277 | #endif | 313 | #endif |
278 | 314 | ||
279 | const struct button_mapping* get_context_mapping(int context) | 315 | const struct button_mapping* get_context_mapping(int context) |
@@ -331,7 +367,14 @@ const struct button_mapping* get_context_mapping(int context) | |||
331 | #ifdef USB_ENABLE_HID | 367 | #ifdef USB_ENABLE_HID |
332 | case CONTEXT_USB_HID: | 368 | case CONTEXT_USB_HID: |
333 | return button_context_usb_hid; | 369 | return button_context_usb_hid; |
370 | case CONTEXT_USB_HID_MODE_MULTIMEDIA: | ||
371 | return button_context_usb_hid_mode_multimedia; | ||
372 | case CONTEXT_USB_HID_MODE_PRESENTATION: | ||
373 | return button_context_usb_hid_mode_presentation; | ||
374 | case CONTEXT_USB_HID_MODE_BROWSER: | ||
375 | return button_context_usb_hid_mode_browser; | ||
334 | #endif | 376 | #endif |
377 | |||
335 | } | 378 | } |
336 | return button_context_standard; | 379 | return button_context_standard; |
337 | } | 380 | } |
diff --git a/apps/screens.c b/apps/screens.c index 3917f31a96..eb34103a4a 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -115,8 +115,8 @@ static int handle_usb_events(void) | |||
115 | button = get_hid_usb_action(); | 115 | button = get_hid_usb_action(); |
116 | 116 | ||
117 | /* On mode change, we need to refresh the screen */ | 117 | /* On mode change, we need to refresh the screen */ |
118 | if (button == ACTION_USB_HID_MODE || | 118 | if (button == ACTION_USB_HID_MODE_SWITCH_NEXT || |
119 | button == ACTION_USB_HID_MODE_LONG) | 119 | button == ACTION_USB_HID_MODE_SWITCH_PREV) |
120 | { | 120 | { |
121 | break; | 121 | break; |
122 | } | 122 | } |
diff --git a/apps/usb_keymaps.c b/apps/usb_keymaps.c index 41387a1005..f787de692f 100644 --- a/apps/usb_keymaps.c +++ b/apps/usb_keymaps.c | |||
@@ -45,94 +45,66 @@ typedef struct | |||
45 | typedef struct | 45 | typedef struct |
46 | { | 46 | { |
47 | int lang_name; | 47 | int lang_name; |
48 | int context; | ||
48 | usage_page_t usage_page; | 49 | usage_page_t usage_page; |
49 | mapping_t mapping[]; | 50 | mapping_t mapping[]; |
50 | } hid_key_mapping_t; | 51 | } hid_key_mapping_t; |
51 | 52 | ||
52 | static const hid_key_mapping_t hid_key_mapping_multimedia = { | 53 | static const hid_key_mapping_t hid_key_mapping_multimedia = { |
53 | LANG_MULTIMEDIA_MODE, | 54 | LANG_MULTIMEDIA_MODE, |
55 | CONTEXT_USB_HID_MODE_MULTIMEDIA, | ||
54 | HID_USAGE_PAGE_CONSUMER, | 56 | HID_USAGE_PAGE_CONSUMER, |
55 | { | 57 | { |
56 | /* Volume up */ | 58 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, HID_CONSUMER_USAGE_VOLUME_INCREMENT }, |
57 | { ACTION_USB_HID_DEC, HID_CONSUMER_USAGE_VOLUME_DECREMENT }, | 59 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, HID_CONSUMER_USAGE_VOLUME_DECREMENT }, |
58 | /* Volume down */ | 60 | { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, HID_CONSUMER_USAGE_MUTE }, |
59 | { ACTION_USB_HID_INC, HID_CONSUMER_USAGE_VOLUME_INCREMENT }, | 61 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, HID_CONSUMER_USAGE_PLAY_PAUSE }, |
60 | /* Volume mute */ | 62 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, HID_CONSUMER_USAGE_STOP }, |
61 | { ACTION_USB_HID_SELECT, HID_CONSUMER_USAGE_MUTE }, | 63 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, HID_CONSUMER_USAGE_SCAN_PREVIOUS_TRACK }, |
62 | /* Playback play / pause */ | 64 | { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, HID_CONSUMER_USAGE_SCAN_NEXT_TRACK }, |
63 | { ACTION_USB_HID_START, HID_CONSUMER_USAGE_PLAY_PAUSE }, | ||
64 | /* Playback stop */ | ||
65 | { ACTION_USB_HID_QUIT, HID_CONSUMER_USAGE_STOP }, | ||
66 | /* Scan previous track */ | ||
67 | { ACTION_USB_HID_LEFT, HID_CONSUMER_USAGE_SCAN_PREVIOUS_TRACK }, | ||
68 | /* Scan next track */ | ||
69 | { ACTION_USB_HID_RIGHT, HID_CONSUMER_USAGE_SCAN_NEXT_TRACK }, | ||
70 | { 0, 0 }, | 65 | { 0, 0 }, |
71 | } | 66 | } |
72 | }; | 67 | }; |
73 | 68 | ||
74 | static const hid_key_mapping_t hid_key_mapping_presentation = { | 69 | static const hid_key_mapping_t hid_key_mapping_presentation = { |
75 | LANG_PRESENTATION_MODE, | 70 | LANG_PRESENTATION_MODE, |
71 | CONTEXT_USB_HID_MODE_PRESENTATION, | ||
76 | HID_USAGE_PAGE_KEYBOARD_KEYPAD, | 72 | HID_USAGE_PAGE_KEYBOARD_KEYPAD, |
77 | { | 73 | { |
78 | /* Slideshow start */ | 74 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, HID_KEYBOARD_F5 }, |
79 | { ACTION_USB_HID_START, HID_KEYBOARD_F5 }, | 75 | { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, HID_KEYBOARD_ESCAPE }, |
80 | /* Slideshow leave */ | 76 | { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, HID_KEYBOARD_P }, |
81 | { ACTION_USB_HID_QUIT, HID_KEYBOARD_ESCAPE }, | 77 | { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, HID_KEYBOARD_N }, |
82 | /* Slide previous */ | 78 | { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, HID_KEYBOARD_HOME }, |
83 | { ACTION_USB_HID_LEFT, HID_KEYBOARD_P }, | 79 | { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, HID_KEYBOARD_END }, |
84 | /* Slide next */ | 80 | { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, HID_KEYBOARD_DOT }, |
85 | { ACTION_USB_HID_RIGHT, HID_KEYBOARD_N }, | 81 | { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, HID_KEYBOARD_COMMA }, |
86 | /* Slide first */ | 82 | { ACTION_USB_HID_PRESENTATION_LINK_PREV, SHIFT(HID_KEYBOARD_TAB) }, |
87 | { ACTION_USB_HID_LEFT_LONG, HID_KEYBOARD_HOME }, | 83 | { ACTION_USB_HID_PRESENTATION_LINK_NEXT, HID_KEYBOARD_TAB }, |
88 | /* Slide last */ | 84 | { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, HID_KEYBOARD_RETURN }, |
89 | { ACTION_USB_HID_RIGHT_LONG, HID_KEYBOARD_END }, | 85 | { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, SHIFT(HID_KEYBOARD_RETURN) }, |
90 | /* Screen black */ | ||
91 | { ACTION_USB_HID_MENU, HID_KEYBOARD_DOT }, | ||
92 | /* Screen white*/ | ||
93 | { ACTION_USB_HID_MENU_LONG, HID_KEYBOARD_COMMA }, | ||
94 | /* Link previous */ | ||
95 | { ACTION_USB_HID_DEC, SHIFT(HID_KEYBOARD_TAB) }, | ||
96 | /* Link next */ | ||
97 | { ACTION_USB_HID_INC, HID_KEYBOARD_TAB }, | ||
98 | /* Mouse click */ | ||
99 | { ACTION_USB_HID_SELECT, HID_KEYBOARD_RETURN }, | ||
100 | /* Mouse over */ | ||
101 | { ACTION_USB_HID_SELECT_LONG, SHIFT(HID_KEYBOARD_RETURN) }, | ||
102 | { 0, 0 }, | 86 | { 0, 0 }, |
103 | } | 87 | } |
104 | }; | 88 | }; |
105 | 89 | ||
106 | static const hid_key_mapping_t hid_key_mapping_browser = { | 90 | static const hid_key_mapping_t hid_key_mapping_browser = { |
107 | LANG_BROWSER_MODE, | 91 | LANG_BROWSER_MODE, |
92 | CONTEXT_USB_HID_MODE_BROWSER, | ||
108 | HID_USAGE_PAGE_KEYBOARD_KEYPAD, | 93 | HID_USAGE_PAGE_KEYBOARD_KEYPAD, |
109 | { | 94 | { |
110 | /* Scroll up */ | 95 | { ACTION_USB_HID_BROWSER_SCROLL_UP, HID_KEYBOARD_UP_ARROW }, |
111 | { ACTION_USB_HID_DEC, HID_KEYBOARD_UP_ARROW }, | 96 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, HID_KEYBOARD_DOWN_ARROW }, |
112 | /* Scroll down */ | 97 | { ACTION_USB_HID_BROWSER_SCROLL_UP, HID_KEYBOARD_PAGE_UP }, |
113 | { ACTION_USB_HID_INC, HID_KEYBOARD_DOWN_ARROW }, | 98 | { ACTION_USB_HID_BROWSER_SCROLL_DOWN, HID_KEYBOARD_PAGE_DOWN }, |
114 | /* Scroll page up */ | 99 | { ACTION_USB_HID_BROWSER_ZOOM_IN, CTRL(HID_KEYPAD_PLUS) }, |
115 | { ACTION_USB_HID_START, HID_KEYBOARD_PAGE_UP }, | 100 | { ACTION_USB_HID_BROWSER_ZOOM_OUT, CTRL(HID_KEYPAD_MINUS) }, |
116 | /* Scroll page down */ | 101 | { ACTION_USB_HID_BROWSER_ZOOM_RESET, CTRL(HID_KEYPAD_0_AND_INSERT) }, |
117 | { ACTION_USB_HID_MENU, HID_KEYBOARD_PAGE_DOWN }, | 102 | { ACTION_USB_HID_BROWSER_TAB_PREV, CTRL(HID_KEYBOARD_PAGE_UP) }, |
118 | /* Zoom in */ | 103 | { ACTION_USB_HID_BROWSER_TAB_NEXT, CTRL(HID_KEYBOARD_PAGE_DOWN) }, |
119 | { ACTION_USB_HID_START_LONG, CTRL(HID_KEYPAD_PLUS) }, | 104 | { ACTION_USB_HID_BROWSER_TAB_CLOSE, CTRL(HID_KEYBOARD_W) }, |
120 | /* Zoom out */ | 105 | { ACTION_USB_HID_BROWSER_HISTORY_BACK, ALT(HID_KEYBOARD_LEFT_ARROW) }, |
121 | { ACTION_USB_HID_MENU_LONG, CTRL(HID_KEYPAD_MINUS) }, | 106 | { ACTION_USB_HID_BROWSER_HISTORY_FORWARD, ALT(HID_KEYBOARD_RIGHT_ARROW) }, |
122 | /* Zoom reset */ | 107 | { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, HID_KEYBOARD_F11 }, |
123 | { ACTION_USB_HID_SELECT_LONG, CTRL(HID_KEYPAD_0_AND_INSERT) }, | ||
124 | /* Tab previous */ | ||
125 | { ACTION_USB_HID_LEFT, CTRL(HID_KEYBOARD_PAGE_UP) }, | ||
126 | /* Tab next */ | ||
127 | { ACTION_USB_HID_RIGHT, CTRL(HID_KEYBOARD_PAGE_DOWN) }, | ||
128 | /* Tab close */ | ||
129 | { ACTION_USB_HID_QUIT_LONG, CTRL(HID_KEYBOARD_W) }, | ||
130 | /* History back */ | ||
131 | { ACTION_USB_HID_LEFT_LONG, ALT(HID_KEYBOARD_LEFT_ARROW) }, | ||
132 | /* History forward */ | ||
133 | { ACTION_USB_HID_RIGHT_LONG, ALT(HID_KEYBOARD_RIGHT_ARROW) }, | ||
134 | /* View full-screen */ | ||
135 | { ACTION_USB_HID_SELECT, HID_KEYBOARD_F11 }, | ||
136 | { 0, 0 }, | 108 | { 0, 0 }, |
137 | } | 109 | } |
138 | }; | 110 | }; |
@@ -140,6 +112,7 @@ static const hid_key_mapping_t hid_key_mapping_browser = { | |||
140 | #ifdef HAVE_USB_HID_MOUSE | 112 | #ifdef HAVE_USB_HID_MOUSE |
141 | static const hid_key_mapping_t hid_key_mapping_mouse = { | 113 | static const hid_key_mapping_t hid_key_mapping_mouse = { |
142 | LANG_MOUSE_MODE, | 114 | LANG_MOUSE_MODE, |
115 | CONTEXT_USB_HID_MODE_MOUSE, | ||
143 | HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLS, | 116 | HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLS, |
144 | { | 117 | { |
145 | /* Cursor move up */ | 118 | /* Cursor move up */ |
@@ -201,21 +174,19 @@ extern int usb_keypad_mode; | |||
201 | 174 | ||
202 | int get_hid_usb_action(void) | 175 | int get_hid_usb_action(void) |
203 | { | 176 | { |
204 | int action, context = CONTEXT_USB_HID; | 177 | int action; |
205 | 178 | const hid_key_mapping_t *key_mapping = hid_key_mappings[usb_keypad_mode]; | |
206 | #ifdef HAVE_USB_HID_MOUSE | ||
207 | if (usb_keypad_mode == USB_KEYPAD_MODE_MOUSE) | ||
208 | context = CONTEXT_USB_HID_MOUSE; | ||
209 | #endif | ||
210 | 179 | ||
211 | action = get_action(context, HZ/4); | 180 | action = get_action(key_mapping->context, HZ/4); |
212 | /* Skip key mappings in a cyclic way */ | 181 | /* Skip key mappings in a cyclic way */ |
213 | if (action == ACTION_USB_HID_MODE) | 182 | if (action == ACTION_USB_HID_MODE_SWITCH_NEXT) |
214 | { | 183 | { |
184 | /* TODO: Use clamp_value_wrap() */ | ||
215 | usb_keypad_mode = (usb_keypad_mode + 1) % NUM_KEY_MAPPINGS; | 185 | usb_keypad_mode = (usb_keypad_mode + 1) % NUM_KEY_MAPPINGS; |
216 | } | 186 | } |
217 | else if (action == ACTION_USB_HID_MODE_LONG) | 187 | else if (action == ACTION_USB_HID_MODE_SWITCH_PREV) |
218 | { | 188 | { |
189 | /* TODO: Use clamp_value_wrap() */ | ||
219 | usb_keypad_mode = (usb_keypad_mode - 1) % NUM_KEY_MAPPINGS; | 190 | usb_keypad_mode = (usb_keypad_mode - 1) % NUM_KEY_MAPPINGS; |
220 | } | 191 | } |
221 | else if (action > ACTION_USB_HID_FIRST && action < ACTION_USB_HID_LAST) | 192 | else if (action > ACTION_USB_HID_FIRST && action < ACTION_USB_HID_LAST) |
diff --git a/firmware/export/config-h10.h b/firmware/export/config-h10.h index 5ac12af3fc..0dc845c23b 100644 --- a/firmware/export/config-h10.h +++ b/firmware/export/config-h10.h | |||
@@ -173,7 +173,6 @@ | |||
173 | #define USE_ROCKBOX_USB | 173 | #define USE_ROCKBOX_USB |
174 | #define USB_VENDOR_ID 0x0B70 | 174 | #define USB_VENDOR_ID 0x0B70 |
175 | #define USB_PRODUCT_ID 0x00BA | 175 | #define USB_PRODUCT_ID 0x00BA |
176 | #define HAVE_USB_HID_MOUSE | ||
177 | 176 | ||
178 | /* Define this if you have adjustable CPU frequency */ | 177 | /* Define this if you have adjustable CPU frequency */ |
179 | #define HAVE_ADJUSTABLE_CPU_FREQ | 178 | #define HAVE_ADJUSTABLE_CPU_FREQ |
diff --git a/firmware/export/config-h10_5gb.h b/firmware/export/config-h10_5gb.h index e39c6a6bbf..8275e50dc6 100644 --- a/firmware/export/config-h10_5gb.h +++ b/firmware/export/config-h10_5gb.h | |||
@@ -153,7 +153,6 @@ | |||
153 | #define USE_ROCKBOX_USB | 153 | #define USE_ROCKBOX_USB |
154 | #define USB_VENDOR_ID 0x0B70 | 154 | #define USB_VENDOR_ID 0x0B70 |
155 | #define USB_PRODUCT_ID 0x00BA | 155 | #define USB_PRODUCT_ID 0x00BA |
156 | #define HAVE_USB_HID_MOUSE | ||
157 | 156 | ||
158 | /* Define this if you have adjustable CPU frequency */ | 157 | /* Define this if you have adjustable CPU frequency */ |
159 | #define HAVE_ADJUSTABLE_CPU_FREQ | 158 | #define HAVE_ADJUSTABLE_CPU_FREQ |
diff --git a/firmware/export/config-mrobe100.h b/firmware/export/config-mrobe100.h index 4fdea149ae..c348770188 100644 --- a/firmware/export/config-mrobe100.h +++ b/firmware/export/config-mrobe100.h | |||
@@ -178,6 +178,7 @@ | |||
178 | #define USE_ROCKBOX_USB | 178 | #define USE_ROCKBOX_USB |
179 | #define USB_VENDOR_ID 0x07B4 | 179 | #define USB_VENDOR_ID 0x07B4 |
180 | #define USB_PRODUCT_ID 0x0280 | 180 | #define USB_PRODUCT_ID 0x0280 |
181 | #define HAVE_USB_HID_MOUSE | ||
181 | 182 | ||
182 | /* Define this if you have adjustable CPU frequency */ | 183 | /* Define this if you have adjustable CPU frequency */ |
183 | #define HAVE_ADJUSTABLE_CPU_FREQ | 184 | #define HAVE_ADJUSTABLE_CPU_FREQ |
diff --git a/manual/configure_rockbox/system_options.tex b/manual/configure_rockbox/system_options.tex index 854fadaf0f..5ff5dd05b9 100644 --- a/manual/configure_rockbox/system_options.tex +++ b/manual/configure_rockbox/system_options.tex | |||
@@ -190,28 +190,23 @@ this option \setting{On}. If it is not required, then turning this setting | |||
190 | keypad mode. There are different modes which provide different | 190 | keypad mode. There are different modes which provide different |
191 | functionality. | 191 | functionality. |
192 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% | 192 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% |
193 | ,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD}{% | 193 | ,IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD}{% |
194 | Switching modes back and forth is done by pressing the | 194 | Switching modes back and forth is done by pressing the |
195 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonRec} % | 195 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonRec}% |
196 | \opt{GIGABEAT_S_PAD,SANSA_CLIP_PAD,MROBE100_PAD}{\ButtonPower} % | 196 | \opt{GIGABEAT_S_PAD,SANSA_CLIP_PAD,MROBE100_PAD,IRIVER_H10_PAD}% |
197 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect+\ButtonRight} % | 197 | {\ButtonPower}% |
198 | and % | 198 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect+\ButtonRight}% |
199 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{Long \ButtonRec} % | 199 | { }and % |
200 | \opt{GIGABEAT_S_PAD,SANSA_CLIP_PAD,MROBE100_PAD}{Long \ButtonPower} % | 200 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{Long \ButtonRec}% |
201 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect+\ButtonLeft} % | 201 | \opt{GIGABEAT_S_PAD,SANSA_CLIP_PAD,MROBE100_PAD,IRIVER_H10_PAD}% |
202 | keys, respectively.% | 202 | {Long \ButtonPower}% |
203 | }% | 203 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect+\ButtonLeft}% |
204 | \opt{IRIVER_H10_PAD}{% | 204 | { }keys, respectively.% |
205 | Switching modes is done by pressing the | ||
206 | \opt{IRIVER_H10_PAD}{Long \ButtonPower} % | ||
207 | key.% | ||
208 | }% | 205 | }% |
209 | \opt{HAVEREMOTEKEYMAP}{ | 206 | \opt{HAVEREMOTEKEYMAP}{ |
210 | Remote % | 207 | Remote % |
211 | \opt{GIGABEAT_S_PAD}{\ButtonRCDsp} % | 208 | \opt{GIGABEAT_RC_PAD}{\ButtonRCDsp / Long \ButtonRCDsp}% |
212 | % XXX: mr100 doesn't have manual/platform/remote-keymap-mrobe100.tex | 209 | { }can also be used to switch modes.% |
213 | \opt{MROBE100_PAD}{\btnfnt{Mode} and Long \btnfnt{Mode}} % | ||
214 | can also be used to switch modes.% | ||
215 | }% | 210 | }% |
216 | \newline\newline | 211 | \newline\newline |
217 | The following modes are available: | 212 | The following modes are available: |
@@ -225,7 +220,7 @@ this option \setting{On}. If it is not required, then turning this setting | |||
225 | % | 220 | % |
226 | % Volume up / down | 221 | % Volume up / down |
227 | \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} | 222 | \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} |
228 | {\ButtonScrollBack / \ButtonScrollFwd} | 223 | {\ButtonScrollFwd / \ButtonScrollBack} |
229 | \opt{GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} | 224 | \opt{GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} |
230 | {\ButtonVolUp / \ButtonVolDown} | 225 | {\ButtonVolUp / \ButtonVolDown} |
231 | \opt{IRIVER_H10_PAD}{\ButtonScrollUp / \ButtonScrollDown} | 226 | \opt{IRIVER_H10_PAD}{\ButtonScrollUp / \ButtonScrollDown} |
@@ -238,8 +233,7 @@ this option \setting{On}. If it is not required, then turning this setting | |||
238 | % | 233 | % |
239 | % Volume mute | 234 | % Volume mute |
240 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IPOD_4G_PAD% | 235 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IPOD_4G_PAD% |
241 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 236 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD}{\ButtonSelect} |
242 | {\ButtonSelect} | ||
243 | \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack} | 237 | \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack} |
244 | \opt{IRIVER_H10_PAD}{\ButtonFF} | 238 | \opt{IRIVER_H10_PAD}{\ButtonFF} |
245 | \opt{HAVEREMOTEKEYMAP}{ | 239 | \opt{HAVEREMOTEKEYMAP}{ |
@@ -250,9 +244,9 @@ this option \setting{On}. If it is not required, then turning this setting | |||
250 | % | 244 | % |
251 | % Playback play / pause | 245 | % Playback play / pause |
252 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonUp} | 246 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonUp} |
253 | \opt{GIGABEAT_S_PAD,IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD% | 247 | \opt{IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD% |
254 | ,IPOD_1G2G_PAD,MROBE100_PAD} | 248 | ,MROBE100_PAD}{\ButtonPlay} |
255 | {\ButtonPlay} | 249 | \opt{GIGABEAT_S_PAD}{\ButtonPlay; \ButtonUp} |
256 | \opt{HAVEREMOTEKEYMAP}{ | 250 | \opt{HAVEREMOTEKEYMAP}{ |
257 | & | 251 | & |
258 | \opt{GIGABEAT_RC_PAD}{\ButtonRCPlay}% | 252 | \opt{GIGABEAT_RC_PAD}{\ButtonRCPlay}% |
@@ -261,27 +255,38 @@ this option \setting{On}. If it is not required, then turning this setting | |||
261 | % | 255 | % |
262 | % Playback stop | 256 | % Playback stop |
263 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonPower} | 257 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonPower} |
264 | \opt{GIGABEAT_S_PAD}{\ButtonMenu} | 258 | \opt{GIGABEAT_S_PAD}{\ButtonMenu; \ButtonDown} |
265 | \opt{SANSA_CLIP_PAD}{\ButtonHome} | 259 | \opt{SANSA_CLIP_PAD}{\ButtonHome} |
266 | \opt{IRIVER_H10_PAD}{\ButtonRew} | 260 | \opt{IRIVER_H10_PAD}{\ButtonRew; Long \ButtonPlay} |
267 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{Long \ButtonPlay} | 261 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} |
268 | \opt{MROBE100_PAD}{\ButtonDisplay} | 262 | {\ButtonMenu; Long \ButtonPlay} |
263 | \opt{MROBE100_PAD}{\ButtonDisplay; Long {\ButtonPlay}} | ||
269 | \opt{HAVEREMOTEKEYMAP}{ | 264 | \opt{HAVEREMOTEKEYMAP}{ |
270 | & | 265 | & |
271 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCPlay}% | 266 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCPlay}% |
272 | } | 267 | } |
273 | & Stop \\ | 268 | & Stop \\ |
274 | % | 269 | % |
275 | % Scan previous / next track | 270 | % Scan previous track |
276 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% | 271 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IRIVER_H10_PAD% |
277 | ,IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD% | 272 | ,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} |
278 | ,MROBE100_PAD} | 273 | {\ButtonLeft} |
279 | {\ButtonLeft / \ButtonRight} | 274 | \opt{GIGABEAT_RC_PAD}{\ButtonPrev; \ButtonLeft}% |
275 | \opt{HAVEREMOTEKEYMAP}{ | ||
276 | & | ||
277 | } | ||
278 | & Scan previous track \\ | ||
279 | % | ||
280 | % Scan next track | ||
281 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IRIVER_H10_PAD% | ||
282 | ,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | ||
283 | {\ButtonRight} | ||
284 | \opt{GIGABEAT_RC_PAD}{\ButtonNext; \ButtonRight}% | ||
280 | \opt{HAVEREMOTEKEYMAP}{ | 285 | \opt{HAVEREMOTEKEYMAP}{ |
281 | & | 286 | & |
282 | \opt{GIGABEAT_RC_PAD}{\ButtonRCRew / \ButtonRCFF}% | 287 | \opt{GIGABEAT_RC_PAD}{\ButtonRCFF}% |
283 | } | 288 | } |
284 | & Scan previous / next track \\ | 289 | & Scan next track \\ |
285 | \end{btnmap} | 290 | \end{btnmap} |
286 | \end{table} | 291 | \end{table} |
287 | 292 | ||
@@ -293,51 +298,92 @@ this option \setting{On}. If it is not required, then turning this setting | |||
293 | \begin{table} | 298 | \begin{table} |
294 | \begin{btnmap}{}{} | 299 | \begin{btnmap}{}{} |
295 | % | 300 | % |
296 | % Slideshow start / leave | 301 | % Slideshow start |
297 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonUp / \ButtonPower} | 302 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonUp} |
298 | \opt{GIGABEAT_S_PADIRIVER_H10_PAD}{\ButtonPlay / \ButtonMenu} | 303 | \opt{GIGABEAT_S_PAD}{\ButtonPlay; \ButtonUp} |
299 | \opt{SANSA_CLIP_PAD}{\ButtonUp / \ButtonHome} | 304 | \opt{IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD% |
300 | \opt{IRIVER_H10_PAD}{\ButtonPlay / \ButtonRew} | 305 | ,MROBE100_PAD}{\ButtonPlay} |
301 | \opt{GIGABEAT_S_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} | ||
302 | {\ButtonPlay / Long \ButtonPlay} | ||
303 | \opt{MROBE100_PAD}{\ButtonPlay / \ButtonDisplay} | ||
304 | \opt{HAVEREMOTEKEYMAP}{ | 306 | \opt{HAVEREMOTEKEYMAP}{ |
305 | & | 307 | & |
306 | \opt{GIGABEAT_RC_PAD}{\ButtonRCPlay / Long \ButtonRCPlay}% | 308 | \opt{GIGABEAT_RC_PAD}{\ButtonRCPlay}% |
307 | } | 309 | } |
308 | & Slideshow start / leave, respectively \\ | 310 | & Slideshow start \\ |
309 | % | 311 | % |
310 | % Slide previous / next | 312 | % Slideshow leave |
311 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% | 313 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonPower} |
312 | ,IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 314 | \opt{GIGABEAT_S_PAD}{Long \ButtonPlay; Long \ButtonUp} |
313 | {\ButtonLeft / \ButtonRight} | 315 | \opt{SANSA_CLIP_PAD}{\ButtonHome} |
316 | \opt{IRIVER_H10_PAD}{Long \ButtonPlay} | ||
317 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{Long \ButtonPlay} | ||
318 | \opt{MROBE100_PAD}{\ButtonDisplay; Long \ButtonPlay} | ||
314 | \opt{HAVEREMOTEKEYMAP}{ | 319 | \opt{HAVEREMOTEKEYMAP}{ |
315 | & | 320 | & |
316 | \opt{GIGABEAT_RC_PAD}{\ButtonRCRew / \ButtonRCFF}% | 321 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCPlay}% |
317 | } | 322 | } |
318 | & Slide previous / next, respectively \\ | 323 | & Slideshow leave \\ |
319 | % | 324 | % |
320 | % Slide first / last | 325 | % Slide previous |
321 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% | 326 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IPOD_4G_PAD% |
322 | ,IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 327 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD}{\ButtonLeft} |
323 | {Long \ButtonLeft / Long \ButtonRight} | 328 | \opt{GIGABEAT_S_PAD}{\ButtonPrev; \ButtonLeft} |
324 | \opt{HAVEREMOTEKEYMAP}{& } | 329 | \opt{IRIVER_H10_PAD}{\ButtonRew} |
325 | & Slide first / last, respectively \\ | 330 | \opt{HAVEREMOTEKEYMAP}{ |
331 | & | ||
332 | \opt{GIGABEAT_RC_PAD}{\ButtonRCRew}% | ||
333 | } | ||
334 | & Slide previous \\ | ||
335 | % | ||
336 | % Slide next | ||
337 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IPOD_4G_PAD% | ||
338 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD}{\ButtonRight} | ||
339 | \opt{GIGABEAT_S_PAD}{\ButtonNext; \ButtonRight} | ||
340 | \opt{IRIVER_H10_PAD}{\ButtonFF} | ||
341 | \opt{HAVEREMOTEKEYMAP}{ | ||
342 | & | ||
343 | \opt{GIGABEAT_RC_PAD}{\ButtonRCFF}% | ||
344 | } | ||
345 | & Slide next \\ | ||
346 | % | ||
347 | % Slide first | ||
348 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IPOD_4G_PAD% | ||
349 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD}{Long \ButtonLeft} | ||
350 | \opt{GIGABEAT_S_PAD}{Long \ButtonPrev; Long \ButtonLeft} | ||
351 | \opt{IRIVER_H10_PAD}{Long \ButtonRew} | ||
352 | \opt{HAVEREMOTEKEYMAP}{ | ||
353 | & | ||
354 | } | ||
355 | & Slide first \\ | ||
356 | % | ||
357 | % Slide last | ||
358 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IPOD_4G_PAD% | ||
359 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD}{Long \ButtonRight} | ||
360 | \opt{GIGABEAT_S_PAD}{Long \ButtonNext; Long \ButtonRight} | ||
361 | \opt{IRIVER_H10_PAD}{Long \ButtonFF} | ||
362 | \opt{HAVEREMOTEKEYMAP}{ | ||
363 | & | ||
364 | } | ||
365 | & Slide last \\ | ||
326 | % | 366 | % |
327 | % Screen black | 367 | % Screen black |
328 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} | 368 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} |
329 | {\ButtonDown} | 369 | {\ButtonDown} |
330 | \opt{IRIVER_H10_PAD}{\ButtonPower} | 370 | \opt{IRIVER_H10_PAD}{\ButtonLeft} |
331 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD}{\ButtonMenu} | 371 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} |
332 | \opt{HAVEREMOTEKEYMAP}{& } | 372 | {\ButtonMenu} |
373 | \opt{HAVEREMOTEKEYMAP}{ | ||
374 | & | ||
375 | } | ||
333 | & Blank screen \\ | 376 | & Blank screen \\ |
334 | % | 377 | % |
335 | % Screen white | 378 | % Screen white |
336 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} | 379 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} |
337 | {Long \ButtonDown} | 380 | {Long \ButtonDown} |
381 | \opt{IRIVER_H10_PAD}{Long \ButtonLeft} | ||
338 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 382 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} |
339 | {Long \ButtonMenu} | 383 | {Long \ButtonMenu} |
340 | \opt{HAVEREMOTEKEYMAP}{& } | 384 | \opt{HAVEREMOTEKEYMAP}{ |
385 | & | ||
386 | } | ||
341 | & White screen \\ | 387 | & White screen \\ |
342 | % | 388 | % |
343 | % Link previous / next | 389 | % Link previous / next |
@@ -358,7 +404,7 @@ this option \setting{On}. If it is not required, then turning this setting | |||
358 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 404 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} |
359 | {\ButtonSelect} | 405 | {\ButtonSelect} |
360 | \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack} | 406 | \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack} |
361 | \opt{IRIVER_H10_PAD}{\ButtonFF} | 407 | \opt{IRIVER_H10_PAD}{\ButtonRight} |
362 | \opt{HAVEREMOTEKEYMAP}{ | 408 | \opt{HAVEREMOTEKEYMAP}{ |
363 | & | 409 | & |
364 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCFF}% | 410 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCFF}% |
@@ -370,6 +416,7 @@ this option \setting{On}. If it is not required, then turning this setting | |||
370 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 416 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} |
371 | {Long \ButtonSelect} | 417 | {Long \ButtonSelect} |
372 | \opt{GIGABEAT_S_PAD}{Long \ButtonSelect; Long \ButtonBack} | 418 | \opt{GIGABEAT_S_PAD}{Long \ButtonSelect; Long \ButtonBack} |
419 | \opt{IRIVER_H10_PAD}{Long \ButtonRight} | ||
373 | \opt{HAVEREMOTEKEYMAP}{ | 420 | \opt{HAVEREMOTEKEYMAP}{ |
374 | & | 421 | & |
375 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCRew}% | 422 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCRew}% |
@@ -387,8 +434,9 @@ this option \setting{On}. If it is not required, then turning this setting | |||
387 | % Scroll up / down | 434 | % Scroll up / down |
388 | \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} | 435 | \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} |
389 | {\ButtonScrollBack / \ButtonScrollFwd} | 436 | {\ButtonScrollBack / \ButtonScrollFwd} |
390 | \opt{GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} | 437 | \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp / \ButtonVolDown} |
391 | {\ButtonVolUp / \ButtonVolDown} | 438 | \opt{GIGABEAT_S_PAD} |
439 | {\ButtonPrev; \ButtonVolUp / \ButtonNext; \ButtonVolDown} | ||
392 | \opt{IRIVER_H10_PAD}{\ButtonScrollUp / \ButtonScrollDown} | 440 | \opt{IRIVER_H10_PAD}{\ButtonScrollUp / \ButtonScrollDown} |
393 | \opt{MROBE100_PAD}{\ButtonUp / \ButtonDown} | 441 | \opt{MROBE100_PAD}{\ButtonUp / \ButtonDown} |
394 | \opt{HAVEREMOTEKEYMAP}{ | 442 | \opt{HAVEREMOTEKEYMAP}{ |
@@ -400,48 +448,66 @@ this option \setting{On}. If it is not required, then turning this setting | |||
400 | % Scroll page up / page down | 448 | % Scroll page up / page down |
401 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} | 449 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} |
402 | {\ButtonUp / \ButtonDown} | 450 | {\ButtonUp / \ButtonDown} |
403 | \opt{GIGABEAT_S_PAD}{\ButtonPlay / \ButtonDown} | 451 | \opt{GIGABEAT_S_PAD}{\ButtonUp / \ButtonDown} |
404 | \opt{IRIVER_H10_PAD}{\ButtonPlay / \ButtonPower} | 452 | \opt{IRIVER_H10_PAD}{\ButtonRew / \ButtonFF} |
405 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 453 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} |
406 | {\ButtonPlay / \ButtonMenu} | 454 | {\ButtonPlay / \ButtonMenu} |
407 | \opt{HAVEREMOTEKEYMAP}{ | 455 | \opt{HAVEREMOTEKEYMAP}{ |
408 | & | 456 | & |
409 | \opt{GIGABEAT_RC_PAD}{\ButtonRCPlay / Long \ButtonRCDsp}% | ||
410 | } | 457 | } |
411 | & Scroll page up / page down, respectively \\ | 458 | & Scroll page up / page down, respectively \\ |
412 | % | 459 | % |
413 | % Zoom in / out | 460 | % Zoom in / out |
414 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} | 461 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} |
415 | {Long \ButtonUp / Long \ButtonDown} | 462 | {Long \ButtonUp / Long \ButtonDown} |
416 | \opt{GIGABEAT_S_PAD}{Long \ButtonPlay / Long \ButtonPower} | 463 | \opt{GIGABEAT_S_PAD}{Long \ButtonUp / Long \ButtonDown} |
417 | \opt{MROBE100_PAD}{Long \ButtonPlay / Long \ButtonMenu} | 464 | \opt{IRIVER_H10_PAD}{Long \ButtonRew / Long \ButtonFF} |
418 | \opt{HAVEREMOTEKEYMAP}{& } | 465 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} |
466 | {Long \ButtonPlay / Long \ButtonMenu} | ||
467 | \opt{HAVEREMOTEKEYMAP}{ | ||
468 | & | ||
469 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCFF / Long \ButtonRCRew}% | ||
470 | } | ||
419 | & Zoom in / out, respectively \\ | 471 | & Zoom in / out, respectively \\ |
420 | % | 472 | % |
421 | % Zoom reset | 473 | % Zoom reset |
422 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,MROBE100_PAD} | 474 | \opt{SANSA_E200_PAD}{Long \ButtonSelect; Long \ButtonUp+\ButtonDown} |
423 | {Long \ButtonSelect} | 475 | \opt{MROBE100_PAD}{Long \ButtonSelect; Long \ButtonPlay+\ButtonMenu} |
424 | \opt{GIGABEAT_S_PAD}{Long \ButtonSelect; Long \ButtonBack} | 476 | \opt{SANSA_CLIP_PAD,SANSA_C200_PAD} |
477 | {Long \ButtonSelect; Long \ButtonUp+\ButtonDown} | ||
478 | \opt{GIGABEAT_S_PAD}{Long \ButtonSelect; Long \ButtonUp+\ButtonDown} | ||
479 | \opt{IRIVER_H10_PAD}{Long \ButtonRew+\ButtonFF} | ||
480 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} | ||
481 | {Long \ButtonPlay+\ButtonMenu} | ||
425 | \opt{HAVEREMOTEKEYMAP}{ | 482 | \opt{HAVEREMOTEKEYMAP}{ |
426 | & | 483 | & |
427 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCRew}% | 484 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCFF+\ButtonRCRew}% |
428 | } | 485 | } |
429 | & Zoom reset \\ | 486 | & Zoom reset \\ |
430 | % | 487 | % |
431 | % Tab previous / next | 488 | % Tab previous / next |
432 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% | 489 | \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% |
433 | ,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 490 | ,IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD% |
491 | ,MROBE100_PAD} | ||
434 | {\ButtonLeft / \ButtonRight} | 492 | {\ButtonLeft / \ButtonRight} |
435 | \opt{IRIVER_H10_PAD}{\ButtonRew / \ButtonFF} | 493 | \opt{HAVEREMOTEKEYMAP}{ |
436 | \opt{HAVEREMOTEKEYMAP}{& } | 494 | & |
495 | \opt{GIGABEAT_RC_PAD}{\ButtonRCRew / \ButtonRCFF}% | ||
496 | } | ||
437 | & Tab previous / next, respectively \\ | 497 | & Tab previous / next, respectively \\ |
438 | % | 498 | % |
439 | % Tab close | 499 | % Tab close |
440 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{Long \ButtonPower} | 500 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{Long \ButtonPower} |
441 | \opt{GIGABEAT_S_PAD}{Long \ButtonMenu} | 501 | \opt{GIGABEAT_S_PAD}{Long \ButtonPlay; Long \ButtonBack} |
442 | \opt{SANSA_CLIP_PAD}{Long \ButtonHome} | 502 | \opt{SANSA_CLIP_PAD}{Long \ButtonHome} |
503 | \opt{IRIVER_H10_PAD}{Long \ButtonLeft+\ButtonRight} | ||
443 | \opt{MROBE100_PAD}{Long \ButtonDisplay} | 504 | \opt{MROBE100_PAD}{Long \ButtonDisplay} |
444 | \opt{HAVEREMOTEKEYMAP}{& } | 505 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} |
506 | {Long \ButtonSelect+\ButtonMenu} | ||
507 | \opt{HAVEREMOTEKEYMAP}{ | ||
508 | & | ||
509 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCPlay}% | ||
510 | } | ||
445 | & Tab close \\ | 511 | & Tab close \\ |
446 | % | 512 | % |
447 | % History back / forward | 513 | % History back / forward |
@@ -450,19 +516,19 @@ this option \setting{On}. If it is not required, then turning this setting | |||
450 | {Long \ButtonLeft / Long \ButtonRight} | 516 | {Long \ButtonLeft / Long \ButtonRight} |
451 | \opt{HAVEREMOTEKEYMAP}{ | 517 | \opt{HAVEREMOTEKEYMAP}{ |
452 | & | 518 | & |
453 | \opt{GIGABEAT_RC_PAD}{\ButtonRCRew / \ButtonRCFF}% | ||
454 | } | 519 | } |
455 | & History back / forward \\ | 520 | & History back / forward \\ |
456 | % | 521 | % |
457 | % View full-screen | 522 | % View full-screen |
458 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IPOD_4G_PAD% | 523 | \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD% |
459 | ,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} | 524 | ,MROBE100_PAD} |
460 | {\ButtonSelect} | 525 | {\ButtonSelect} |
461 | \opt{GIGABEAT_S_PAD}{Long \ButtonSelect; Long \ButtonBack} | 526 | \opt{IRIVER_H10_PAD}{\ButtonPlay} |
462 | \opt{IRIVER_H10_PAD}{\ButtonFF} | 527 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} |
528 | {Long \ButtonSelect+\ButtonPlay} | ||
463 | \opt{HAVEREMOTEKEYMAP}{ | 529 | \opt{HAVEREMOTEKEYMAP}{ |
464 | & | 530 | & |
465 | \opt{GIGABEAT_RC_PAD}{Long \ButtonRCRew}% | 531 | \opt{GIGABEAT_RC_PAD}{\ButtonRCPlay}% |
466 | } | 532 | } |
467 | & View full-screen toggle \\ | 533 | & View full-screen toggle \\ |
468 | \end{btnmap} | 534 | \end{btnmap} |
@@ -480,9 +546,9 @@ this option \setting{On}. If it is not required, then turning this setting | |||
480 | {\ButtonUp / \ButtonDown / \ButtonLeft / \ButtonRight} | 546 | {\ButtonUp / \ButtonDown / \ButtonLeft / \ButtonRight} |
481 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} | 547 | \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} |
482 | {\ButtonMenu / \ButtonPlay / \ButtonLeft / \ButtonRight} | 548 | {\ButtonMenu / \ButtonPlay / \ButtonLeft / \ButtonRight} |
483 | \opt{IRIVER_H10_PAD} | 549 | \opt{HAVEREMOTEKEYMAP}{ |
484 | {\ButtonScrollUp / \ButtonScrollDown / \ButtonLeft / \ButtonRight} | 550 | & |
485 | \opt{HAVEREMOTEKEYMAP}{& } | 551 | } |
486 | & Cursor move up / down / left / right, respectively \\ | 552 | & Cursor move up / down / left / right, respectively \\ |
487 | % | 553 | % |
488 | % Mouse button left-click | 554 | % Mouse button left-click |
@@ -490,25 +556,31 @@ this option \setting{On}. If it is not required, then turning this setting | |||
490 | ,IPOD_3G_PAD,IPOD_1G2G_PAD} | 556 | ,IPOD_3G_PAD,IPOD_1G2G_PAD} |
491 | {\ButtonSelect} | 557 | {\ButtonSelect} |
492 | \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack} | 558 | \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack} |
493 | \opt{MROBE100_PAD}{\ButtonSelect; \ButtonMenu} | 559 | \opt{MROBE100_PAD}{\ButtonMenu} |
494 | \opt{IRIVER_H10_PAD}{\ButtonPower} | 560 | \opt{HAVEREMOTEKEYMAP}{ |
495 | \opt{HAVEREMOTEKEYMAP}{& } | 561 | & |
562 | } | ||
496 | & Left mouse button click \\ | 563 | & Left mouse button click \\ |
497 | % | 564 | % |
498 | % Mouse button right-click | 565 | % Mouse button right-click |
499 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonPower} | 566 | \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonPower} |
500 | \opt{GIGABEAT_S_PAD}{\ButtonMenu} | 567 | \opt{GIGABEAT_S_PAD}{\ButtonMenu} |
501 | \opt{SANSA_CLIP_PAD}{\ButtonHome} | 568 | \opt{SANSA_CLIP_PAD}{\ButtonHome} |
502 | \opt{MROBE100_PAD,IRIVER_H10_PAD}{\ButtonPlay} | 569 | \opt{MROBE100_PAD}{\ButtonPlay} |
503 | \opt{HAVEREMOTEKEYMAP}{& } | 570 | \opt{HAVEREMOTEKEYMAP}{ |
571 | & | ||
572 | } | ||
504 | & Right mouse button click \\ | 573 | & Right mouse button click \\ |
505 | % Mouse wheel scroll up / down | 574 | % Mouse wheel scroll up / down |
506 | \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} | 575 | \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} |
507 | {\ButtonScrollBack / \ButtonScrollFwd} | 576 | {\ButtonScrollBack / \ButtonScrollFwd} |
508 | \opt{GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD} | 577 | \opt{GIGABEAT_S_PAD} |
578 | {\ButtonVolUp; \ButtonPrev / \ButtonVolDown; \ButtonNext} | ||
579 | \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,MROBE100_PAD} | ||
509 | {\ButtonVolUp / \ButtonVolDown} | 580 | {\ButtonVolUp / \ButtonVolDown} |
510 | \opt{IRIVER_H10_PAD}{\ButtonRew / \ButtonFF} | 581 | \opt{HAVEREMOTEKEYMAP}{ |
511 | \opt{HAVEREMOTEKEYMAP}{& } | 582 | & |
583 | } | ||
512 | & Mouse wheel scroll up / down, respectively \\ | 584 | & Mouse wheel scroll up / down, respectively \\ |
513 | \end{btnmap} | 585 | \end{btnmap} |
514 | \end{table} | 586 | \end{table} |