summaryrefslogtreecommitdiff
path: root/apps/keymaps/keymap-recorder.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/keymaps/keymap-recorder.c')
-rw-r--r--apps/keymaps/keymap-recorder.c65
1 files changed, 56 insertions, 9 deletions
diff --git a/apps/keymaps/keymap-recorder.c b/apps/keymaps/keymap-recorder.c
index 5dae21c57c..a16f5ee44e 100644
--- a/apps/keymaps/keymap-recorder.c
+++ b/apps/keymaps/keymap-recorder.c
@@ -34,7 +34,7 @@ CONTEXT_CUSTOM|1 = the standard list/tree defines (without directions)
34 34
35*/ 35*/
36 36
37const struct button_mapping button_context_standard[] = { 37static const struct button_mapping button_context_standard[] = {
38 { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, 38 { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE },
39 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 39 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
40 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, 40 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE },
@@ -55,7 +55,7 @@ const struct button_mapping button_context_standard[] = {
55 LAST_ITEM_IN_LIST 55 LAST_ITEM_IN_LIST
56}; 56};
57 57
58const struct button_mapping button_context_wps[] = { 58static const struct button_mapping button_context_wps[] = {
59 { ACTION_WPS_PLAY, BUTTON_PLAY, BUTTON_NONE }, 59 { ACTION_WPS_PLAY, BUTTON_PLAY, BUTTON_NONE },
60 { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 60 { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
61 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 61 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
@@ -79,7 +79,7 @@ const struct button_mapping button_context_wps[] = {
79 LAST_ITEM_IN_LIST 79 LAST_ITEM_IN_LIST
80}; 80};
81 81
82const struct button_mapping button_context_settings[] = { 82static const struct button_mapping button_context_settings[] = {
83 { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE }, 83 { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE },
84 { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 84 { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
85 { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, 85 { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE },
@@ -88,13 +88,14 @@ const struct button_mapping button_context_settings[] = {
88 LAST_ITEM_IN_LIST 88 LAST_ITEM_IN_LIST
89}; 89};
90 90
91const struct button_mapping button_context_tree[] = { 91static const struct button_mapping button_context_tree[] = {
92 { ACTION_TREE_WPS, BUTTON_PLAY, BUTTON_NONE }, 92 { ACTION_TREE_WPS, BUTTON_PLAY, BUTTON_NONE },
93 { ACTION_TREE_STOP, BUTTON_OFF, BUTTON_NONE }, 93 { ACTION_TREE_STOP, BUTTON_OFF, BUTTON_NONE },
94 94
95 LAST_ITEM_IN_LIST 95 LAST_ITEM_IN_LIST
96}; /* button_context_listtree */ 96}; /* button_context_listtree */
97const struct button_mapping button_context_tree_scroll_lr[] = { 97
98static const struct button_mapping button_context_tree_scroll_lr[] = {
98 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 99 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
99 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 100 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
100 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 101 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
@@ -106,12 +107,12 @@ const struct button_mapping button_context_tree_scroll_lr[] = {
106 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|1), 107 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|1),
107}; 108};
108 109
109const struct button_mapping button_context_yesno[] = { 110static const struct button_mapping button_context_yesno[] = {
110 { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE }, 111 { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE },
111 112
112 LAST_ITEM_IN_LIST 113 LAST_ITEM_IN_LIST
113}; 114};
114const struct button_mapping button_context_quickscreen[] = { 115static const struct button_mapping button_context_quickscreen[] = {
115 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 116 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
116 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 117 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
117 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 118 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
@@ -125,7 +126,7 @@ const struct button_mapping button_context_quickscreen[] = {
125 LAST_ITEM_IN_LIST 126 LAST_ITEM_IN_LIST
126}; /* button_context_quickscreen */ 127}; /* button_context_quickscreen */
127 128
128const struct button_mapping button_context_pitchscreen[] = { 129static const struct button_mapping button_context_pitchscreen[] = {
129 { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE }, 130 { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE },
130 { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 131 { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
131 { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE }, 132 { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE },
@@ -140,8 +141,51 @@ const struct button_mapping button_context_pitchscreen[] = {
140 LAST_ITEM_IN_LIST 141 LAST_ITEM_IN_LIST
141}; /* button_context_pitchcreen */ 142}; /* button_context_pitchcreen */
142 143
144/*****************************************************************************
145 * Remote control mappings
146 *****************************************************************************/
147
148static const struct button_mapping remote_button_context_standard[] = {
149 { ACTION_STD_PREV, BUTTON_RC_LEFT, BUTTON_NONE },
150 { ACTION_STD_NEXT, BUTTON_RC_RIGHT, BUTTON_NONE },
151 { ACTION_STD_CANCEL, BUTTON_RC_STOP, BUTTON_NONE },
152 { ACTION_STD_OK, BUTTON_RC_PLAY, BUTTON_NONE },
153
154 LAST_ITEM_IN_LIST
155};
156
157static const struct button_mapping remote_button_context_wps[] = {
158 { ACTION_WPS_PLAY, BUTTON_RC_PLAY, BUTTON_NONE },
159 { ACTION_WPS_SKIPNEXT, BUTTON_RC_RIGHT, BUTTON_NONE },
160 { ACTION_WPS_SKIPPREV, BUTTON_RC_LEFT, BUTTON_NONE },
161 { ACTION_WPS_STOP, BUTTON_RC_STOP, BUTTON_NONE },
162
163 { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
164 { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE },
165
166 LAST_ITEM_IN_LIST
167};
168
169
170static const struct button_mapping* get_context_mapping_remote( int context )
171{
172 context ^= CONTEXT_REMOTE;
173
174 switch (context)
175 {
176 case CONTEXT_WPS:
177 return remote_button_context_wps;
178
179 default:
180 return remote_button_context_standard;
181 }
182}
183
143const struct button_mapping* get_context_mapping( int context ) 184const struct button_mapping* get_context_mapping( int context )
144{ 185{
186 if (context&CONTEXT_REMOTE)
187 return get_context_mapping_remote(context);
188
145 switch( context ) 189 switch( context )
146 { 190 {
147 case CONTEXT_WPS: 191 case CONTEXT_WPS:
@@ -152,17 +196,20 @@ const struct button_mapping* get_context_mapping( int context )
152 196
153 case CONTEXT_YESNOSCREEN: 197 case CONTEXT_YESNOSCREEN:
154 return button_context_yesno; 198 return button_context_yesno;
199
155 case CONTEXT_PITCHSCREEN: 200 case CONTEXT_PITCHSCREEN:
156 return button_context_pitchscreen; 201 return button_context_pitchscreen;
157 202
158 case CONTEXT_TREE: 203 case CONTEXT_TREE:
159 if (global_settings.hold_lr_for_scroll_in_list) 204 if (global_settings.hold_lr_for_scroll_in_list)
160 return button_context_tree_scroll_lr; 205 return button_context_tree_scroll_lr;
161 /* else fall through to CUSTOM|1 */ 206 /* else fall through to CUSTOM|1 */
162 case CONTEXT_CUSTOM|1: 207 case CONTEXT_CUSTOM|1:
163 return button_context_tree; 208 return button_context_tree;
209
164 case CONTEXT_QUICKSCREEN: 210 case CONTEXT_QUICKSCREEN:
165 return button_context_quickscreen; 211 return button_context_quickscreen;
212
166 case CONTEXT_STD: 213 case CONTEXT_STD:
167 case CONTEXT_LIST: 214 case CONTEXT_LIST:
168 case CONTEXT_MAINMENU: 215 case CONTEXT_MAINMENU: