diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/keymaps/keymap-x5.c | 72 |
1 files changed, 71 insertions, 1 deletions
diff --git a/apps/keymaps/keymap-x5.c b/apps/keymaps/keymap-x5.c index 4a119665a3..b04932f02f 100644 --- a/apps/keymaps/keymap-x5.c +++ b/apps/keymaps/keymap-x5.c | |||
@@ -86,13 +86,15 @@ const struct button_mapping button_context_settings[] = { | |||
86 | 86 | ||
87 | LAST_ITEM_IN_LIST | 87 | LAST_ITEM_IN_LIST |
88 | }; | 88 | }; |
89 | |||
89 | const struct button_mapping button_context_tree[] = { | 90 | const struct button_mapping button_context_tree[] = { |
90 | { ACTION_NONE, BUTTON_PLAY, BUTTON_NONE }, | 91 | { ACTION_NONE, BUTTON_PLAY, BUTTON_NONE }, |
91 | { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | 92 | { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
92 | { ACTION_TREE_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | 93 | { ACTION_TREE_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, |
93 | 94 | ||
94 | LAST_ITEM_IN_LIST | 95 | LAST_ITEM_IN_LIST |
95 | }; /* button_context_listtree */ | 96 | }; |
97 | |||
96 | const struct button_mapping button_context_tree_scroll_lr[] = { | 98 | const struct button_mapping button_context_tree_scroll_lr[] = { |
97 | { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, | 99 | { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, |
98 | { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | 100 | { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, |
@@ -153,8 +155,76 @@ const struct button_mapping button_context_pitchscreen[] = { | |||
153 | LAST_ITEM_IN_LIST | 155 | LAST_ITEM_IN_LIST |
154 | }; /* button_context_pitchscreen */ | 156 | }; /* button_context_pitchscreen */ |
155 | 157 | ||
158 | |||
159 | const struct button_mapping remote_button_context_standard[] = { | ||
160 | { ACTION_STD_PREV, BUTTON_RC_REW, BUTTON_NONE }, | ||
161 | { ACTION_STD_PREVREPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
162 | { ACTION_STD_NEXT, BUTTON_RC_FF, BUTTON_NONE }, | ||
163 | { ACTION_STD_NEXTREPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
164 | |||
165 | { ACTION_STD_CONTEXT, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
166 | { ACTION_STD_CANCEL, BUTTON_RC_MODE, BUTTON_NONE }, | ||
167 | { ACTION_STD_OK, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
168 | { ACTION_STD_MENU, BUTTON_RC_MENU|BUTTON_REL, BUTTON_RC_MENU }, | ||
169 | { ACTION_STD_QUICKSCREEN,BUTTON_RC_MENU|BUTTON_REPEAT, BUTTON_RC_MENU }, | ||
170 | |||
171 | LAST_ITEM_IN_LIST | ||
172 | }; | ||
173 | |||
174 | const struct button_mapping remote_button_context_tree[] = { | ||
175 | { ACTION_TREE_WPS, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE }, | ||
176 | { ACTION_TREE_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, | ||
177 | |||
178 | LAST_ITEM_IN_LIST | ||
179 | }; | ||
180 | |||
181 | const struct button_mapping remote_button_context_wps[] = { | ||
182 | { ACTION_WPS_PLAY, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
183 | { ACTION_WPS_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
184 | { ACTION_WPS_SKIPPREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
185 | { ACTION_WPS_SEEKBACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
186 | { ACTION_WPS_STOPSEEK, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT }, | ||
187 | { ACTION_WPS_SKIPNEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
188 | { ACTION_WPS_SEEKFWD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
189 | { ACTION_WPS_STOPSEEK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF|BUTTON_REPEAT }, | ||
190 | |||
191 | { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
192 | { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
193 | { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
194 | { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
195 | |||
196 | { ACTION_WPS_BROWSE, BUTTON_RC_MODE|BUTTON_REL, BUTTON_RC_MODE }, | ||
197 | { ACTION_WPS_CONTEXT, BUTTON_RC_MODE|BUTTON_REPEAT, BUTTON_RC_MODE }, | ||
198 | { ACTION_WPS_MENU, BUTTON_RC_MENU|BUTTON_REL, BUTTON_RC_MENU }, | ||
199 | { ACTION_WPS_QUICKSCREEN, BUTTON_RC_MENU|BUTTON_REPEAT, BUTTON_RC_MENU }, | ||
200 | |||
201 | |||
202 | LAST_ITEM_IN_LIST | ||
203 | }; | ||
204 | |||
205 | |||
206 | static const struct button_mapping* get_context_mapping_remote( int context ) | ||
207 | { | ||
208 | context ^= CONTEXT_REMOTE; | ||
209 | |||
210 | switch (context) | ||
211 | { | ||
212 | case CONTEXT_TREE: | ||
213 | return remote_button_context_tree; | ||
214 | |||
215 | case CONTEXT_WPS: | ||
216 | return remote_button_context_wps; | ||
217 | |||
218 | default: | ||
219 | return remote_button_context_standard; | ||
220 | } | ||
221 | } | ||
222 | |||
156 | const struct button_mapping* get_context_mapping( int context ) | 223 | const struct button_mapping* get_context_mapping( int context ) |
157 | { | 224 | { |
225 | if (context&CONTEXT_REMOTE) | ||
226 | return get_context_mapping_remote(context); | ||
227 | |||
158 | switch( context ) | 228 | switch( context ) |
159 | { | 229 | { |
160 | case CONTEXT_STD: | 230 | case CONTEXT_STD: |