diff options
Diffstat (limited to 'apps/keymaps/keymap-gigabeat-s.c')
-rw-r--r-- | apps/keymaps/keymap-gigabeat-s.c | 534 |
1 files changed, 343 insertions, 191 deletions
diff --git a/apps/keymaps/keymap-gigabeat-s.c b/apps/keymaps/keymap-gigabeat-s.c index d32177ea90..c6c7ddbf40 100644 --- a/apps/keymaps/keymap-gigabeat-s.c +++ b/apps/keymaps/keymap-gigabeat-s.c | |||
@@ -47,206 +47,211 @@ CONTEXT_CUSTOM|CONTEXT_SETTINGS = the direction keys for the eq/col picker scree | |||
47 | 47 | ||
48 | 48 | ||
49 | static const struct button_mapping button_context_standard[] = { | 49 | static const struct button_mapping button_context_standard[] = { |
50 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, | 50 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, |
51 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 51 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
52 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | 52 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, |
53 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 53 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
54 | 54 | ||
55 | { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, | 55 | { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, |
56 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, | 56 | { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, |
57 | { ACTION_STD_CANCEL, BUTTON_BACK, BUTTON_NONE }, | 57 | { ACTION_STD_CANCEL, BUTTON_BACK, BUTTON_NONE }, |
58 | 58 | ||
59 | { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_SELECT }, | 59 | { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, |
60 | 60 | ||
61 | { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | 61 | { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, |
62 | { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | 62 | { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, |
63 | 63 | ||
64 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | 64 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, |
65 | { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, | 65 | { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, |
66 | 66 | ||
67 | LAST_ITEM_IN_LIST | 67 | LAST_ITEM_IN_LIST |
68 | }; /* button_context_standard */ | 68 | }; /* button_context_standard */ |
69 | 69 | ||
70 | 70 | ||
71 | static const struct button_mapping button_context_wps[] = { | 71 | static const struct button_mapping button_context_wps[] = { |
72 | { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | 72 | { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
73 | { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | 73 | { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
74 | 74 | ||
75 | { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | 75 | { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, |
76 | { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, | 76 | { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, |
77 | { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | 77 | { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, |
78 | { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, | 78 | { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, |
79 | 79 | ||
80 | { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 80 | { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
81 | { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, | 81 | { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, |
82 | { ACTION_WPS_SEEKFWD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 82 | { ACTION_WPS_SEEKFWD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
83 | { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, | 83 | { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, |
84 | { ACTION_WPS_STOPSEEK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, | 84 | { ACTION_WPS_STOPSEEK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, |
85 | { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT }, | 85 | { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT }, |
86 | { ACTION_WPS_STOPSEEK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, | 86 | { ACTION_WPS_STOPSEEK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, |
87 | { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, | 87 | { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, |
88 | 88 | ||
89 | { ACTION_WPS_ABSETB_NEXTDIR, BUTTON_BACK|BUTTON_RIGHT, BUTTON_BACK }, | 89 | { ACTION_WPS_ABSETB_NEXTDIR, BUTTON_BACK|BUTTON_RIGHT, BUTTON_BACK }, |
90 | { ACTION_WPS_ABSETA_PREVDIR, BUTTON_BACK|BUTTON_LEFT, BUTTON_BACK }, | 90 | { ACTION_WPS_ABSETA_PREVDIR, BUTTON_BACK|BUTTON_LEFT, BUTTON_BACK }, |
91 | { ACTION_WPS_ABRESET, BUTTON_BACK|BUTTON_SELECT, BUTTON_BACK }, | 91 | { ACTION_WPS_ABRESET, BUTTON_BACK|BUTTON_SELECT, BUTTON_BACK }, |
92 | 92 | ||
93 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 93 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
94 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, | 94 | { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, |
95 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | 95 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, |
96 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 96 | { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
97 | { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 97 | { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
98 | { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, | 98 | { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, |
99 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 99 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
100 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | 100 | { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, |
101 | 101 | ||
102 | { ACTION_WPS_PITCHSCREEN, BUTTON_BACK|BUTTON_UP, BUTTON_BACK }, | 102 | { ACTION_WPS_PITCHSCREEN, BUTTON_BACK|BUTTON_UP, BUTTON_BACK }, |
103 | { ACTION_WPS_PITCHSCREEN, BUTTON_BACK|BUTTON_DOWN, BUTTON_BACK }, | 103 | { ACTION_WPS_PITCHSCREEN, BUTTON_BACK|BUTTON_DOWN, BUTTON_BACK }, |
104 | 104 | ||
105 | { ACTION_WPS_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, | 105 | { ACTION_WPS_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, |
106 | { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, | 106 | { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, |
107 | { ACTION_WPS_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, | 107 | { ACTION_WPS_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, |
108 | 108 | ||
109 | { ACTION_WPS_ID3SCREEN, BUTTON_BACK|BUTTON_MENU, BUTTON_NONE }, | 109 | { ACTION_WPS_ID3SCREEN, BUTTON_BACK|BUTTON_MENU, BUTTON_NONE }, |
110 | { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, | 110 | { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, |
111 | 111 | ||
112 | LAST_ITEM_IN_LIST | 112 | LAST_ITEM_IN_LIST |
113 | }; /* button_context_wps */ | 113 | }; /* button_context_wps */ |
114 | 114 | ||
115 | static const struct button_mapping button_context_list[] = { | 115 | static const struct button_mapping button_context_list[] = { |
116 | { ACTION_LISTTREE_PGUP, BUTTON_BACK|BUTTON_UP, BUTTON_BACK }, | 116 | { ACTION_LISTTREE_PGUP, BUTTON_BACK|BUTTON_UP, BUTTON_BACK }, |
117 | { ACTION_LISTTREE_PGUP, BUTTON_UP|BUTTON_REL, BUTTON_BACK|BUTTON_UP }, | 117 | { ACTION_LISTTREE_PGUP, BUTTON_UP|BUTTON_REL, BUTTON_BACK|BUTTON_UP }, |
118 | { ACTION_LISTTREE_PGUP, BUTTON_BACK|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 118 | { ACTION_LISTTREE_PGUP, BUTTON_BACK|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
119 | { ACTION_LISTTREE_PGDOWN, BUTTON_BACK|BUTTON_DOWN, BUTTON_BACK }, | 119 | { ACTION_LISTTREE_PGDOWN, BUTTON_BACK|BUTTON_DOWN, BUTTON_BACK }, |
120 | { ACTION_LISTTREE_PGDOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_BACK|BUTTON_DOWN }, | 120 | { ACTION_LISTTREE_PGDOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_BACK|BUTTON_DOWN }, |
121 | { ACTION_LISTTREE_PGDOWN, BUTTON_BACK|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 121 | { ACTION_LISTTREE_PGDOWN, BUTTON_BACK|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
122 | #ifdef HAVE_VOLUME_IN_LIST | 122 | #ifdef HAVE_VOLUME_IN_LIST |
123 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 123 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
124 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, | 124 | { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, |
125 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, | 125 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, |
126 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 126 | { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
127 | #endif | 127 | #endif |
128 | 128 | ||
129 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 129 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
130 | }; /* button_context_list */ | 130 | }; /* button_context_list */ |
131 | 131 | ||
132 | static const struct button_mapping button_context_tree[] = { | 132 | static const struct button_mapping button_context_tree[] = { |
133 | { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | 133 | { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
134 | { ACTION_TREE_STOP, BUTTON_POWER, BUTTON_NONE }, | 134 | { ACTION_TREE_STOP, BUTTON_POWER, BUTTON_NONE }, |
135 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, | 135 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, |
136 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, | 136 | { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, |
137 | 137 | ||
138 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) | 138 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) |
139 | }; /* button_context_tree */ | 139 | }; /* button_context_tree */ |
140 | 140 | ||
141 | static const struct button_mapping button_context_listtree_scroll_with_combo[] = { | 141 | static const struct button_mapping button_context_listtree_scroll_with_combo[] = { |
142 | { ACTION_NONE, BUTTON_BACK, BUTTON_NONE }, | 142 | { ACTION_NONE, BUTTON_BACK, BUTTON_NONE }, |
143 | { ACTION_TREE_PGLEFT, BUTTON_BACK|BUTTON_LEFT, BUTTON_BACK }, | 143 | { ACTION_TREE_PGLEFT, BUTTON_BACK|BUTTON_LEFT, BUTTON_BACK }, |
144 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_BACK|BUTTON_LEFT }, | 144 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_BACK|BUTTON_LEFT }, |
145 | { ACTION_TREE_PGLEFT, BUTTON_BACK|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL }, | 145 | { ACTION_TREE_PGLEFT, BUTTON_BACK|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL }, |
146 | { ACTION_TREE_ROOT_INIT, BUTTON_BACK|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_BACK|BUTTON_LEFT }, | 146 | { ACTION_TREE_ROOT_INIT, BUTTON_BACK|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_BACK|BUTTON_LEFT }, |
147 | { ACTION_TREE_PGLEFT, BUTTON_BACK|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 147 | { ACTION_TREE_PGLEFT, BUTTON_BACK|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
148 | { ACTION_TREE_PGRIGHT, BUTTON_BACK|BUTTON_RIGHT, BUTTON_BACK }, | 148 | { ACTION_TREE_PGRIGHT, BUTTON_BACK|BUTTON_RIGHT, BUTTON_BACK }, |
149 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_BACK|BUTTON_RIGHT }, | 149 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_BACK|BUTTON_RIGHT }, |
150 | { ACTION_TREE_PGRIGHT, BUTTON_BACK|BUTTON_RIGHT, BUTTON_RIGHT|BUTTON_REL }, | 150 | { ACTION_TREE_PGRIGHT, BUTTON_BACK|BUTTON_RIGHT, BUTTON_RIGHT|BUTTON_REL }, |
151 | { ACTION_TREE_PGRIGHT, BUTTON_BACK|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 151 | { ACTION_TREE_PGRIGHT, BUTTON_BACK|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
152 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), | 152 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), |
153 | }; | 153 | }; /* button_context_listtree_scroll_with_combo */ |
154 | 154 | ||
155 | static const struct button_mapping button_context_listtree_scroll_without_combo[] = { | 155 | static const struct button_mapping button_context_listtree_scroll_without_combo[] = { |
156 | { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, | 156 | { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, |
157 | { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, | 157 | { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, |
158 | { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, | 158 | { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, |
159 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 159 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
160 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, | 160 | { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, |
161 | { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, | 161 | { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, |
162 | { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, | 162 | { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, |
163 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 163 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
164 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, | 164 | { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, |
165 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), | 165 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), |
166 | }; | 166 | }; /* button_context_listtree_scroll_without_combo */ |
167 | 167 | ||
168 | static const struct button_mapping button_context_settings[] = { | 168 | static const struct button_mapping button_context_settings[] = { |
169 | { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE }, | 169 | { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE }, |
170 | { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 170 | { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
171 | { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, | 171 | { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, |
172 | { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 172 | { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
173 | { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, | 173 | { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, |
174 | { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 174 | { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
175 | { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, | 175 | { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, |
176 | { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 176 | { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
177 | { ACTION_SETTINGS_RESET, BUTTON_BACK, BUTTON_NONE }, | 177 | { ACTION_SETTINGS_RESET, BUTTON_BACK, BUTTON_NONE }, |
178 | 178 | ||
179 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 179 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
180 | }; /* button_context_settings */ | 180 | }; /* button_context_settings */ |
181 | 181 | ||
182 | static const struct button_mapping button_context_settings_right_is_inc[] = { | 182 | static const struct button_mapping button_context_settings_right_is_inc[] = { |
183 | { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, | 183 | { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, |
184 | { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 184 | { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
185 | { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, | 185 | { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, |
186 | { ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 186 | { ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
187 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, | 187 | { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, |
188 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 188 | { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
189 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | 189 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, |
190 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 190 | { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
191 | { ACTION_SETTINGS_RESET, BUTTON_BACK, BUTTON_NONE }, | 191 | { ACTION_SETTINGS_RESET, BUTTON_BACK, BUTTON_NONE }, |
192 | 192 | ||
193 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 193 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
194 | }; /* button_context_settingsgraphical */ | 194 | }; /* button_context_settingsgraphical */ |
195 | 195 | ||
196 | static const struct button_mapping button_context_yesno[] = { | 196 | static const struct button_mapping button_context_yesno[] = { |
197 | { ACTION_YESNO_ACCEPT, BUTTON_SELECT, BUTTON_NONE }, | 197 | { ACTION_YESNO_ACCEPT, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, |
198 | |||
198 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 199 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
199 | }; /* button_context_settings_yesno */ | 200 | }; /* button_context_settings_yesno */ |
200 | 201 | ||
201 | static const struct button_mapping button_context_colorchooser[] = { | 202 | static const struct button_mapping button_context_colorchooser[] = { |
202 | { ACTION_STD_OK, BUTTON_BACK|BUTTON_REL, BUTTON_NONE }, | 203 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, |
204 | { ACTION_STD_CANCEL, BUTTON_BACK, BUTTON_NONE }, | ||
205 | |||
203 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), | 206 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), |
204 | }; /* button_context_colorchooser */ | 207 | }; /* button_context_colorchooser */ |
205 | 208 | ||
206 | static const struct button_mapping button_context_eq[] = { | 209 | static const struct button_mapping button_context_eq[] = { |
207 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | 210 | { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, |
211 | |||
208 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), | 212 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), |
209 | }; /* button_context_eq */ | 213 | }; /* button_context_eq */ |
210 | 214 | ||
211 | /** Bookmark Screen **/ | 215 | /** Bookmark Screen **/ |
212 | static const struct button_mapping button_context_bmark[] = { | 216 | static const struct button_mapping button_context_bmark[] = { |
213 | { ACTION_BMS_DELETE, BUTTON_BACK, BUTTON_NONE }, | 217 | { ACTION_BMS_DELETE, BUTTON_BACK|BUTTON_SELECT, BUTTON_BACK }, |
214 | 218 | ||
215 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), | 219 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), |
216 | }; /* button_context_bmark */ | 220 | }; /* button_context_bmark */ |
217 | 221 | ||
218 | static const struct button_mapping button_context_time[] = { | 222 | static const struct button_mapping button_context_time[] = { |
219 | { ACTION_STD_CANCEL, BUTTON_BACK, BUTTON_NONE }, | 223 | { ACTION_STD_CANCEL, BUTTON_BACK, BUTTON_NONE }, |
220 | { ACTION_STD_OK, BUTTON_PLAY, BUTTON_NONE }, | 224 | { ACTION_STD_OK, BUTTON_PLAY, BUTTON_NONE }, |
225 | |||
221 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), | 226 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), |
222 | }; /* button_context_time */ | 227 | }; /* button_context_time */ |
223 | 228 | ||
224 | static const struct button_mapping button_context_quickscreen[] = { | 229 | static const struct button_mapping button_context_quickscreen[] = { |
225 | { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, | 230 | { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, |
226 | { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 231 | { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
227 | { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 232 | { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
228 | { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 233 | { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
229 | { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, | 234 | { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, |
230 | { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 235 | { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
231 | { ACTION_QS_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | 236 | { ACTION_QS_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, |
232 | { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 237 | { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
233 | { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, | 238 | { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, |
234 | 239 | ||
235 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 240 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
236 | }; /* button_context_quickscreen */ | 241 | }; /* button_context_quickscreen */ |
237 | 242 | ||
238 | static const struct button_mapping button_context_pitchscreen[] = { | 243 | static const struct button_mapping button_context_pitchscreen[] = { |
239 | { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE }, | 244 | { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE }, |
240 | { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 245 | { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
241 | { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE }, | 246 | { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE }, |
242 | { ACTION_PS_DEC_BIG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 247 | { ACTION_PS_DEC_BIG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
243 | { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE }, | 248 | { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE }, |
244 | { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, | 249 | { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, |
245 | { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | 250 | { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, |
246 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, | 251 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, |
247 | { ACTION_PS_TOGGLE_MODE, BUTTON_MENU, BUTTON_NONE }, | 252 | { ACTION_PS_TOGGLE_MODE, BUTTON_MENU, BUTTON_NONE }, |
248 | { ACTION_PS_RESET, BUTTON_PLAY, BUTTON_NONE }, | 253 | { ACTION_PS_RESET, BUTTON_PLAY, BUTTON_NONE }, |
249 | { ACTION_PS_EXIT, BUTTON_BACK, BUTTON_NONE }, | 254 | { ACTION_PS_EXIT, BUTTON_BACK, BUTTON_NONE }, |
250 | 255 | ||
251 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 256 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
252 | }; /* button_context_pitchcreen */ | 257 | }; /* button_context_pitchcreen */ |
@@ -265,49 +270,49 @@ static const struct button_mapping button_context_recscreen[] = { | |||
265 | { ACTION_STD_PREV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 270 | { ACTION_STD_PREV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
266 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, | 271 | { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, |
267 | { ACTION_STD_NEXT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 272 | { ACTION_STD_NEXT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
273 | |||
268 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 274 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
269 | }; /* button_context_recscreen */ | 275 | }; /* button_context_recscreen */ |
270 | 276 | ||
271 | static const struct button_mapping button_context_keyboard[] = { | 277 | static const struct button_mapping button_context_keyboard[] = { |
272 | { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, | 278 | { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, |
273 | { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, | 279 | { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, |
274 | { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, | 280 | { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, |
275 | { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, | 281 | { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, |
276 | { ACTION_KBD_CURSOR_LEFT, BUTTON_PREV, BUTTON_NONE }, | 282 | { ACTION_KBD_CURSOR_LEFT, BUTTON_PREV, BUTTON_NONE }, |
277 | { ACTION_KBD_CURSOR_LEFT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, | 283 | { ACTION_KBD_CURSOR_LEFT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, |
278 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_NEXT, BUTTON_NONE }, | 284 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_NEXT, BUTTON_NONE }, |
279 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, | 285 | { ACTION_KBD_CURSOR_RIGHT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, |
280 | { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE }, | 286 | { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE }, |
281 | { ACTION_KBD_PAGE_FLIP, BUTTON_BACK|BUTTON_MENU, BUTTON_NONE }, | 287 | { ACTION_KBD_PAGE_FLIP, BUTTON_BACK|BUTTON_MENU, BUTTON_NONE }, |
282 | { ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, | 288 | { ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, |
283 | { ACTION_KBD_ABORT, BUTTON_BACK|BUTTON_REL, BUTTON_BACK }, | 289 | { ACTION_KBD_ABORT, BUTTON_BACK|BUTTON_REL, BUTTON_BACK }, |
284 | { ACTION_KBD_BACKSPACE, BUTTON_MENU, BUTTON_NONE }, | 290 | { ACTION_KBD_BACKSPACE, BUTTON_MENU, BUTTON_NONE }, |
285 | { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, | 291 | { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, |
286 | { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, | 292 | { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, |
287 | { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, | 293 | { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, |
288 | { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, | 294 | { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, |
289 | { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 295 | { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
290 | { ACTION_KBD_MORSE_INPUT, BUTTON_BACK|BUTTON_VOL_UP, BUTTON_NONE }, | 296 | { ACTION_KBD_MORSE_INPUT, BUTTON_BACK|BUTTON_VOL_UP, BUTTON_NONE }, |
291 | { ACTION_KBD_MORSE_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, | 297 | { ACTION_KBD_MORSE_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, |
292 | 298 | ||
293 | LAST_ITEM_IN_LIST | 299 | LAST_ITEM_IN_LIST |
294 | }; /* button_context_keyboard */ | 300 | }; /* button_context_keyboard */ |
295 | 301 | ||
296 | static const struct button_mapping button_context_radio[] = { | 302 | static const struct button_mapping button_context_radio[] = { |
297 | { ACTION_FM_MENU, BUTTON_SELECT | BUTTON_REPEAT, BUTTON_NONE }, | 303 | { ACTION_FM_MENU, BUTTON_SELECT | BUTTON_REPEAT, BUTTON_NONE }, |
298 | { ACTION_FM_PRESET, BUTTON_SELECT | BUTTON_REL, BUTTON_SELECT }, | 304 | { ACTION_FM_PRESET, BUTTON_SELECT | BUTTON_REL, BUTTON_SELECT }, |
299 | { ACTION_FM_STOP, BUTTON_POWER, BUTTON_NONE }, | 305 | { ACTION_FM_STOP, BUTTON_POWER, BUTTON_NONE }, |
300 | { ACTION_FM_MODE, BUTTON_MENU, BUTTON_NONE }, | 306 | { ACTION_FM_MODE, BUTTON_MENU, BUTTON_NONE }, |
301 | { ACTION_FM_EXIT, BUTTON_BACK, BUTTON_NONE }, | 307 | { ACTION_FM_EXIT, BUTTON_BACK, BUTTON_NONE }, |
302 | { ACTION_FM_PLAY, BUTTON_PLAY, BUTTON_NONE }, | 308 | { ACTION_FM_PLAY, BUTTON_PLAY, BUTTON_NONE }, |
303 | { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, | 309 | { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, |
304 | { ACTION_SETTINGS_INCREPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 310 | { ACTION_SETTINGS_INCREPEAT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
305 | { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, | 311 | { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, |
306 | { ACTION_SETTINGS_DECREPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 312 | { ACTION_SETTINGS_DECREPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
307 | |||
308 | 313 | ||
309 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) | 314 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) |
310 | }; | 315 | }; /* button_context_radio */ |
311 | 316 | ||
312 | /***************************************************************************** | 317 | /***************************************************************************** |
313 | * Remote control mappings | 318 | * Remote control mappings |
@@ -317,89 +322,227 @@ static const struct button_mapping remote_button_context_standard[] = { | |||
317 | { ACTION_STD_PREVREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 322 | { ACTION_STD_PREVREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, |
318 | { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | 323 | { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, |
319 | { ACTION_STD_NEXTREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 324 | { ACTION_STD_NEXTREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, |
320 | { ACTION_STD_CANCEL, BUTTON_RC_REW, BUTTON_NONE }, | 325 | { ACTION_STD_CANCEL, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_DSP }, |
326 | { ACTION_STD_QUICKSCREEN, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW }, | ||
321 | { ACTION_STD_OK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | 327 | { ACTION_STD_OK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, |
322 | { ACTION_STD_CONTEXT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, | 328 | { ACTION_STD_MENU, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, |
323 | { ACTION_STD_MENU, BUTTON_RC_DSP, BUTTON_NONE }, | 329 | { ACTION_STD_CONTEXT, BUTTON_RC_DSP|BUTTON_REPEAT, BUTTON_RC_DSP }, |
324 | 330 | ||
325 | LAST_ITEM_IN_LIST | 331 | LAST_ITEM_IN_LIST |
326 | }; | 332 | }; /* remote_button_context_standard */ |
327 | 333 | ||
328 | static const struct button_mapping remote_button_context_wps[] = { | 334 | static const struct button_mapping remote_button_context_wps[] = { |
329 | { ACTION_WPS_PLAY, BUTTON_RC_PLAY, BUTTON_NONE }, | 335 | { ACTION_WPS_PLAY, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, |
336 | { ACTION_WPS_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
337 | { ACTION_WPS_SKIPPREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
338 | { ACTION_WPS_SEEKBACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
339 | { ACTION_WPS_STOPSEEK, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT }, | ||
340 | { ACTION_WPS_SEEKFWD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
341 | { ACTION_WPS_SKIPNEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | ||
342 | { ACTION_WPS_STOPSEEK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF|BUTTON_REPEAT }, | ||
343 | { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
344 | { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
345 | { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
346 | { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
347 | { ACTION_WPS_MENU, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | ||
348 | { ACTION_WPS_CONTEXT, BUTTON_RC_DSP|BUTTON_REPEAT, BUTTON_RC_DSP }, | ||
349 | |||
350 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
351 | }; /* remote_button_context_wps */ | ||
352 | |||
353 | static const struct button_mapping remote_button_context_tree[] = { | ||
354 | { ACTION_TREE_WPS, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
355 | { ACTION_TREE_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
356 | { ACTION_STD_CANCEL, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | ||
357 | |||
358 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
359 | }; /* remote_button_context_tree */ | ||
360 | |||
361 | static const struct button_mapping remote_button_context_radio[] = { | ||
362 | { ACTION_FM_MODE, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
363 | { ACTION_FM_PLAY, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
364 | { ACTION_STD_PREV, BUTTON_RC_REW, BUTTON_NONE }, | ||
365 | { ACTION_STD_PREVREPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
366 | { ACTION_STD_NEXT, BUTTON_RC_FF, BUTTON_NONE }, | ||
367 | { ACTION_STD_NEXTREPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
368 | { ACTION_SETTINGS_INC, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
369 | { ACTION_SETTINGS_INCREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
370 | { ACTION_SETTINGS_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
371 | { ACTION_SETTINGS_DECREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
372 | { ACTION_FM_EXIT, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | ||
373 | { ACTION_FM_STOP, BUTTON_RC_DSP|BUTTON_REPEAT, BUTTON_RC_DSP }, | ||
330 | 374 | ||
331 | { ACTION_WPS_SKIPNEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, | 375 | LAST_ITEM_IN_LIST |
332 | { ACTION_WPS_SKIPPREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, | 376 | }; /* remote_button_context_radio */ |
377 | |||
378 | static const struct button_mapping remote_button_context_recscreen[] = { | ||
379 | { ACTION_REC_NEWFILE, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
380 | { ACTION_REC_PAUSE, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
381 | { ACTION_STD_CANCEL, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | ||
382 | { ACTION_STD_MENU, BUTTON_RC_DSP|BUTTON_REPEAT, BUTTON_RC_DSP }, | ||
383 | { ACTION_SETTINGS_INC, BUTTON_RC_FF, BUTTON_NONE }, | ||
384 | { ACTION_SETTINGS_INCREPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
385 | { ACTION_SETTINGS_DEC, BUTTON_RC_REW, BUTTON_NONE }, | ||
386 | { ACTION_SETTINGS_DECREPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
387 | { ACTION_STD_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
388 | { ACTION_STD_PREV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
389 | { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
390 | { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
333 | 391 | ||
334 | { ACTION_WPS_SEEKBACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | 392 | LAST_ITEM_IN_LIST |
335 | { ACTION_WPS_SEEKFWD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | 393 | }; /* button_context_recscreen */ |
336 | { ACTION_WPS_STOPSEEK, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT }, | ||
337 | { ACTION_WPS_STOPSEEK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF|BUTTON_REPEAT }, | ||
338 | 394 | ||
339 | { ACTION_WPS_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | 395 | static const struct button_mapping remote_button_context_time[] = { |
340 | { ACTION_WPS_MENU, BUTTON_RC_DSP, BUTTON_NONE }, | 396 | { ACTION_SETTINGS_INC, BUTTON_RC_VOL_UP, BUTTON_NONE }, |
397 | { ACTION_SETTINGS_INCREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
398 | { ACTION_SETTINGS_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
399 | { ACTION_SETTINGS_DECREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
400 | { ACTION_STD_PREV, BUTTON_RC_REW, BUTTON_NONE }, | ||
401 | { ACTION_STD_PREVREPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
402 | { ACTION_STD_NEXT, BUTTON_RC_FF, BUTTON_NONE }, | ||
403 | { ACTION_STD_NEXTREPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
404 | { ACTION_STD_OK, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
405 | { ACTION_STD_CANCEL, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | ||
341 | 406 | ||
342 | { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | 407 | LAST_ITEM_IN_LIST |
343 | { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | 408 | }; /* remote_button_context_time */ |
344 | { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | 409 | |
345 | { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE }, | 410 | static const struct button_mapping remote_button_context_bmark[] = { |
411 | { ACTION_BMS_DELETE, BUTTON_RC_DSP|BUTTON_REPEAT, BUTTON_RC_DSP }, | ||
346 | 412 | ||
347 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 413 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
348 | }; | 414 | }; /* remote_button_context_bmark */ |
349 | 415 | ||
350 | static const struct button_mapping remote_button_context_tree[] = { | 416 | static const struct button_mapping remote_button_context_yesno[] = { |
351 | { ACTION_TREE_WPS, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | 417 | { ACTION_YESNO_ACCEPT, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, |
352 | { ACTION_TREE_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
353 | { ACTION_STD_CANCEL, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
354 | 418 | ||
355 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | 419 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) |
356 | }; | 420 | }; /* button_context_settings_yesno */ |
421 | |||
422 | static const struct button_mapping remote_button_context_quickscreen[] = { | ||
423 | { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
424 | { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
425 | { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
426 | { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
427 | { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, | ||
428 | { ACTION_QS_LEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
429 | { ACTION_QS_RIGHT, BUTTON_RC_FF, BUTTON_NONE }, | ||
430 | { ACTION_QS_RIGHT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
431 | { ACTION_STD_CANCEL, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | ||
432 | |||
433 | LAST_ITEM_IN_LIST | ||
434 | }; /* remote_button_context_quickscreen */ | ||
435 | |||
436 | static const struct button_mapping remote_button_context_pitchscreen[] = { | ||
437 | { ACTION_PS_INC_SMALL, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
438 | { ACTION_PS_INC_BIG, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
439 | { ACTION_PS_DEC_SMALL, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
440 | { ACTION_PS_DEC_BIG, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
441 | { ACTION_PS_NUDGE_LEFT, BUTTON_RC_REW, BUTTON_NONE }, | ||
442 | { ACTION_PS_NUDGE_LEFTOFF, BUTTON_RC_REW|BUTTON_REL, BUTTON_NONE }, | ||
443 | { ACTION_PS_NUDGE_RIGHT, BUTTON_RC_FF, BUTTON_NONE }, | ||
444 | { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RC_FF|BUTTON_REL, BUTTON_NONE }, | ||
445 | { ACTION_PS_RESET, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
446 | { ACTION_PS_TOGGLE_MODE, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, | ||
447 | { ACTION_PS_EXIT, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | ||
448 | |||
449 | LAST_ITEM_IN_LIST | ||
450 | }; /* remote_button_context_pitchscreen */ | ||
451 | |||
452 | static const struct button_mapping remote_button_context_right_is_inc[] = { | ||
453 | { ACTION_SETTINGS_INC, BUTTON_RC_FF, BUTTON_NONE }, | ||
454 | { ACTION_SETTINGS_INCREPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, | ||
455 | { ACTION_SETTINGS_DEC, BUTTON_RC_REW, BUTTON_NONE }, | ||
456 | { ACTION_SETTINGS_DECREPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, | ||
457 | { ACTION_STD_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE }, | ||
458 | { ACTION_STD_PREVREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, | ||
459 | { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, | ||
460 | { ACTION_STD_NEXTREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, | ||
461 | { ACTION_STD_OK, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, | ||
462 | { ACTION_STD_CANCEL, BUTTON_RC_DSP|BUTTON_REL, BUTTON_RC_DSP }, | ||
463 | |||
464 | LAST_ITEM_IN_LIST | ||
465 | }; /* remote_button_context_right_is_inc */ | ||
357 | 466 | ||
358 | static const struct button_mapping* get_context_mapping_remote( int context ) | 467 | static const struct button_mapping* get_context_mapping_remote( int context ) |
359 | { | 468 | { |
360 | context ^= CONTEXT_REMOTE; | 469 | context &= ~CONTEXT_REMOTE; |
361 | 470 | ||
362 | switch (context) | 471 | switch (context) |
363 | { | 472 | { |
364 | case CONTEXT_WPS: | 473 | case CONTEXT_WPS: |
365 | return remote_button_context_wps; | 474 | return remote_button_context_wps; |
475 | |||
366 | case CONTEXT_MAINMENU: | 476 | case CONTEXT_MAINMENU: |
367 | case CONTEXT_TREE: | 477 | case CONTEXT_TREE: |
368 | return remote_button_context_tree; | 478 | return remote_button_context_tree; |
479 | |||
480 | case CONTEXT_SETTINGS_COLOURCHOOSER: | ||
481 | case CONTEXT_SETTINGS_EQ: | ||
482 | case CONTEXT_SETTINGS_RECTRIGGER: | ||
483 | return remote_button_context_right_is_inc; | ||
484 | |||
485 | case CONTEXT_SETTINGS_TIME: | ||
486 | return remote_button_context_time; | ||
487 | |||
488 | case CONTEXT_YESNOSCREEN: | ||
489 | return remote_button_context_yesno; | ||
490 | |||
491 | case CONTEXT_BOOKMARKSCREEN: | ||
492 | return remote_button_context_bmark; | ||
493 | |||
494 | case CONTEXT_QUICKSCREEN: | ||
495 | return remote_button_context_quickscreen; | ||
496 | |||
497 | case CONTEXT_PITCHSCREEN: | ||
498 | return remote_button_context_pitchscreen; | ||
499 | |||
500 | case CONTEXT_RECSCREEN: | ||
501 | return remote_button_context_recscreen; | ||
502 | |||
503 | case CONTEXT_KEYBOARD: | ||
504 | return ACTION_NONE; /* Any sensible mapping for this remote? */ | ||
505 | |||
506 | case CONTEXT_FM: | ||
507 | return remote_button_context_radio; | ||
508 | |||
509 | default: | ||
510 | return remote_button_context_standard; | ||
369 | } | 511 | } |
370 | return remote_button_context_standard; | ||
371 | } | 512 | } |
372 | 513 | ||
373 | const struct button_mapping* get_context_mapping(int context) | 514 | const struct button_mapping* get_context_mapping(int context) |
374 | { | 515 | { |
375 | if (context&CONTEXT_REMOTE) | 516 | if (context & CONTEXT_REMOTE) |
376 | return get_context_mapping_remote(context); | 517 | return get_context_mapping_remote(context); |
377 | 518 | ||
378 | switch (context) | 519 | switch (context) |
379 | { | 520 | { |
380 | case CONTEXT_STD: | ||
381 | return button_context_standard; | ||
382 | case CONTEXT_WPS: | 521 | case CONTEXT_WPS: |
383 | return button_context_wps; | 522 | return button_context_wps; |
384 | 523 | ||
385 | case CONTEXT_LIST: | 524 | case CONTEXT_LIST: |
386 | return button_context_list; | 525 | return button_context_list; |
526 | |||
387 | case CONTEXT_MAINMENU: | 527 | case CONTEXT_MAINMENU: |
388 | case CONTEXT_TREE: | 528 | case CONTEXT_TREE: |
389 | if (global_settings.hold_lr_for_scroll_in_list) | 529 | if (global_settings.hold_lr_for_scroll_in_list) |
390 | return button_context_listtree_scroll_without_combo; | 530 | return button_context_listtree_scroll_without_combo; |
391 | else | 531 | else |
392 | return button_context_listtree_scroll_with_combo; | 532 | return button_context_listtree_scroll_with_combo; |
533 | |||
393 | case CONTEXT_CUSTOM|CONTEXT_TREE: | 534 | case CONTEXT_CUSTOM|CONTEXT_TREE: |
394 | return button_context_tree; | 535 | return button_context_tree; |
395 | 536 | ||
396 | case CONTEXT_SETTINGS: | 537 | case CONTEXT_SETTINGS: |
397 | return button_context_settings; | 538 | return button_context_settings; |
539 | |||
398 | case CONTEXT_CUSTOM|CONTEXT_SETTINGS: | 540 | case CONTEXT_CUSTOM|CONTEXT_SETTINGS: |
399 | return button_context_settings_right_is_inc; | 541 | return button_context_settings_right_is_inc; |
400 | 542 | ||
401 | case CONTEXT_SETTINGS_COLOURCHOOSER: | 543 | case CONTEXT_SETTINGS_COLOURCHOOSER: |
402 | return button_context_colorchooser; | 544 | return button_context_colorchooser; |
545 | |||
403 | case CONTEXT_SETTINGS_EQ: | 546 | case CONTEXT_SETTINGS_EQ: |
404 | return button_context_eq; | 547 | return button_context_eq; |
405 | 548 | ||
@@ -408,20 +551,29 @@ const struct button_mapping* get_context_mapping(int context) | |||
408 | 551 | ||
409 | case CONTEXT_YESNOSCREEN: | 552 | case CONTEXT_YESNOSCREEN: |
410 | return button_context_yesno; | 553 | return button_context_yesno; |
554 | |||
411 | case CONTEXT_BOOKMARKSCREEN: | 555 | case CONTEXT_BOOKMARKSCREEN: |
412 | return button_context_bmark; | 556 | return button_context_bmark; |
557 | |||
413 | case CONTEXT_QUICKSCREEN: | 558 | case CONTEXT_QUICKSCREEN: |
414 | return button_context_quickscreen; | 559 | return button_context_quickscreen; |
560 | |||
415 | case CONTEXT_PITCHSCREEN: | 561 | case CONTEXT_PITCHSCREEN: |
416 | return button_context_pitchscreen; | 562 | return button_context_pitchscreen; |
563 | |||
417 | case CONTEXT_RECSCREEN: | 564 | case CONTEXT_RECSCREEN: |
418 | return button_context_recscreen; | 565 | return button_context_recscreen; |
566 | |||
419 | case CONTEXT_SETTINGS_RECTRIGGER: | 567 | case CONTEXT_SETTINGS_RECTRIGGER: |
420 | return button_context_settings_right_is_inc; | 568 | return button_context_settings_right_is_inc; |
569 | |||
421 | case CONTEXT_KEYBOARD: | 570 | case CONTEXT_KEYBOARD: |
422 | return button_context_keyboard; | 571 | return button_context_keyboard; |
572 | |||
423 | case CONTEXT_FM: | 573 | case CONTEXT_FM: |
424 | return button_context_radio; | 574 | return button_context_radio; |
575 | |||
576 | default: | ||
577 | return button_context_standard; | ||
425 | } | 578 | } |
426 | return button_context_standard; | ||
427 | } | 579 | } |