A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2002 Gilles Roux
11 * 2003 Garrett Derner
12 * 2010 Yoshihisa Uchida
13 *
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
18 *
19 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20 * KIND, either express or implied.
21 *
22 ****************************************************************************/
23#ifndef PLUGIN_TEXT_VIEWER_BUTTON_H
24#define PLUGIN_TEXT_VIEWER_BUTTON_H
25
26/* variable button definitions */
27
28/*
29 * [required]
30 * TV_QUIT exit txit viewer
31 * TV_SCROLL_UP scroll up
32 * TV_SCROLL_DOWN scroll down
33 * TV_SCREEN_LEFT scroll left (when wide mode)/scroll previous page (when narrow mode)
34 * TV_SCREEN_RIGHT scroll right (when wide mode)/scroll next page (when narrow mode)
35 * TV_MENU enter menu
36 * TV_AUTOSCROLL toggle autoscroll
37 * TV_BOOKMARK set/reset bookmark
38 *
39 * [optional]
40 * TV_RC_QUIT exit text plugin (remote key only)
41 * TV_LINE_UP one line up
42 * TV_LINE_DOWN one line down
43 * TV_COLUMN_LEFT one column left
44 * TV_COLUMN_RIGHT one column right
45 */
46
47/* iRiver H1x0 && H3x0 keys */
48#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
49 (CONFIG_KEYPAD == IRIVER_H300_PAD)
50#define TV_QUIT BUTTON_OFF
51#define TV_RC_QUIT BUTTON_RC_STOP
52#define TV_SCROLL_UP BUTTON_UP
53#define TV_SCROLL_DOWN BUTTON_DOWN
54#define TV_SCREEN_LEFT BUTTON_LEFT
55#define TV_SCREEN_RIGHT BUTTON_RIGHT
56#define TV_MENU BUTTON_MODE
57#define TV_AUTOSCROLL BUTTON_SELECT
58#define TV_LINE_UP (BUTTON_ON | BUTTON_UP)
59#define TV_LINE_DOWN (BUTTON_ON | BUTTON_DOWN)
60#define TV_COLUMN_LEFT (BUTTON_ON | BUTTON_LEFT)
61#define TV_COLUMN_RIGHT (BUTTON_ON | BUTTON_RIGHT)
62#define TV_BOOKMARK (BUTTON_ON | BUTTON_SELECT)
63
64/* iPods */
65#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
66 (CONFIG_KEYPAD == IPOD_3G_PAD) || \
67 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
68#define TV_QUIT_PRE BUTTON_SELECT
69#define TV_QUIT (BUTTON_SELECT | BUTTON_MENU)
70#define TV_SCROLL_UP BUTTON_SCROLL_BACK
71#define TV_SCROLL_DOWN BUTTON_SCROLL_FWD
72#define TV_SCREEN_LEFT BUTTON_LEFT
73#define TV_SCREEN_RIGHT BUTTON_RIGHT
74#define TV_MENU BUTTON_MENU
75#define TV_AUTOSCROLL BUTTON_PLAY
76#define TV_BOOKMARK BUTTON_SELECT
77
78/* iAudio X5/M5 keys */
79#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
80#define TV_QUIT BUTTON_POWER
81#define TV_SCROLL_UP BUTTON_UP
82#define TV_SCROLL_DOWN BUTTON_DOWN
83#define TV_SCREEN_LEFT BUTTON_LEFT
84#define TV_SCREEN_RIGHT BUTTON_RIGHT
85#define TV_MENU BUTTON_SELECT
86#define TV_AUTOSCROLL BUTTON_PLAY
87#define TV_BOOKMARK BUTTON_REC
88
89/* Gigabeat F/X keys */
90#elif CONFIG_KEYPAD == GIGABEAT_PAD
91#define TV_QUIT BUTTON_POWER
92#define TV_SCROLL_UP BUTTON_UP
93#define TV_SCROLL_DOWN BUTTON_DOWN
94#define TV_SCREEN_LEFT BUTTON_LEFT
95#define TV_SCREEN_RIGHT BUTTON_RIGHT
96#define TV_MENU BUTTON_MENU
97#define TV_AUTOSCROLL_PRE BUTTON_A
98#define TV_AUTOSCROLL (BUTTON_A|BUTTON_REL)
99#define TV_LINE_UP (BUTTON_A|BUTTON_UP)
100#define TV_LINE_DOWN (BUTTON_A|BUTTON_DOWN)
101#define TV_COLUMN_LEFT (BUTTON_A|BUTTON_LEFT)
102#define TV_COLUMN_RIGHT (BUTTON_A|BUTTON_RIGHT)
103#define TV_BOOKMARK BUTTON_SELECT
104
105/* Sansa E200 keys */
106#elif CONFIG_KEYPAD == SANSA_E200_PAD
107#define TV_QUIT BUTTON_POWER
108#define TV_SCROLL_UP BUTTON_UP
109#define TV_SCROLL_DOWN BUTTON_DOWN
110#define TV_SCREEN_LEFT BUTTON_LEFT
111#define TV_SCREEN_RIGHT BUTTON_RIGHT
112#define TV_MENU BUTTON_SELECT
113#define TV_AUTOSCROLL BUTTON_REC
114#define TV_LINE_UP BUTTON_SCROLL_BACK
115#define TV_LINE_DOWN BUTTON_SCROLL_FWD
116#define TV_BOOKMARK (BUTTON_DOWN|BUTTON_SELECT)
117
118/* Sansa Fuze keys */
119#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
120#define TV_QUIT (BUTTON_HOME|BUTTON_REPEAT)
121#define TV_SCROLL_UP BUTTON_UP
122#define TV_SCROLL_DOWN BUTTON_DOWN
123#define TV_SCREEN_LEFT BUTTON_LEFT
124#define TV_SCREEN_RIGHT BUTTON_RIGHT
125#define TV_MENU BUTTON_SELECT|BUTTON_REPEAT
126#define TV_AUTOSCROLL BUTTON_SELECT|BUTTON_DOWN
127#define TV_LINE_UP BUTTON_SCROLL_BACK
128#define TV_LINE_DOWN BUTTON_SCROLL_FWD
129#define TV_BOOKMARK BUTTON_SELECT
130
131/* Sansa C200 keys */
132#elif CONFIG_KEYPAD == SANSA_C200_PAD
133#define TV_QUIT BUTTON_POWER
134#define TV_SCROLL_UP BUTTON_VOL_UP
135#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
136#define TV_SCREEN_LEFT BUTTON_LEFT
137#define TV_SCREEN_RIGHT BUTTON_RIGHT
138#define TV_MENU BUTTON_SELECT
139#define TV_AUTOSCROLL BUTTON_REC
140#define TV_LINE_UP BUTTON_UP
141#define TV_LINE_DOWN BUTTON_DOWN
142#define TV_BOOKMARK (BUTTON_DOWN | BUTTON_SELECT)
143
144/* Sansa Clip keys */
145#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
146#define TV_QUIT BUTTON_POWER
147#define TV_SCROLL_UP BUTTON_VOL_UP
148#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
149#define TV_SCREEN_LEFT BUTTON_LEFT
150#define TV_SCREEN_RIGHT BUTTON_RIGHT
151#define TV_MENU BUTTON_SELECT
152#define TV_AUTOSCROLL BUTTON_HOME
153#define TV_LINE_UP BUTTON_UP
154#define TV_LINE_DOWN BUTTON_DOWN
155#define TV_BOOKMARK (BUTTON_DOWN|BUTTON_SELECT)
156
157/* Sansa M200 keys */
158#elif CONFIG_KEYPAD == SANSA_M200_PAD
159#define TV_QUIT BUTTON_POWER
160#define TV_SCROLL_UP BUTTON_VOL_UP
161#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
162#define TV_SCREEN_LEFT BUTTON_LEFT
163#define TV_SCREEN_RIGHT BUTTON_RIGHT
164#define TV_MENU (BUTTON_SELECT | BUTTON_UP)
165#define TV_AUTOSCROLL (BUTTON_SELECT | BUTTON_REL)
166#define TV_LINE_UP BUTTON_UP
167#define TV_LINE_DOWN BUTTON_DOWN
168#define TV_BOOKMARK (BUTTON_DOWN|BUTTON_SELECT)
169
170/* iriver H10 keys */
171#elif CONFIG_KEYPAD == IRIVER_H10_PAD
172#define TV_QUIT BUTTON_POWER
173#define TV_SCROLL_UP BUTTON_SCROLL_UP
174#define TV_SCROLL_DOWN BUTTON_SCROLL_DOWN
175#define TV_SCREEN_LEFT BUTTON_LEFT
176#define TV_SCREEN_RIGHT BUTTON_RIGHT
177#define TV_MENU BUTTON_REW
178#define TV_AUTOSCROLL BUTTON_PLAY
179#define TV_BOOKMARK BUTTON_FF
180
181/*M-Robe 500 keys */
182#elif CONFIG_KEYPAD == MROBE500_PAD
183#define TV_QUIT BUTTON_POWER
184#define TV_SCROLL_UP BUTTON_RC_PLAY
185#define TV_SCROLL_DOWN BUTTON_RC_DOWN
186#define TV_SCREEN_LEFT BUTTON_LEFT
187#define TV_SCREEN_RIGHT BUTTON_RIGHT
188#define TV_MENU BUTTON_RC_HEART
189#define TV_AUTOSCROLL BUTTON_RC_MODE
190#define TV_BOOKMARK BUTTON_CENTER
191
192/*Gigabeat S keys */
193#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
194#define TV_QUIT BUTTON_BACK
195#define TV_SCROLL_UP BUTTON_PREV
196#define TV_SCROLL_DOWN BUTTON_NEXT
197#define TV_SCREEN_LEFT (BUTTON_PLAY | BUTTON_LEFT)
198#define TV_SCREEN_RIGHT (BUTTON_PLAY | BUTTON_RIGHT)
199#define TV_MENU BUTTON_MENU
200#define TV_AUTOSCROLL_PRE BUTTON_PLAY
201#define TV_AUTOSCROLL (BUTTON_PLAY|BUTTON_REL)
202#define TV_LINE_UP BUTTON_UP
203#define TV_LINE_DOWN BUTTON_DOWN
204#define TV_COLUMN_LEFT BUTTON_LEFT
205#define TV_COLUMN_RIGHT BUTTON_RIGHT
206#define TV_BOOKMARK BUTTON_SELECT
207
208/*M-Robe 100 keys */
209#elif CONFIG_KEYPAD == MROBE100_PAD
210#define TV_QUIT BUTTON_POWER
211#define TV_SCROLL_UP BUTTON_UP
212#define TV_SCROLL_DOWN BUTTON_DOWN
213#define TV_SCREEN_LEFT BUTTON_LEFT
214#define TV_SCREEN_RIGHT BUTTON_RIGHT
215#define TV_MENU BUTTON_MENU
216#define TV_AUTOSCROLL BUTTON_DISPLAY
217#define TV_BOOKMARK BUTTON_SELECT
218
219/* iAUdio M3 keys */
220#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
221#define TV_QUIT BUTTON_REC
222#define TV_RC_QUIT BUTTON_RC_REC
223#define TV_SCROLL_UP BUTTON_RC_VOL_UP
224#define TV_SCROLL_DOWN BUTTON_RC_VOL_DOWN
225#define TV_SCREEN_LEFT BUTTON_RC_REW
226#define TV_SCREEN_RIGHT BUTTON_RC_FF
227#define TV_MENU BUTTON_RC_MENU
228#define TV_AUTOSCROLL BUTTON_RC_MODE
229#define TV_BOOKMARK BUTTON_RC_PLAY
230
231/* Cowon D2 keys */
232#elif CONFIG_KEYPAD == COWON_D2_PAD
233#define TV_QUIT BUTTON_POWER
234#define TV_MENU BUTTON_MENU
235#define TV_SCROLL_UP BUTTON_MINUS
236#define TV_SCROLL_DOWN BUTTON_PLUS
237#define TV_BOOKMARK (BUTTON_MENU|BUTTON_PLUS)
238
239/* Creative Zen Vision:M keys */
240#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
241#define TV_QUIT BUTTON_BACK
242#define TV_SCROLL_UP BUTTON_UP
243#define TV_SCROLL_DOWN BUTTON_DOWN
244#define TV_SCREEN_LEFT BUTTON_LEFT
245#define TV_SCREEN_RIGHT BUTTON_RIGHT
246#define TV_MENU BUTTON_MENU
247#define TV_AUTOSCROLL BUTTON_SELECT
248#define TV_BOOKMARK BUTTON_PLAY
249
250/* Creative Zen X-Fi3 keys */
251#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
252#define TV_QUIT BUTTON_POWER
253#define TV_SCROLL_UP BUTTON_UP
254#define TV_SCROLL_DOWN BUTTON_DOWN
255#define TV_SCREEN_LEFT BUTTON_BACK
256#define TV_SCREEN_RIGHT BUTTON_MENU
257#define TV_MENU BUTTON_PLAY|BUTTON_REPEAT
258#define TV_AUTOSCROLL BUTTON_PLAY|BUTTON_DOWN
259#define TV_LINE_UP BUTTON_VOL_UP
260#define TV_LINE_DOWN BUTTON_VOL_DOWN
261#define TV_BOOKMARK BUTTON_PLAY|BUTTON_REL
262
263/* Philips HDD1630 keys */
264#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
265#define TV_QUIT BUTTON_POWER
266#define TV_SCROLL_UP BUTTON_UP
267#define TV_SCROLL_DOWN BUTTON_DOWN
268#define TV_SCREEN_LEFT BUTTON_LEFT
269#define TV_SCREEN_RIGHT BUTTON_RIGHT
270#define TV_MENU BUTTON_MENU
271#define TV_AUTOSCROLL BUTTON_VIEW
272#define TV_BOOKMARK BUTTON_SELECT
273
274/* Philips HDD6330 keys */
275#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
276#define TV_QUIT BUTTON_POWER
277#define TV_SCROLL_UP BUTTON_UP
278#define TV_SCROLL_DOWN BUTTON_DOWN
279#define TV_SCREEN_LEFT BUTTON_LEFT
280#define TV_SCREEN_RIGHT BUTTON_RIGHT
281#define TV_MENU BUTTON_MENU
282#define TV_AUTOSCROLL BUTTON_NEXT
283#define TV_BOOKMARK BUTTON_PLAY
284
285/* Philips SA9200 keys */
286#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
287#define TV_QUIT BUTTON_POWER
288#define TV_SCROLL_UP BUTTON_UP
289#define TV_SCROLL_DOWN BUTTON_DOWN
290#define TV_SCREEN_LEFT BUTTON_PREV
291#define TV_SCREEN_RIGHT BUTTON_NEXT
292#define TV_MENU BUTTON_MENU
293#define TV_AUTOSCROLL BUTTON_PLAY
294#define TV_BOOKMARK BUTTON_RIGHT
295
296/* Onda VX747 keys */
297#elif CONFIG_KEYPAD == ONDAVX747_PAD
298#define TV_QUIT BUTTON_POWER
299#define TV_MENU BUTTON_MENU
300#define TV_BOOKMARK (BUTTON_RIGHT|BUTTON_POWER)
301
302/* Onda VX777 keys */
303#elif CONFIG_KEYPAD == ONDAVX777_PAD
304#define TV_QUIT BUTTON_POWER
305#define TV_BOOKMARK (BUTTON_RIGHT|BUTTON_POWER)
306
307/* SAMSUNG YH-920 / YH-925 keys */
308#elif CONFIG_KEYPAD == SAMSUNG_YH92X_PAD
309#define TV_QUIT (BUTTON_REW|BUTTON_REPEAT)
310#define TV_SCROLL_UP BUTTON_UP
311#define TV_SCROLL_DOWN BUTTON_DOWN
312#define TV_SCREEN_LEFT BUTTON_LEFT
313#define TV_SCREEN_RIGHT BUTTON_RIGHT
314#define TV_MENU BUTTON_REW
315#define TV_AUTOSCROLL BUTTON_REC_SW_ON
316#define TV_AUTOSCROLL2 BUTTON_REC_SW_OFF
317#define TV_BOOKMARK BUTTON_PLAY
318#define TV_LINE_UP (BUTTON_FFWD|BUTTON_UP)
319#define TV_LINE_DOWN (BUTTON_FFWD|BUTTON_DOWN)
320#define TV_COLUMN_LEFT (BUTTON_FFWD|BUTTON_LEFT)
321#define TV_COLUMN_RIGHT (BUTTON_FFWD|BUTTON_RIGHT)
322
323/* SAMSUNG YH-820 keys */
324#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
325#define TV_QUIT (BUTTON_REW|BUTTON_REPEAT)
326#define TV_SCROLL_UP BUTTON_UP
327#define TV_SCROLL_DOWN BUTTON_DOWN
328#define TV_SCREEN_LEFT BUTTON_LEFT
329#define TV_SCREEN_RIGHT BUTTON_RIGHT
330#define TV_MENU BUTTON_REW
331#define TV_AUTOSCROLL BUTTON_FFWD
332#define TV_BOOKMARK BUTTON_PLAY
333#define TV_LINE_UP (BUTTON_REC|BUTTON_UP)
334#define TV_LINE_DOWN (BUTTON_REC|BUTTON_DOWN)
335#define TV_COLUMN_LEFT (BUTTON_REC|BUTTON_LEFT)
336#define TV_COLUMN_RIGHT (BUTTON_REC|BUTTON_RIGHT)
337
338/* Packard Bell Vibe 500 keys */
339#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
340#define TV_QUIT BUTTON_REC
341#define TV_SCROLL_UP BUTTON_OK
342#define TV_SCROLL_DOWN BUTTON_CANCEL
343#define TV_LINE_UP BUTTON_UP
344#define TV_LINE_DOWN BUTTON_DOWN
345#define TV_SCREEN_LEFT BUTTON_PREV
346#define TV_SCREEN_RIGHT BUTTON_NEXT
347#define TV_MENU BUTTON_MENU
348#define TV_AUTOSCROLL BUTTON_PLAY
349#define TV_BOOKMARK BUTTON_POWER
350
351/* MPIO HD200 keys */
352#elif CONFIG_KEYPAD == MPIO_HD200_PAD
353#define TV_QUIT (BUTTON_REC | BUTTON_PLAY)
354#define TV_SCROLL_UP BUTTON_REW
355#define TV_SCROLL_DOWN BUTTON_FF
356#define TV_SCREEN_LEFT BUTTON_VOL_DOWN
357#define TV_SCREEN_RIGHT BUTTON_VOL_UP
358#define TV_MENU BUTTON_FUNC
359#define TV_AUTOSCROLL BUTTON_PLAY
360#define TV_BOOKMARK BUTTON_REC
361
362/* MPIO HD300 keys */
363#elif CONFIG_KEYPAD == MPIO_HD300_PAD
364#define TV_QUIT (BUTTON_MENU | BUTTON_REPEAT)
365#define TV_SCROLL_UP BUTTON_REW
366#define TV_SCROLL_DOWN BUTTON_FF
367#define TV_LINE_UP BUTTON_UP
368#define TV_LINE_DOWN BUTTON_DOWN
369#define TV_SCREEN_LEFT (BUTTON_REW | BUTTON_PLAY)
370#define TV_SCREEN_RIGHT (BUTTON_FF | BUTTON_PLAY)
371#define TV_MENU (BUTTON_MENU | BUTTON_REL)
372#define TV_AUTOSCROLL BUTTON_REC
373#define TV_BOOKMARK BUTTON_ENTER
374
375/* Sansa Fuze+ keys */
376#elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
377#define TV_QUIT BUTTON_POWER
378#define TV_SCROLL_UP BUTTON_UP
379#define TV_SCROLL_DOWN BUTTON_DOWN
380#define TV_SCREEN_LEFT BUTTON_LEFT
381#define TV_SCREEN_RIGHT BUTTON_RIGHT
382#define TV_MENU BUTTON_BACK
383#define TV_AUTOSCROLL BUTTON_PLAYPAUSE
384#define TV_BOOKMARK (BUTTON_SELECT | BUTTON_REPEAT)
385#define TV_COLUMN_LEFT BUTTON_BOTTOMLEFT
386#define TV_COLUMN_RIGHT BUTTON_BOTTOMRIGHT
387#define TV_LINE_UP BUTTON_VOL_UP
388#define TV_LINE_DOWN BUTTON_VOL_DOWN
389
390#elif CONFIG_KEYPAD == SANSA_CONNECT_PAD
391#define TV_QUIT BUTTON_POWER
392#define TV_SCROLL_UP BUTTON_UP
393#define TV_SCROLL_DOWN BUTTON_DOWN
394#define TV_SCREEN_LEFT BUTTON_LEFT
395#define TV_SCREEN_RIGHT BUTTON_RIGHT
396#define TV_MENU BUTTON_SELECT
397#define TV_AUTOSCROLL BUTTON_VOL_DOWN
398#define TV_LINE_UP BUTTON_SCROLL_BACK
399#define TV_LINE_DOWN BUTTON_SCROLL_FWD
400#define TV_BOOKMARK (BUTTON_DOWN|BUTTON_SELECT)
401
402#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD
403#define TV_QUIT BUTTON_BACK
404#define TV_SCROLL_UP BUTTON_UP
405#define TV_SCROLL_DOWN BUTTON_DOWN
406#define TV_SCREEN_LEFT BUTTON_LEFT
407#define TV_SCREEN_RIGHT BUTTON_RIGHT
408#define TV_MENU BUTTON_MENU
409#define TV_AUTOSCROLL BUTTON_USER
410#define TV_BOOKMARK BUTTON_SELECT
411
412#elif CONFIG_KEYPAD == HM60X_PAD
413#define TV_QUIT BUTTON_POWER
414#define TV_SCROLL_UP BUTTON_UP
415#define TV_SCROLL_DOWN BUTTON_DOWN
416#define TV_SCREEN_LEFT BUTTON_LEFT
417#define TV_SCREEN_RIGHT BUTTON_RIGHT
418#define TV_MENU (BUTTON_POWER | BUTTON_SELECT)
419#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_UP)
420#define TV_BOOKMARK BUTTON_SELECT
421
422#elif CONFIG_KEYPAD == HM801_PAD
423#define TV_QUIT BUTTON_POWER
424#define TV_SCROLL_UP BUTTON_UP
425#define TV_SCROLL_DOWN BUTTON_DOWN
426#define TV_SCREEN_LEFT BUTTON_LEFT
427#define TV_SCREEN_RIGHT BUTTON_RIGHT
428#define TV_MENU BUTTON_PLAY
429#define TV_AUTOSCROLL BUTTON_NEXT
430#define TV_BOOKMARK BUTTON_SELECT
431
432#elif CONFIG_KEYPAD == SONY_NWZ_PAD
433#define TV_QUIT (BUTTON_BACK|BUTTON_REPEAT)
434#define TV_SCROLL_UP BUTTON_UP
435#define TV_SCROLL_DOWN BUTTON_DOWN
436#define TV_SCREEN_LEFT BUTTON_LEFT
437#define TV_SCREEN_RIGHT BUTTON_RIGHT
438#define TV_MENU BUTTON_BACK
439#define TV_AUTOSCROLL BUTTON_PLAY
440#define TV_BOOKMARK BUTTON_POWER
441
442#elif CONFIG_KEYPAD == CREATIVE_ZEN_PAD
443#define TV_QUIT BUTTON_BACK
444#define TV_SCROLL_UP BUTTON_UP
445#define TV_SCROLL_DOWN BUTTON_DOWN
446#define TV_SCREEN_LEFT BUTTON_LEFT
447#define TV_SCREEN_RIGHT BUTTON_RIGHT
448#define TV_MENU BUTTON_MENU
449#define TV_AUTOSCROLL BUTTON_PLAYPAUSE
450#define TV_BOOKMARK BUTTON_SHORTCUT
451
452#elif CONFIG_KEYPAD == DX50_PAD
453#define TV_QUIT (BUTTON_POWER | BUTTON_REL)
454#define TV_SCROLL_UP BUTTON_VOL_UP
455#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
456#define TV_SCREEN_LEFT BUTTON_LEFT
457#define TV_SCREEN_RIGHT BUTTON_RIGHT
458#define TV_MENU (BUTTON_PLAY | BUTTON_REL)
459#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_PLAY)
460#define TV_BOOKMARK (BUTTON_POWER | BUTTON_VOL_UP)
461
462#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
463#define TV_QUIT BUTTON_POWER
464#define TV_MENU BUTTON_MENU
465#define TV_BOOKMARK BUTTON_BOTTOMLEFT
466
467#elif CONFIG_KEYPAD == AGPTEK_ROCKER_PAD
468#define TV_QUIT BUTTON_POWER
469#define TV_SCROLL_UP BUTTON_UP
470#define TV_SCROLL_DOWN BUTTON_DOWN
471#define TV_SCREEN_LEFT BUTTON_LEFT
472#define TV_SCREEN_RIGHT BUTTON_RIGHT
473#define TV_MENU BUTTON_SELECT
474#define TV_AUTOSCROLL BUTTON_VOLDOWN
475#define TV_BOOKMARK BUTTON_VOLUP
476
477#elif CONFIG_KEYPAD == XDUOO_X3_PAD
478#define TV_QUIT BUTTON_POWER
479#define TV_SCROLL_UP BUTTON_VOL_UP
480#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
481#define TV_SCREEN_LEFT BUTTON_PREV
482#define TV_SCREEN_RIGHT BUTTON_NEXT
483#define TV_MENU BUTTON_PLAY
484#define TV_AUTOSCROLL (BUTTON_PWRALT | BUTTON_HOME)
485#define TV_LINE_UP BUTTON_HOME
486#define TV_LINE_DOWN BUTTON_OPTION
487#define TV_BOOKMARK (BUTTON_OPTION | BUTTON_PLAY)
488
489#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
490#define TV_QUIT BUTTON_POWER
491#define TV_SCROLL_UP BUTTON_VOL_UP
492#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
493#define TV_SCREEN_LEFT BUTTON_PREV
494#define TV_SCREEN_RIGHT BUTTON_NEXT
495#define TV_MENU BUTTON_PLAY
496#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME)
497#define TV_LINE_UP BUTTON_HOME
498#define TV_LINE_DOWN BUTTON_OPTION
499#define TV_BOOKMARK (BUTTON_OPTION | BUTTON_PLAY)
500
501#elif CONFIG_KEYPAD == XDUOO_X20_PAD
502#define TV_QUIT BUTTON_POWER
503#define TV_SCROLL_UP BUTTON_VOL_UP
504#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
505#define TV_SCREEN_LEFT BUTTON_PREV
506#define TV_SCREEN_RIGHT BUTTON_NEXT
507#define TV_MENU BUTTON_PLAY
508#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME)
509#define TV_LINE_UP BUTTON_HOME
510#define TV_LINE_DOWN BUTTON_OPTION
511#define TV_BOOKMARK (BUTTON_OPTION | BUTTON_PLAY)
512
513#elif CONFIG_KEYPAD == FIIO_M3K_LINUX_PAD
514#define TV_QUIT BUTTON_POWER
515#define TV_SCROLL_UP BUTTON_VOL_UP
516#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
517#define TV_SCREEN_LEFT BUTTON_PREV
518#define TV_SCREEN_RIGHT BUTTON_NEXT
519#define TV_MENU BUTTON_PLAY
520#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME)
521#define TV_LINE_UP BUTTON_HOME
522#define TV_LINE_DOWN BUTTON_OPTION
523#define TV_BOOKMARK (BUTTON_OPTION | BUTTON_PLAY)
524
525#elif CONFIG_KEYPAD == EROSQ_PAD
526#define TV_MENU BUTTON_MENU
527#define TV_SCROLL_UP BUTTON_SCROLL_BACK
528#define TV_SCROLL_DOWN BUTTON_SCROLL_FWD
529#define TV_SCREEN_LEFT BUTTON_PREV
530#define TV_SCREEN_RIGHT BUTTON_NEXT
531#define TV_AUTOSCROLL BUTTON_PLAY
532#define TV_QUIT BUTTON_POWER
533#define TV_BOOKMARK BUTTON_BACK
534#define TV_LINE_UP BUTTON_VOL_UP
535#define TV_LINE_DOWN BUTTON_VOL_DOWN
536
537/* Xuelin 770/770c keys */
538#elif CONFIG_KEYPAD == IHIFI_770_PAD
539#define TV_QUIT BUTTON_POWER
540#define TV_SCROLL_UP BUTTON_VOL_UP
541#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
542#define TV_SCREEN_LEFT BUTTON_PREV
543#define TV_SCREEN_RIGHT BUTTON_NEXT
544#define TV_MENU BUTTON_PLAY
545#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME)
546#define TV_LINE_UP (BUTTON_POWER | BUTTON_VOL_UP)
547#define TV_LINE_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN)
548#define TV_BOOKMARK (BUTTON_POWER | BUTTON_PLAY)
549
550/* Xuelin 800 keys */
551#elif CONFIG_KEYPAD == IHIFI_800_PAD
552#define TV_QUIT BUTTON_POWER
553#define TV_SCROLL_UP BUTTON_VOL_UP
554#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
555#define TV_SCREEN_LEFT BUTTON_PREV
556#define TV_SCREEN_RIGHT BUTTON_NEXT
557#define TV_MENU BUTTON_PLAY
558#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME)
559#define TV_LINE_UP (BUTTON_POWER | BUTTON_VOL_UP)
560#define TV_LINE_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN)
561#define TV_BOOKMARK (BUTTON_POWER | BUTTON_PLAY)
562
563#elif CONFIG_KEYPAD == FIIO_M3K_PAD
564#define TV_QUIT BUTTON_POWER
565#define TV_SCROLL_UP BUTTON_VOL_UP
566#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
567#define TV_SCREEN_LEFT BUTTON_LEFT
568#define TV_SCREEN_RIGHT BUTTON_RIGHT
569#define TV_MENU BUTTON_MENU
570#define TV_AUTOSCROLL BUTTON_SELECT
571#define TV_LINE_UP BUTTON_SCROLL_BACK
572#define TV_LINE_DOWN BUTTON_SCROLL_FWD
573#define TV_BOOKMARK BUTTON_PLAY
574
575#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
576#define TV_BOOKMARK BUTTON_PLAY
577
578#elif CONFIG_KEYPAD == MA_PAD
579#define TV_QUIT BUTTON_BACK
580#define TV_SCROLL_UP (BUTTON_MENU|BUTTON_UP)
581#define TV_SCROLL_DOWN (BUTTON_MENU|BUTTON_DOWN)
582#define TV_SCREEN_LEFT BUTTON_LEFT
583#define TV_SCREEN_RIGHT BUTTON_RIGHT
584#define TV_MENU BUTTON_MENU
585#define TV_AUTOSCROLL (BUTTON_MENU|BUTTON_BACK)
586#define TV_LINE_UP BUTTON_UP
587#define TV_LINE_DOWN BUTTON_DOWN
588#define TV_BOOKMARK (BUTTON_MENU|BUTTON_PLAY)
589
590#elif CONFIG_KEYPAD == RG_NANO_PAD
591#define TV_QUIT BUTTON_START
592#define TV_SCROLL_UP BUTTON_UP
593#define TV_SCROLL_DOWN BUTTON_DOWN
594#define TV_SCREEN_LEFT BUTTON_LEFT
595#define TV_SCREEN_RIGHT BUTTON_RIGHT
596#define TV_MENU BUTTON_B
597#define TV_AUTOSCROLL BUTTON_X
598#define TV_LINE_UP BUTTON_R
599#define TV_LINE_DOWN BUTTON_L
600#define TV_BOOKMARK BUTTON_A
601
602#else
603#error No keymap defined!
604#endif
605
606#ifdef HAVE_TOUCHSCREEN
607#ifdef TV_QUIT
608#define TV_QUIT2 BUTTON_TOPLEFT
609#else
610#define TV_QUIT BUTTON_TOPLEFT
611#endif
612#ifdef TV_SCROLL_UP
613#define TV_SCROLL_UP2 BUTTON_TOPMIDDLE
614#else
615#define TV_SCROLL_UP BUTTON_TOPMIDDLE
616#endif
617#ifdef TV_SCROLL_DOWN
618#define TV_SCROLL_DOWN2 BUTTON_BOTTOMMIDDLE
619#else
620#define TV_SCROLL_DOWN BUTTON_BOTTOMMIDDLE
621#endif
622#ifndef TV_SCREEN_LEFT
623#define TV_SCREEN_LEFT BUTTON_MIDLEFT
624#endif
625#ifndef TV_SCREEN_RIGHT
626#define TV_SCREEN_RIGHT BUTTON_MIDRIGHT
627#endif
628#ifdef TV_MENU
629#define TV_MENU2 BUTTON_TOPRIGHT
630#else
631#define TV_MENU BUTTON_TOPRIGHT
632#endif
633#ifndef TV_AUTOSCROLL
634#define TV_AUTOSCROLL BUTTON_CENTER
635#endif
636#endif
637
638#endif