blob: 6cfe7584585943856947174a5d0d50ae31163c77 [file] [log] [blame]
Marcin Bukat28d54c62010-04-26 21:40:16 +00001/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
Marcin Bukat082c7d32010-10-22 12:28:43 +00008 * $Id$
Marcin Bukat28d54c62010-04-26 21:40:16 +00009 *
10 * Copyright (C) 2010 Marcin Bukat
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21#ifndef _BUTTON_TARGET_H_
22#define _BUTTON_TARGET_H_
23
24#include <stdbool.h>
25#include "config.h"
26
27#define HAS_BUTTON_HOLD
Marcin Bukat66381082010-07-03 20:54:02 +000028#define HAS_REMOTE_BUTTON_HOLD
Marcin Bukat28d54c62010-04-26 21:40:16 +000029
30bool button_hold(void);
Marcin Bukat66381082010-07-03 20:54:02 +000031bool remote_button_hold(void);
Marcin Bukat28d54c62010-04-26 21:40:16 +000032void button_init_device(void);
33int button_read_device(void);
34
35/* HD200 specific button codes */
36/* Main unit's buttons - flags as in original firmware*/
37#define BUTTON_PLAY 0x00000001
38
39#define BUTTON_PREV 0x00000004
40#define BUTTON_NEXT 0x00000002
41#define BUTTON_VOL_UP 0x00000008
42#define BUTTON_VOL_DOWN 0x00000010
43#define BUTTON_REC 0x00000020
44#define BUTTON_SELECT 0x00002000
45
Marcin Bukat66381082010-07-03 20:54:02 +000046#define BUTTON_RC_PLAY 0x00010000
47
48#define BUTTON_RC_PREV 0x00040000
49#define BUTTON_RC_NEXT 0x00020000
50#define BUTTON_RC_VOL_UP 0x00080000
51#define BUTTON_RC_VOL_DOWN 0x00100000
52#define BUTTON_RC_SELECT 0x20000000
53
Marcin Bukat28d54c62010-04-26 21:40:16 +000054#define BUTTON_LEFT BUTTON_PREV
55#define BUTTON_RIGHT BUTTON_NEXT
56#define BUTTON_ON BUTTON_PLAY
Marcin Bukat28d54c62010-04-26 21:40:16 +000057
58#define BUTTON_MAIN (BUTTON_PLAY|BUTTON_PREV|BUTTON_NEXT|BUTTON_VOL_UP|\
59 BUTTON_VOL_DOWN|BUTTON_REC|BUTTON_SELECT)
60
Marcin Bukat66381082010-07-03 20:54:02 +000061#define BUTTON_REMOTE (BUTTON_RC_PLAY|BUTTON_RC_PREV|BUTTON_RC_NEXT|\
62 BUTTON_RC_VOL_UP|BUTTON_RC_VOL_DOWN|BUTTON_RC_SELECT)
63
Marcin Bukat28d54c62010-04-26 21:40:16 +000064#define POWEROFF_BUTTON BUTTON_PLAY
Marcin Bukat66381082010-07-03 20:54:02 +000065#define RC_POWEROFF_BUTTON BUTTON_RC_PLAY
Marcin Bukat28d54c62010-04-26 21:40:16 +000066#define POWEROFF_COUNT 30
67
68#endif /* _BUTTON_TARGET_H_ */