diff options
Diffstat (limited to 'apps/keymaps/keymap-ipod.c')
-rw-r--r-- | apps/keymaps/keymap-ipod.c | 148 |
1 files changed, 68 insertions, 80 deletions
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: |