summaryrefslogtreecommitdiff
path: root/apps/keymaps/keymap-h10.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/keymaps/keymap-h10.c')
-rw-r--r--apps/keymaps/keymap-h10.c131
1 files changed, 130 insertions, 1 deletions
diff --git a/apps/keymaps/keymap-h10.c b/apps/keymaps/keymap-h10.c
index 1be904727e..7cced51951 100644
--- a/apps/keymaps/keymap-h10.c
+++ b/apps/keymaps/keymap-h10.c
@@ -52,6 +52,15 @@ const struct button_mapping button_context_standard[] = {
52 LAST_ITEM_IN_LIST 52 LAST_ITEM_IN_LIST
53}; /* button_context_standard */ 53}; /* button_context_standard */
54 54
55const struct button_mapping remote_button_context_standard[] = {
56 { ACTION_STD_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE },
57 { ACTION_STD_PREVREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
58 { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
59 { ACTION_STD_NEXTREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
60
61 LAST_ITEM_IN_LIST
62}; /* remote_button_context_standard */
63
55const struct button_mapping button_context_wps[] = { 64const struct button_mapping button_context_wps[] = {
56 { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, 65 { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
57 { ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT,BUTTON_PLAY }, 66 { ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT,BUTTON_PLAY },
@@ -77,6 +86,27 @@ const struct button_mapping button_context_wps[] = {
77 LAST_ITEM_IN_LIST 86 LAST_ITEM_IN_LIST
78}; /* button_context_wps */ 87}; /* button_context_wps */
79 88
89const struct button_mapping remote_button_context_wps[] = {
90 { ACTION_WPS_PLAY, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY },
91 { ACTION_WPS_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT,BUTTON_RC_PLAY },
92 { ACTION_WPS_SKIPPREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW},
93 { ACTION_WPS_SEEKBACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE },
94 { ACTION_WPS_STOPSEEK, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT },
95 { ACTION_WPS_SKIPNEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF },
96 { ACTION_WPS_SEEKFWD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE },
97 { ACTION_WPS_STOPSEEK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF|BUTTON_REPEAT },
98
99 { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
100 { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
101 { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE },
102 { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
103
104 { ACTION_WPS_PITCHSCREEN, BUTTON_RC_PLAY|BUTTON_LEFT, BUTTON_RC_PLAY },
105 { ACTION_WPS_ID3SCREEN, BUTTON_RC_PLAY|BUTTON_RIGHT, BUTTON_RC_PLAY },
106
107 LAST_ITEM_IN_LIST
108}; /* remote_button_context_wps */
109
80const struct button_mapping button_context_settings[] = { 110const struct button_mapping button_context_settings[] = {
81 { ACTION_SETTINGS_INC, BUTTON_SCROLL_UP, BUTTON_NONE }, 111 { ACTION_SETTINGS_INC, BUTTON_SCROLL_UP, BUTTON_NONE },
82 { ACTION_SETTINGS_INCREPEAT,BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, 112 { ACTION_SETTINGS_INCREPEAT,BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
@@ -98,6 +128,13 @@ const struct button_mapping button_context_list[] = {
98 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 128 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
99}; /* button_context_list */ 129}; /* button_context_list */
100 130
131const struct button_mapping remote_button_context_list[] = {
132 { ACTION_LISTTREE_PGUP, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW },
133 { ACTION_LISTTREE_PGDOWN, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF },
134
135 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
136}; /* button_context_list */
137
101const struct button_mapping button_context_tree[] = { 138const struct button_mapping button_context_tree[] = {
102 { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, 139 { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
103 { ACTION_TREE_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, 140 { ACTION_TREE_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
@@ -105,6 +142,13 @@ const struct button_mapping button_context_tree[] = {
105 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), 142 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST),
106}; /* button_context_tree */ 143}; /* button_context_tree */
107 144
145const struct button_mapping remote_button_context_tree[] = {
146 { ACTION_TREE_WPS, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY },
147 { ACTION_TREE_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY },
148
149 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST),
150}; /* button_context_tree */
151
108const struct button_mapping button_context_listtree_scroll_without_combo[] = { 152const struct button_mapping button_context_listtree_scroll_without_combo[] = {
109 { ACTION_TREE_ROOT_INIT, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW }, 153 { ACTION_TREE_ROOT_INIT, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW },
110 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, 154 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE },
@@ -112,6 +156,13 @@ const struct button_mapping button_context_listtree_scroll_without_combo[] = {
112 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), 156 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
113}; /* button_context_listtree_scroll_without_combo */ 157}; /* button_context_listtree_scroll_without_combo */
114 158
159const struct button_mapping remote_button_context_listtree_scroll_without_combo[] = {
160 { ACTION_TREE_ROOT_INIT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW },
161 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE },
162 { ACTION_TREE_PGRIGHT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE },
163 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
164}; /* button_context_listtree_scroll_without_combo */
165
115const struct button_mapping button_context_listtree_scroll_with_combo[] = { 166const struct button_mapping button_context_listtree_scroll_with_combo[] = {
116 { ACTION_LISTTREE_PGUP, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW }, 167 { ACTION_LISTTREE_PGUP, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW },
117 { ACTION_LISTTREE_PGDOWN, BUTTON_FF|BUTTON_REPEAT, BUTTON_FF }, 168 { ACTION_LISTTREE_PGDOWN, BUTTON_FF|BUTTON_REPEAT, BUTTON_FF },
@@ -127,6 +178,21 @@ const struct button_mapping button_context_listtree_scroll_with_combo[] = {
127 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), 178 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
128}; /* button_context_listtree_scroll_with_combo */ 179}; /* button_context_listtree_scroll_with_combo */
129 180
181const struct button_mapping remote_button_context_listtree_scroll_with_combo[] = {
182 { ACTION_LISTTREE_PGUP, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW },
183 { ACTION_LISTTREE_PGDOWN, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF },
184 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_RC_PLAY, BUTTON_RC_PLAY },
185 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_RC_PLAY },
186 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_RC_PLAY, BUTTON_RC_REW|BUTTON_REL },
187 { ACTION_TREE_ROOT_INIT, BUTTON_RC_REW|BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_REW|BUTTON_RC_PLAY },
188 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE },
189 { ACTION_TREE_PGRIGHT, BUTTON_RC_FF|BUTTON_RC_PLAY, BUTTON_RC_PLAY },
190 { ACTION_TREE_PGRIGHT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF|BUTTON_RC_PLAY },
191 { ACTION_TREE_PGRIGHT, BUTTON_RC_FF|BUTTON_RC_PLAY, BUTTON_RC_FF|BUTTON_REL },
192 { ACTION_TREE_PGRIGHT, BUTTON_RC_FF|BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_NONE },
193 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
194}; /* button_context_listtree_scroll_with_combo */
195
130const struct button_mapping button_context_yesno[] = { 196const struct button_mapping button_context_yesno[] = {
131 { ACTION_YESNO_ACCEPT, BUTTON_RIGHT, BUTTON_NONE }, 197 { ACTION_YESNO_ACCEPT, BUTTON_RIGHT, BUTTON_NONE },
132 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), 198 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
@@ -145,6 +211,19 @@ const struct button_mapping button_context_quickscreen[] = {
145 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), 211 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
146}; /* button_context_quickscreen */ 212}; /* button_context_quickscreen */
147 213
214const struct button_mapping remote_button_context_quickscreen[] = {
215 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE },
216 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
217 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
218 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
219 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
220 { ACTION_QS_LEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE },
221 { ACTION_QS_RIGHT, BUTTON_RC_FF, BUTTON_NONE },
222 { ACTION_QS_RIGHT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE },
223
224 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
225}; /* button_context_quickscreen */
226
148const struct button_mapping button_context_settings_right_is_inc[] = { 227const struct button_mapping button_context_settings_right_is_inc[] = {
149 { ACTION_SETTINGS_INC, BUTTON_SCROLL_UP, BUTTON_NONE }, 228 { ACTION_SETTINGS_INC, BUTTON_SCROLL_UP, BUTTON_NONE },
150 { ACTION_SETTINGS_INCREPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, 229 { ACTION_SETTINGS_INCREPEAT, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
@@ -177,6 +256,20 @@ const struct button_mapping button_context_pitchscreen[] = {
177 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), 256 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
178}; /* button_context_pitchscreen */ 257}; /* button_context_pitchscreen */
179 258
259const struct button_mapping remote_button_context_pitchscreen[] = {
260 { ACTION_PS_INC_SMALL, BUTTON_RC_VOL_UP, BUTTON_NONE },
261 { ACTION_PS_INC_BIG, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
262 { ACTION_PS_DEC_SMALL, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
263 { ACTION_PS_DEC_BIG, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
264 { ACTION_PS_NUDGE_LEFT, BUTTON_RC_REW, BUTTON_NONE },
265 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_RC_REW|BUTTON_REL, BUTTON_NONE },
266 { ACTION_PS_NUDGE_RIGHT, BUTTON_RC_FF, BUTTON_NONE },
267 { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RC_FF|BUTTON_REL, BUTTON_NONE },
268 { ACTION_PS_RESET, BUTTON_RC_PLAY, BUTTON_NONE },
269
270 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
271}; /* button_context_pitchscreen */
272
180const struct button_mapping button_context_keyboard[] = { 273const struct button_mapping button_context_keyboard[] = {
181 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, 274 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE },
182 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 275 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
@@ -200,9 +293,45 @@ const struct button_mapping button_context_bmark[] = {
200 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), 293 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
201}; /* button_context_bmark */ 294}; /* button_context_bmark */
202 295
296static const struct button_mapping* get_context_mapping_remote( int context )
297{
298 context ^= CONTEXT_REMOTE;
299
300 switch (context)
301 {
302 case CONTEXT_STD:
303 case CONTEXT_MAINMENU:
304 return remote_button_context_standard;
305
306 case CONTEXT_WPS:
307 return remote_button_context_wps;
308
309 case CONTEXT_LIST:
310 return remote_button_context_list;
311 case CONTEXT_TREE:
312 if (global_settings.hold_lr_for_scroll_in_list)
313 return remote_button_context_listtree_scroll_without_combo;
314 else
315 return remote_button_context_listtree_scroll_with_combo;
316 case CONTEXT_CUSTOM|CONTEXT_TREE:
317 return remote_button_context_tree;
318
319 case CONTEXT_QUICKSCREEN:
320 return remote_button_context_quickscreen;
321 case CONTEXT_PITCHSCREEN:
322 return remote_button_context_pitchscreen;
323
324 default:
325 return remote_button_context_standard;
326 }
327}
328
203/* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */ 329/* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */
204const struct button_mapping* get_context_mapping(int context) 330const struct button_mapping* get_context_mapping(int context)
205{ 331{
332 if (context&CONTEXT_REMOTE)
333 return get_context_mapping_remote(context);
334
206 switch (context) 335 switch (context)
207 { 336 {
208 case CONTEXT_STD: 337 case CONTEXT_STD:
@@ -220,7 +349,7 @@ const struct button_mapping* get_context_mapping(int context)
220 else 349 else
221 return button_context_listtree_scroll_with_combo; 350 return button_context_listtree_scroll_with_combo;
222 case CONTEXT_CUSTOM|CONTEXT_TREE: 351 case CONTEXT_CUSTOM|CONTEXT_TREE:
223 return button_context_tree; 352 return remote_button_context_tree;
224 353
225 case CONTEXT_SETTINGS: 354 case CONTEXT_SETTINGS:
226 return button_context_settings; 355 return button_context_settings;