A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1#ifndef KEYMAPS_H
2#define KEYMAPS_H
3
4#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \
5 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
6
7#define ZX_UP BUTTON_MENU
8#define ZX_DOWN BUTTON_PLAY
9#define ZX_SELECT BUTTON_SELECT
10#define ZX_LEFT BUTTON_LEFT
11#define ZX_RIGHT BUTTON_RIGHT
12
13#elif CONFIG_KEYPAD == IRIVER_H100_PAD || CONFIG_KEYPAD == IRIVER_H300_PAD
14
15#define ZX_UP BUTTON_UP
16#define ZX_DOWN BUTTON_DOWN
17#define ZX_LEFT BUTTON_LEFT
18#define ZX_RIGHT BUTTON_RIGHT
19#define ZX_SELECT BUTTON_ON
20#define ZX_MENU BUTTON_MODE
21
22#elif CONFIG_KEYPAD == GIGABEAT_PAD
23
24#define ZX_UP BUTTON_UP
25#define ZX_DOWN BUTTON_DOWN
26#define ZX_LEFT BUTTON_LEFT
27#define ZX_RIGHT BUTTON_RIGHT
28#define ZX_SELECT BUTTON_SELECT
29#define ZX_MENU BUTTON_MENU
30
31#elif CONFIG_KEYPAD == GIGABEAT_S_PAD || \
32 CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
33
34#define ZX_UP BUTTON_UP
35#define ZX_DOWN BUTTON_DOWN
36#define ZX_LEFT BUTTON_LEFT
37#define ZX_RIGHT BUTTON_RIGHT
38#define ZX_SELECT BUTTON_SELECT
39#define ZX_MENU BUTTON_MENU
40
41#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
42
43#define ZX_RIGHT BUTTON_RIGHT
44#define ZX_LEFT BUTTON_LEFT
45#define ZX_UP BUTTON_UP
46#define ZX_DOWN BUTTON_DOWN
47#define ZX_SELECT BUTTON_SELECT
48#define ZX_MENU BUTTON_PLAY
49
50#elif CONFIG_KEYPAD == IRIVER_H10_PAD
51#define ZX_SELECT BUTTON_REW
52#define ZX_MENU BUTTON_FF
53#define ZX_LEFT BUTTON_LEFT
54#define ZX_RIGHT BUTTON_RIGHT
55#define ZX_UP BUTTON_SCROLL_UP
56#define ZX_DOWN BUTTON_SCROLL_DOWN
57
58#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
59 (CONFIG_KEYPAD == SANSA_C200_PAD) || \
60 (CONFIG_KEYPAD == SANSA_CLIP_PAD) || \
61 (CONFIG_KEYPAD == SANSA_M200_PAD) || \
62 (CONFIG_KEYPAD == SANSA_CONNECT_PAD)
63#define ZX_SELECT BUTTON_SELECT
64#define ZX_MENU BUTTON_POWER
65#define ZX_LEFT BUTTON_LEFT
66#define ZX_RIGHT BUTTON_RIGHT
67#define ZX_UP BUTTON_UP
68#define ZX_DOWN BUTTON_DOWN
69
70#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
71#define ZX_SELECT BUTTON_SELECT
72#define ZX_MENU (BUTTON_HOME|BUTTON_REPEAT)
73#define ZX_LEFT BUTTON_LEFT
74#define ZX_RIGHT BUTTON_RIGHT
75#define ZX_UP BUTTON_UP
76#define ZX_DOWN BUTTON_DOWN
77
78#elif CONFIG_KEYPAD == MROBE500_PAD
79#define ZX_UP BUTTON_RC_PLAY
80#define ZX_DOWN BUTTON_RC_DOWN
81#define ZX_LEFT BUTTON_RC_REW
82#define ZX_RIGHT BUTTON_RC_FF
83#define ZX_SELECT BUTTON_RC_MODE
84#define ZX_MENU (BUTTON_POWER | BUTTON_REL)
85
86#elif CONFIG_KEYPAD == MROBE100_PAD
87#define ZX_UP BUTTON_UP
88#define ZX_DOWN BUTTON_DOWN
89#define ZX_LEFT BUTTON_LEFT
90#define ZX_RIGHT BUTTON_RIGHT
91#define ZX_SELECT BUTTON_SELECT
92#define ZX_MENU BUTTON_MENU
93
94#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
95#define ZX_UP BUTTON_RC_VOL_UP
96#define ZX_DOWN BUTTON_RC_VOL_DOWN
97#define ZX_LEFT BUTTON_RC_REW
98#define ZX_RIGHT BUTTON_RC_FF
99#define ZX_SELECT BUTTON_RC_PLAY
100#define ZX_MENU BUTTON_RC_REC
101
102#elif CONFIG_KEYPAD == COWON_D2_PAD
103#define ZX_MENU (BUTTON_MENU|BUTTON_REL)
104
105#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
106#define ZX_UP BUTTON_UP
107#define ZX_DOWN BUTTON_DOWN
108#define ZX_LEFT BUTTON_LEFT
109#define ZX_RIGHT BUTTON_RIGHT
110#define ZX_SELECT BUTTON_SELECT
111#define ZX_MENU BUTTON_MENU
112
113#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
114#define ZX_UP BUTTON_UP
115#define ZX_DOWN BUTTON_DOWN
116#define ZX_LEFT BUTTON_BACK
117#define ZX_RIGHT BUTTON_MENU
118#define ZX_SELECT (BUTTON_PLAY|BUTTON_REL)
119#define ZX_MENU (BUTTON_PLAY|BUTTON_REPEAT)
120
121#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
122
123#define ZX_UP BUTTON_UP
124#define ZX_DOWN BUTTON_DOWN
125#define ZX_LEFT BUTTON_LEFT
126#define ZX_RIGHT BUTTON_RIGHT
127#define ZX_SELECT BUTTON_SELECT
128#define ZX_MENU BUTTON_MENU
129
130#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
131
132#define ZX_UP BUTTON_UP
133#define ZX_DOWN BUTTON_DOWN
134#define ZX_LEFT BUTTON_LEFT
135#define ZX_RIGHT BUTTON_RIGHT
136#define ZX_SELECT BUTTON_PLAY
137#define ZX_MENU BUTTON_MENU
138
139#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
140#define ZX_UP BUTTON_UP
141#define ZX_DOWN BUTTON_DOWN
142#define ZX_LEFT BUTTON_PREV
143#define ZX_RIGHT BUTTON_NEXT
144#define ZX_SELECT BUTTON_RIGHT
145#define ZX_MENU BUTTON_MENU
146
147#elif CONFIG_KEYPAD == ONDAVX747_PAD
148#define ZX_MENU (BUTTON_MENU|BUTTON_REL)
149
150#elif CONFIG_KEYPAD == ONDAVX777_PAD
151#define ZX_MENU BUTTON_POWER
152
153#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
154 (CONFIG_KEYPAD == SAMSUNG_YH92X_PAD)
155
156#define ZX_UP BUTTON_UP
157#define ZX_DOWN BUTTON_DOWN
158#define ZX_LEFT BUTTON_LEFT
159#define ZX_RIGHT BUTTON_RIGHT
160#define ZX_SELECT BUTTON_PLAY
161#define ZX_SELECT2 BUTTON_FFWD
162#define ZX_MENU BUTTON_REW
163
164#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
165
166#define ZX_UP BUTTON_UP
167#define ZX_DOWN BUTTON_DOWN
168#define ZX_LEFT BUTTON_PREV
169#define ZX_RIGHT BUTTON_NEXT
170#define ZX_SELECT BUTTON_OK
171#define ZX_MENU BUTTON_MENU
172
173#elif CONFIG_KEYPAD == MPIO_HD200_PAD
174
175#define ZX_MENU (BUTTON_REC|BUTTON_PLAY)
176#define ZX_UP BUTTON_REW
177#define ZX_DOWN BUTTON_FF
178#define ZX_SELECT BUTTON_FUNC
179#define ZX_LEFT BUTTON_VOL_DOWN
180#define ZX_RIGHT BUTTON_VOL_UP
181
182#elif CONFIG_KEYPAD == MPIO_HD300_PAD
183
184#define ZX_MENU (BUTTON_MENU|BUTTON_REPEAT)
185#define ZX_UP BUTTON_UP
186#define ZX_DOWN BUTTON_DOWN
187#define ZX_SELECT BUTTON_ENTER
188#define ZX_LEFT BUTTON_REW
189#define ZX_RIGHT BUTTON_FF
190
191#elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
192
193#define ZX_MENU BUTTON_PLAYPAUSE
194#define ZX_UP BUTTON_UP
195#define ZX_DOWN BUTTON_DOWN
196#define ZX_SELECT BUTTON_SELECT
197#define ZX_LEFT BUTTON_LEFT
198#define ZX_RIGHT BUTTON_RIGHT
199
200#elif (CONFIG_KEYPAD == HM60X_PAD) || \
201 (CONFIG_KEYPAD == HM801_PAD)
202
203#define ZX_MENU BUTTON_POWER
204#define ZX_UP BUTTON_UP
205#define ZX_DOWN BUTTON_DOWN
206#define ZX_SELECT BUTTON_SELECT
207#define ZX_LEFT BUTTON_LEFT
208#define ZX_RIGHT BUTTON_RIGHT
209
210#elif (CONFIG_KEYPAD == SONY_NWZ_PAD)
211#define ZX_MENU BUTTON_POWER
212#define ZX_UP BUTTON_UP
213#define ZX_DOWN BUTTON_DOWN
214#define ZX_LEFT BUTTON_LEFT
215#define ZX_RIGHT BUTTON_RIGHT
216#define ZX_SELECT BUTTON_PLAY
217
218#elif (CONFIG_KEYPAD == CREATIVE_ZEN_PAD)
219#define ZX_MENU BUTTON_MENU
220#define ZX_UP BUTTON_UP
221#define ZX_DOWN BUTTON_DOWN
222#define ZX_LEFT BUTTON_LEFT
223#define ZX_RIGHT BUTTON_RIGHT
224#define ZX_SELECT BUTTON_SELECT
225
226#elif CONFIG_KEYPAD == DX50_PAD
227#define ZX_MENU BUTTON_POWER
228#define ZX_UP BUTTON_VOL_UP
229#define ZX_DOWN BUTTON_VOL_DOWN
230#define ZX_SELECT BUTTON_PLAY
231#define ZX_LEFT BUTTON_LEFT
232#define ZX_RIGHT BUTTON_RIGHT
233
234#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
235#define ZX_MENU BUTTON_MENU
236
237#elif (CONFIG_KEYPAD == AGPTEK_ROCKER_PAD)
238#define ZX_MENU BUTTON_POWER
239#define ZX_UP BUTTON_UP
240#define ZX_DOWN BUTTON_DOWN
241#define ZX_LEFT BUTTON_LEFT
242#define ZX_RIGHT BUTTON_RIGHT
243#define ZX_SELECT BUTTON_SELECT
244
245#elif CONFIG_KEYPAD == XDUOO_X3_PAD
246#define ZX_SELECT BUTTON_PLAY
247#define ZX_MENU BUTTON_POWER
248#define ZX_LEFT BUTTON_PREV
249#define ZX_RIGHT BUTTON_NEXT
250#define ZX_UP BUTTON_HOME
251#define ZX_DOWN BUTTON_OPTION
252
253#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
254#define ZX_SELECT BUTTON_PLAY
255#define ZX_MENU BUTTON_POWER
256#define ZX_LEFT BUTTON_PREV
257#define ZX_RIGHT BUTTON_NEXT
258#define ZX_UP BUTTON_HOME
259#define ZX_DOWN BUTTON_OPTION
260
261#elif CONFIG_KEYPAD == FIIO_M3K_LINUX_PAD
262#define ZX_SELECT BUTTON_PLAY
263#define ZX_MENU BUTTON_POWER
264#define ZX_LEFT BUTTON_PREV
265#define ZX_RIGHT BUTTON_NEXT
266#define ZX_UP BUTTON_HOME
267#define ZX_DOWN BUTTON_OPTION
268
269#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
270#define ZX_SELECT BUTTON_PLAY
271#define ZX_MENU BUTTON_POWER
272#define ZX_LEFT BUTTON_HOME
273#define ZX_RIGHT BUTTON_VOL_DOWN
274#define ZX_UP BUTTON_PREV
275#define ZX_DOWN BUTTON_NEXT
276
277#elif CONFIG_KEYPAD == EROSQ_PAD
278#define ZX_SELECT BUTTON_PLAY
279#define ZX_MENU BUTTON_MENU
280#define ZX_LEFT BUTTON_SCROLL_BACK
281#define ZX_RIGHT BUTTON_SCROLL_FWD
282#define ZX_UP BUTTON_PREV
283#define ZX_DOWN BUTTON_NEXT
284
285#elif CONFIG_KEYPAD == FIIO_M3K_PAD
286#define ZX_SELECT BUTTON_SELECT
287#define ZX_MENU BUTTON_MENU
288#define ZX_LEFT BUTTON_LEFT
289#define ZX_RIGHT BUTTON_RIGHT
290#define ZX_UP BUTTON_UP
291#define ZX_DOWN BUTTON_DOWN
292
293#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
294/* use touchscreen */
295
296#elif CONFIG_KEYPAD == MA_PAD
297#define ZX_SELECT BUTTON_PLAY
298#define ZX_MENU BUTTON_MENU
299#define ZX_LEFT BUTTON_LEFT
300#define ZX_RIGHT BUTTON_RIGHT
301#define ZX_UP BUTTON_UP
302#define ZX_DOWN BUTTON_DOWN
303
304#elif CONFIG_KEYPAD == RG_NANO_PAD
305#define ZX_UP BUTTON_UP
306#define ZX_DOWN BUTTON_DOWN
307#define ZX_LEFT BUTTON_LEFT
308#define ZX_RIGHT BUTTON_RIGHT
309#define ZX_SELECT BUTTON_A
310#define ZX_MENU BUTTON_START
311
312#else
313#error Keymap not defined!
314
315#endif
316
317#ifdef HAVE_TOUCHSCREEN
318#ifndef ZX_UP
319#define ZX_UP BUTTON_TOPMIDDLE
320#endif
321#ifndef ZX_DOWN
322#define ZX_DOWN BUTTON_BOTTOMMIDDLE
323#endif
324#ifndef ZX_LEFT
325#define ZX_LEFT BUTTON_MIDLEFT
326#endif
327#ifndef ZX_RIGHT
328#define ZX_RIGHT BUTTON_MIDRIGHT
329#endif
330#ifndef ZX_SELECT
331#define ZX_SELECT BUTTON_CENTER
332#endif
333#ifndef ZX_MENU
334#define ZX_MENU (BUTTON_TOPLEFT|BUTTON_REL)
335#endif
336#endif
337
338#endif