summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/keymaps/keymap-xduoox3.c56
1 files changed, 55 insertions, 1 deletions
diff --git a/apps/keymaps/keymap-xduoox3.c b/apps/keymaps/keymap-xduoox3.c
index c09090021c..83314532b6 100644
--- a/apps/keymaps/keymap-xduoox3.c
+++ b/apps/keymaps/keymap-xduoox3.c
@@ -116,7 +116,7 @@ static const struct button_mapping button_context_pitchscreen[] = {
116 { ACTION_PS_INC_SMALL, BUTTON_VOL_UP, BUTTON_NONE }, 116 { ACTION_PS_INC_SMALL, BUTTON_VOL_UP, BUTTON_NONE },
117 { ACTION_PS_INC_BIG, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 117 { ACTION_PS_INC_BIG, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
118 { ACTION_PS_DEC_SMALL, BUTTON_VOL_DOWN, BUTTON_NONE }, 118 { ACTION_PS_DEC_SMALL, BUTTON_VOL_DOWN, BUTTON_NONE },
119 { ACTION_PS_DEC_BIG, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 119 { ACTION_PS_DEC_BIG, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
120 { ACTION_PS_NUDGE_LEFT, BUTTON_PREV, BUTTON_NONE }, 120 { ACTION_PS_NUDGE_LEFT, BUTTON_PREV, BUTTON_NONE },
121 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_PREV|BUTTON_REL, BUTTON_NONE }, 121 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_PREV|BUTTON_REL, BUTTON_NONE },
122 { ACTION_PS_NUDGE_RIGHT, BUTTON_NEXT, BUTTON_NONE }, 122 { ACTION_PS_NUDGE_RIGHT, BUTTON_NEXT, BUTTON_NONE },
@@ -183,6 +183,52 @@ static const struct button_mapping button_context_yesnoscreen[] = {
183 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 183 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
184}; /* button_context_settings_yesnoscreen */ 184}; /* button_context_settings_yesnoscreen */
185 185
186#ifdef USB_ENABLE_HID
187static const struct button_mapping button_context_usb_hid[] = {
188 { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_OPTION|BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT },
189 { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_OPTION|BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NEXT },
190 { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_OPTION|BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
191 { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_OPTION|BUTTON_PREV|BUTTON_REPEAT, BUTTON_PREV },
192
193 LAST_ITEM_IN_LIST
194}; /* button_context_usb_hid */
195
196static const struct button_mapping button_context_usb_hid_mode_multimedia[] = {
197 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
198 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
199 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP, BUTTON_NONE },
200 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
201 { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
202 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
203 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_HOME|BUTTON_REL, BUTTON_HOME },
204 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_PREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
205 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_TRACK_NEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT },
206
207 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
208}; /* button_context_usb_hid_mode_multimedia */
209
210static const struct button_mapping button_context_usb_hid_mode_presentation[] = {
211 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
212 { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE, BUTTON_HOME|BUTTON_REL, BUTTON_HOME },
213 { ACTION_USB_HID_PRESENTATION_SLIDE_PREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
214 { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT },
215 { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST, BUTTON_PREV|BUTTON_REPEAT, BUTTON_PREV },
216 { ACTION_USB_HID_PRESENTATION_SLIDE_LAST, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NEXT },
217 { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_OPTION|BUTTON_REL, BUTTON_OPTION },
218 { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_OPTION|BUTTON_REPEAT, BUTTON_OPTION },
219 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP, BUTTON_NONE },
220 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
221 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN, BUTTON_NONE },
222 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
223 { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
224 { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
225
226 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
227}; /* button_context_usb_hid_mode_presentation */
228
229// XXX TODO: browser and HID mouse mode?
230#endif
231
186/* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */ 232/* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */
187const struct button_mapping* get_context_mapping(int context) 233const struct button_mapping* get_context_mapping(int context)
188{ 234{
@@ -214,6 +260,14 @@ const struct button_mapping* get_context_mapping(int context)
214 return button_context_wps; 260 return button_context_wps;
215 case CONTEXT_YESNOSCREEN: 261 case CONTEXT_YESNOSCREEN:
216 return button_context_yesnoscreen; 262 return button_context_yesnoscreen;
263#ifdef USB_ENABLE_HID
264 case CONTEXT_USB_HID:
265 return button_context_usb_hid;
266 case CONTEXT_USB_HID_MODE_MULTIMEDIA:
267 return button_context_usb_hid_mode_multimedia;
268 case CONTEXT_USB_HID_MODE_PRESENTATION:
269 return button_context_usb_hid_mode_presentation;
270#endif
217 } 271 }
218 return button_context_standard; 272 return button_context_standard;
219} 273}