summaryrefslogtreecommitdiff
path: root/apps/keymaps/keymap-touchscreen.c
diff options
context:
space:
mode:
authorTomer Shalev <shalev.tomer@gmail.com>2009-10-17 05:39:54 +0000
committerTomer Shalev <shalev.tomer@gmail.com>2009-10-17 05:39:54 +0000
commit4f3d7b5bcb0b025332e128c3856aa9d4cce91898 (patch)
treeac2f783e9585c476fbaa9dfaf3a7a34e826f7ccc /apps/keymaps/keymap-touchscreen.c
parent6d4d44caf69e06ea51937da9c74e78af0ac99a62 (diff)
downloadrockbox-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
Diffstat (limited to 'apps/keymaps/keymap-touchscreen.c')
-rw-r--r--apps/keymaps/keymap-touchscreen.c83
1 files changed, 63 insertions, 20 deletions
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
255static const struct button_mapping button_context_usb_hid[] = { 255static 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
262static 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
276static 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
295static 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
279const struct button_mapping* get_context_mapping(int context) 315const 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}