Finally, the new button action system is here, thanks to Jonathan Gordon. Some button mappings have changed and other things may break. Comments should go to the forum, http://forums.rockbox.org/index.php?topic=5829.0 or the mailing list.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10582 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Linus Nielsen Feltzing 2006-08-15 12:27:07 +00:00
parent c0f8b18770
commit 224c0a13eb
47 changed files with 1986 additions and 1846 deletions

View file

@ -23,166 +23,6 @@
#include <applimits.h>
#include <file.h>
#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_OFF
#define TREE_ENTER BUTTON_RIGHT
#define TREE_RUN (BUTTON_SELECT | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_SELECT
#define TREE_MENU ( BUTTON_MODE | BUTTON_REL)
#define TREE_MENU_PRE BUTTON_MODE
#define TREE_OFF BUTTON_OFF
#define TREE_WPS (BUTTON_ON | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_ON
#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT)
#define TREE_QUICK (BUTTON_MODE | BUTTON_REPEAT)
/* Remote keys */
#define TREE_RC_NEXT BUTTON_RC_FF
#define TREE_RC_PREV BUTTON_RC_REW
#define TREE_RC_PGUP BUTTON_RC_SOURCE
#define TREE_RC_PGDN BUTTON_RC_BITRATE
#define TREE_RC_EXIT BUTTON_RC_STOP
#define TREE_RC_RUN (BUTTON_RC_MENU | BUTTON_REL)
#define TREE_RC_RUN_PRE BUTTON_RC_MENU
#define TREE_RC_MENU (BUTTON_RC_MODE | BUTTON_REL)
#define TREE_RC_MENU_PRE BUTTON_RC_MODE
#define TREE_RC_WPS (BUTTON_RC_ON | BUTTON_REL)
#define TREE_RC_WPS_PRE BUTTON_RC_ON
#define TREE_RC_CONTEXT (BUTTON_RC_ON | BUTTON_REPEAT)
#define TREE_RC_QUICK (BUTTON_RC_MODE | BUTTON_REPEAT)
#elif CONFIG_KEYPAD == RECORDER_PAD
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_OFF
#define TREE_ENTER BUTTON_RIGHT
#define TREE_RUN (BUTTON_PLAY | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_PLAY
#define TREE_MENU BUTTON_F1
#define TREE_OFF BUTTON_OFF
#define TREE_WPS (BUTTON_ON | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_ON
#define TREE_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_PLAY)
#define TREE_QUICK BUTTON_F2
#define TREE_RC_NEXT BUTTON_RC_RIGHT
#define TREE_RC_PREV BUTTON_RC_LEFT
#define TREE_RC_EXIT BUTTON_RC_STOP
#define TREE_RC_RUN BUTTON_RC_PLAY
#elif CONFIG_KEYPAD == PLAYER_PAD
#define TREE_EXIT BUTTON_STOP
#define TREE_ABORT BUTTON_STOP
#define TREE_RUN (BUTTON_PLAY | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_PLAY
#define TREE_MENU BUTTON_MENU
#define TREE_WPS (BUTTON_ON | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_ON
#define TREE_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_PLAY)
#define TREE_RC_NEXT BUTTON_RC_RIGHT
#define TREE_RC_PREV BUTTON_RC_LEFT
#define TREE_RC_EXIT BUTTON_RC_STOP
#define TREE_RC_RUN BUTTON_RC_PLAY
#elif CONFIG_KEYPAD == ONDIO_PAD
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_OFF
#define TREE_RUN (BUTTON_RIGHT | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_RIGHT
#define TREE_MENU (BUTTON_MENU | BUTTON_REPEAT)
#define TREE_MENU_PRE BUTTON_MENU
#define TREE_OFF BUTTON_OFF
#define TREE_WPS (BUTTON_MENU | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_MENU
#define TREE_CONTEXT (BUTTON_RIGHT | BUTTON_REPEAT)
#elif CONFIG_KEYPAD == GMINI100_PAD
#define TREE_EXIT BUTTON_LEFT
#define TREE_ENTER BUTTON_RIGHT
#define TREE_RUN (BUTTON_PLAY | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_PLAY
#define TREE_MENU BUTTON_MENU
#define TREE_WPS (BUTTON_ON | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_ON
#define TREE_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_PLAY)
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD)
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_LEFT
#define TREE_ENTER BUTTON_RIGHT
#define TREE_RUN (BUTTON_SELECT | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_SELECT
#define TREE_MENU (BUTTON_MENU | BUTTON_REL)
#define TREE_MENU_PRE BUTTON_MENU
#define TREE_WPS (BUTTON_PLAY | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_PLAY
#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#define TREE_QUICK (BUTTON_MENU | BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_PLAY
#define TREE_RUN (BUTTON_RIGHT | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_RIGHT
#define TREE_MENU (BUTTON_SELECT | BUTTON_REPEAT)
#define TREE_MENU_PRE BUTTON_SELECT
#define TREE_WPS (BUTTON_SELECT | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_SELECT
#define TREE_CONTEXT (BUTTON_RIGHT | BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IAUDIO_X5_PAD
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_REC
#define TREE_ENTER BUTTON_RIGHT
#define TREE_RUN (BUTTON_SELECT | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_SELECT
#define TREE_MENU (BUTTON_REC | BUTTON_REL)
#define TREE_MENU_PRE BUTTON_REC
#define TREE_WPS (BUTTON_PLAY | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_PLAY
#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#define TREE_QUICK (BUTTON_REC | BUTTON_REPEAT)
#elif CONFIG_KEYPAD == GIGABEAT_PAD
#define TREE_NEXT BUTTON_DOWN
#define TREE_PREV BUTTON_UP
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_A
#define TREE_ENTER BUTTON_RIGHT
#define TREE_RUN (BUTTON_SELECT | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_SELECT
#define TREE_MENU (BUTTON_MENU | BUTTON_REL)
#define TREE_MENU_PRE BUTTON_MENU
#define TREE_WPS (BUTTON_POWER | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_POWER
#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_LEFT
#define TREE_ENTER BUTTON_RIGHT
#define TREE_RUN (BUTTON_PLAY | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_PLAY
#define TREE_MENU (BUTTON_REW | BUTTON_REL)
#define TREE_MENU_PRE BUTTON_REW
#define TREE_WPS (BUTTON_FF | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_FF
#define TREE_CONTEXT (BUTTON_PLAY | BUTTON_SCROLL_UP)
#define TREE_QUICK (BUTTON_PLAY | BUTTON_SCROLL_DOWN)
#endif
struct entry {
short attr; /* FAT attributes + file type flags */
unsigned long time_write; /* Last write time */