summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/keymaps/keymap-player.c65
-rw-r--r--apps/keymaps/keymap-recorder.c65
2 files changed, 109 insertions, 21 deletions
diff --git a/apps/keymaps/keymap-player.c b/apps/keymaps/keymap-player.c
index eecd9b99b7..8ed5d9dc55 100644
--- a/apps/keymaps/keymap-player.c
+++ b/apps/keymaps/keymap-player.c
@@ -25,7 +25,7 @@
25#include "action.h" 25#include "action.h"
26#include "button.h" 26#include "button.h"
27 27
28const struct button_mapping button_context_standard[] = { 28static const struct button_mapping button_context_standard[] = {
29 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, 29 { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE },
30 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 30 { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
31 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, 31 { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
@@ -39,7 +39,7 @@ const struct button_mapping button_context_standard[] = {
39 LAST_ITEM_IN_LIST 39 LAST_ITEM_IN_LIST
40}; 40};
41 41
42const struct button_mapping button_context_wps[] = { 42static const struct button_mapping button_context_wps[] = {
43 { ACTION_WPS_PLAY, BUTTON_PLAY, BUTTON_NONE }, 43 { ACTION_WPS_PLAY, BUTTON_PLAY, BUTTON_NONE },
44 { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 44 { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT },
45 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 45 { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
@@ -59,37 +59,77 @@ const struct button_mapping button_context_wps[] = {
59 { ACTION_WPS_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, 59 { ACTION_WPS_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
60 { ACTION_WPS_ID3SCREEN, BUTTON_MENU|BUTTON_ON, BUTTON_NONE }, 60 { ACTION_WPS_ID3SCREEN, BUTTON_MENU|BUTTON_ON, BUTTON_NONE },
61 61
62
63 LAST_ITEM_IN_LIST 62 LAST_ITEM_IN_LIST
64}; 63};
65 64
66const struct button_mapping button_context_settings[] = { 65static const struct button_mapping button_context_settings[] = {
67 { ACTION_SETTINGS_INC, BUTTON_LEFT, BUTTON_NONE }, 66 { ACTION_SETTINGS_INC, BUTTON_LEFT, BUTTON_NONE },
68 { ACTION_SETTINGS_INCREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 67 { ACTION_SETTINGS_INCREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
69 { ACTION_SETTINGS_DEC, BUTTON_RIGHT, BUTTON_NONE }, 68 { ACTION_SETTINGS_DEC, BUTTON_RIGHT, BUTTON_NONE },
70 { ACTION_SETTINGS_DECREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 69 { ACTION_SETTINGS_DECREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
71 70
72 LAST_ITEM_IN_LIST 71 LAST_ITEM_IN_LIST
73}; 72};
74 73
75const struct button_mapping button_context_tree[] = { 74static const struct button_mapping button_context_tree[] = {
76 { ACTION_TREE_WPS, BUTTON_ON, BUTTON_NONE }, 75 { ACTION_TREE_WPS, BUTTON_ON, BUTTON_NONE },
77 76
78 LAST_ITEM_IN_LIST 77 LAST_ITEM_IN_LIST
79}; /* button_context_listtree */ 78}; /* button_context_listtree */
80 79
81const struct button_mapping button_context_yesno[] = { 80static const struct button_mapping button_context_yesno[] = {
82 { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE }, 81 { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE },
82
83 LAST_ITEM_IN_LIST 83 LAST_ITEM_IN_LIST
84}; /* button_context_settings_yesno */ 84}; /* button_context_settings_yesno */
85 85
86/*****************************************************************************
87 * Remote control mappings
88 *****************************************************************************/
89
90static const struct button_mapping remote_button_context_standard[] = {
91 { ACTION_STD_PREV, BUTTON_RC_LEFT, BUTTON_NONE },
92 { ACTION_STD_NEXT, BUTTON_RC_RIGHT, BUTTON_NONE },
93 { ACTION_STD_CANCEL, BUTTON_RC_STOP, BUTTON_NONE },
94 { ACTION_STD_OK, BUTTON_RC_PLAY, BUTTON_NONE },
95
96 LAST_ITEM_IN_LIST
97};
98
99static const struct button_mapping remote_button_context_wps[] = {
100 { ACTION_WPS_PLAY, BUTTON_RC_PLAY, BUTTON_NONE },
101 { ACTION_WPS_SKIPNEXT, BUTTON_RC_RIGHT, BUTTON_NONE },
102 { ACTION_WPS_SKIPPREV, BUTTON_RC_LEFT, BUTTON_NONE },
103 { ACTION_WPS_STOP, BUTTON_RC_STOP, BUTTON_NONE },
104
105 { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
106 { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE },
107
108 LAST_ITEM_IN_LIST
109};
110
111
112static const struct button_mapping* get_context_mapping_remote( int context )
113{
114 context ^= CONTEXT_REMOTE;
115
116 switch (context)
117 {
118 case CONTEXT_WPS:
119 return remote_button_context_wps;
120
121 default:
122 return remote_button_context_standard;
123 }
124}
125
86const struct button_mapping* get_context_mapping( int context ) 126const struct button_mapping* get_context_mapping( int context )
87{ 127{
88 switch( context ) 128 if (context&CONTEXT_REMOTE)
129 return get_context_mapping_remote(context);
130
131 switch (context)
89 { 132 {
90 case CONTEXT_STD:
91 return button_context_standard;
92
93 case CONTEXT_WPS: 133 case CONTEXT_WPS:
94 return button_context_wps; 134 return button_context_wps;
95 135
@@ -102,6 +142,7 @@ const struct button_mapping* get_context_mapping( int context )
102 case CONTEXT_TREE: 142 case CONTEXT_TREE:
103 return button_context_tree; 143 return button_context_tree;
104 144
145 case CONTEXT_STD:
105 case CONTEXT_LIST: 146 case CONTEXT_LIST:
106 case CONTEXT_MAINMENU: 147 case CONTEXT_MAINMENU:
107 default: 148 default:
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: