New port: AIGO EROS Q / EROS K

The Q and K have a slightly different case, but the hardware under the
shell is completely identical.

These models are rebadged versions:

 * Hifiwalker H2   (== Q)
 * AGPTek H3       (== K)
 * Surfans F20     (== K)

Other notes:

  * Significant improvements in the shared Hiby-platform launcher/loader
    * SD card can theoretically be hot-swapped now
    * Support external USB mass storage!
  * Some consolidation of Hiby-platform targets
  * Some consolidation of plugin keymaps

Todo/known issues:

 * Keymaps need to be gone over properly
 * Convert to HAVE_SCROLLWHEEL?

Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
This commit is contained in:
Solomon Peachy 2020-10-08 09:47:40 -04:00
parent 5efaa9ef80
commit 2a471e288c
86 changed files with 2097 additions and 1398 deletions

View file

@ -302,4 +302,6 @@ keymaps/keymap-xduoox3ii.c
keymaps/keymap-xduoox20.c
#elif CONFIG_KEYPAD == FIIO_M3K_PAD
keymaps/keymap-fiiom3k.c
#elif CONFIG_KEYPAD == EROSQ_PAD
keymaps/keymap-erosq.c
#endif

View file

@ -46,7 +46,7 @@ toolsicon.130x130x16.bmp
hibyicon.70x70x16.bmp
rockboxicon.70x70x16.bmp
toolsicon.70x70x16.bmp
#elif (defined(XDUOO_X3II) || defined(XDUOO_X20))
#elif (defined(XDUOO_X3II) || defined(XDUOO_X20) || defined(EROS_Q))
hibyicon.130x130x16.bmp
rockboxicon.130x130x16.bmp
toolsicon.130x130x16.bmp

View file

@ -2525,7 +2525,7 @@ static const struct {
{ "Screendump", dbg_screendump },
#endif
{ "Skin Engine RAM usage", dbg_skin_engine },
#if ((CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SONY_NWZ_LINUX) || defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20)) && !defined(SIMULATOR)
#if ((CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SONY_NWZ_LINUX) || defined(HIBY_LINUX) || defined(FIIO_M3K)) && !defined(SIMULATOR)
{ "View HW info", dbg_hw_info },
#endif
#if (CONFIG_PLATFORM & PLATFORM_NATIVE)

256
apps/keymaps/keymap-erosq.c Normal file
View file

@ -0,0 +1,256 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2020 Solomon Peachy
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include "config.h"
#include "action.h"
#include "button.h"
#include "settings.h"
/* {Action Code, Button code, Prereq button code } */
/*
* The format of the list is as follows
* { Action Code, Button code, Prereq button code }
* if there's no need to check the previous button's value, use BUTTON_NONE
* Insert LAST_ITEM_IN_LIST at the end of each mapping
*/
static const struct button_mapping button_context_standard[] = {
{ ACTION_STD_PREV, BUTTON_SCROLL_BACK, BUTTON_NONE },
{ ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE },
{ ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_STD_NEXT, BUTTON_SCROLL_FWD, BUTTON_NONE },
{ ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE },
{ ACTION_STD_NEXTREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
{ ACTION_STD_CANCEL, BUTTON_BACK, BUTTON_NONE },
{ ACTION_STD_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
{ ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
/* ACTION_STD_QUICKSCREEN,
* ACTION_STD_KEYLOCK
* ACTION_STD_REC
* ACTION_STD_HOTKEY
*/
LAST_ITEM_IN_LIST
}; /* button_context_standard */
static const struct button_mapping button_context_mainmenu[] = {
{ ACTION_TREE_WPS, BUTTON_BACK, BUTTON_NONE },
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_TREE),
}; /* button_context_mainmenu as with sansa clip mapping - "back" button returns you to WPS */
static const struct button_mapping button_context_wps[] = {
{ ACTION_WPS_BROWSE, BUTTON_BACK|BUTTON_REL, BUTTON_BACK },
{ ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
{ ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT },
{ ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT },
{ ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT },
{ ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
{ ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
{ ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
{ ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE },
{ ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
/* ACTION_WPS_ID3SCREEN optional */
{ ACTION_WPS_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
// { ACTION_WPS_QUICKSCREEN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_DOWN },
{ ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, /* this should be the same as ACTION_STD_MENU */
/* ACTION_WPS_VIEW_PLAYLIST
* ACTION_WPS_LIST_BOOKMARKS, optional
* ACTION_WPS_CREATE_BOOKMARK, optional
*/
{ ACTION_STD_KEYLOCK, BUTTON_POWER, BUTTON_NONE },
LAST_ITEM_IN_LIST
}; /* button_context_wps */
static const struct button_mapping button_context_settings[] = {
{ ACTION_SETTINGS_INC, BUTTON_SCROLL_FWD, BUTTON_NONE },
// { ACTION_SETTINGS_INCREPEAT, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_SETTINGS_INCBIGSTEP, BUTTON_VOL_UP, BUTTON_NONE },
{ ACTION_SETTINGS_DEC, BUTTON_SCROLL_BACK, BUTTON_NONE },
// { ACTION_SETTINGS_DECREPEAT, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_SETTINGS_DECBIGSTEP, BUTTON_VOL_DOWN, BUTTON_NONE },
/* ACTION_SETTINGS_DECBIGSTEP */
{ ACTION_SETTINGS_RESET, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
/* ACTION_SETTINGS_SET, Used by touchscreen targets */
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
}; /* button_context_settings */
static const struct button_mapping button_context_list[] = {
/* ACTION_LISTTREE_PGUP, optional
* ACTION_LISTTREE_PGDOWN, optional
*/
#ifdef HAVE_VOLUME_IN_LIST
{ ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE },
{ ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
{ ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
#endif
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
}; /* button_context_list */
#if 0 // XXX?
static const struct button_mapping button_context_tree[] = {
/* ACTION_TREE_ROOT_INIT,
* ACTION_TREE_PGLEFT, optional
* ACTION_TREE_PGRIGHT, optional
* ACTION_TREE_STOP,
* ACTION_TREE_WPS,
* ACTION_TREE_HOTKEY,
*/
/* { ACTION_TREE_WPS, BUTTON_UP|BUTTON_REL, BUTTON_UP },
* { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
* { ACTION_TREE_HOTKEY, BUTTON_REC|BUTTON_REL, BUTTON_REC },
*/
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST),
}; /* button_context_tree */
#endif
static const struct button_mapping button_context_yesno[] = {
{ ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE },
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
}; /* button_context_settings_yesno */
static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_TOP, BUTTON_PREV|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_TOP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_SCROLL_FWD|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_SCROLL_BACK|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_RIGHT, BUTTON_NEXT|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_RIGHT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_BACK, BUTTON_NONE },
LAST_ITEM_IN_LIST
}; /* button_context_quickscreen */
static const struct button_mapping button_context_settings_time[] = {
{ ACTION_STD_PREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV },
{ ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_PREV },
{ ACTION_STD_NEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT },
{ ACTION_STD_NEXTREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NEXT },
{ ACTION_STD_CANCEL, BUTTON_BACK|BUTTON_REPEAT, BUTTON_BACK },
{ ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
{ ACTION_SETTINGS_INC, BUTTON_SCROLL_FWD, BUTTON_NONE },
// { ACTION_SETTINGS_INCREPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_SETTINGS_DEC, BUTTON_SCROLL_BACK, BUTTON_NONE },
// { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
LAST_ITEM_IN_LIST
//LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS)
}; /* button_context_settings_time */
static const struct button_mapping button_context_pitchscreen[] = {
{ ACTION_PS_INC_SMALL, BUTTON_SCROLL_FWD, BUTTON_NONE },
{ ACTION_PS_INC_BIG, BUTTON_VOL_UP, BUTTON_NONE },
{ ACTION_PS_DEC_SMALL, BUTTON_SCROLL_BACK, BUTTON_NONE },
{ ACTION_PS_DEC_BIG, BUTTON_VOL_DOWN, BUTTON_NONE },
{ ACTION_PS_NUDGE_LEFT, BUTTON_PREV, BUTTON_NONE },
/* { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, */
{ ACTION_PS_NUDGE_RIGHT, BUTTON_NEXT, BUTTON_NONE },
/* { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, */
{ ACTION_PS_TOGGLE_MODE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
{ ACTION_PS_RESET, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
{ ACTION_PS_EXIT, BUTTON_BACK, BUTTON_NONE },
{ ACTION_PS_SLOWER, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_PS_FASTER, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
}; /* button_context_pitchscreen */
static const struct button_mapping button_context_keyboard[] = {
{ ACTION_KBD_LEFT, BUTTON_SCROLL_FWD, BUTTON_NONE },
{ ACTION_KBD_RIGHT, BUTTON_SCROLL_BACK, BUTTON_NONE },
{ ACTION_KBD_CURSOR_LEFT, BUTTON_PREV, BUTTON_NONE },
{ ACTION_KBD_CURSOR_RIGHT, BUTTON_NEXT, BUTTON_NONE },
{ ACTION_KBD_UP, BUTTON_VOL_DOWN, BUTTON_NONE },
{ ACTION_KBD_UP, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_DOWN, BUTTON_VOL_UP, BUTTON_NONE },
{ ACTION_KBD_DOWN, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_PAGE_FLIP, BUTTON_MENU, BUTTON_NONE },
{ ACTION_KBD_BACKSPACE, BUTTON_BACK, BUTTON_NONE },
{ ACTION_KBD_BACKSPACE, BUTTON_BACK|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE },
{ ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_ABORT, BUTTON_POWER, BUTTON_NONE },
{ ACTION_KBD_MORSE_INPUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_MORSE_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE },
LAST_ITEM_IN_LIST
}; /* button_context_keyboard */
static const struct button_mapping button_context_bmark[] = {
{ ACTION_BMS_DELETE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY },
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST),
}; /* button_context_bmark */
/* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */
const struct button_mapping* get_context_mapping(int context)
{
switch (context)
{
case CONTEXT_STD:
return button_context_standard;
case CONTEXT_WPS:
return button_context_wps;
case CONTEXT_MAINMENU:
return button_context_mainmenu;
case CONTEXT_TREE:
case CONTEXT_LIST:
return button_context_list;
case CONTEXT_SETTINGS:
case CONTEXT_SETTINGS_EQ:
return button_context_settings;
case CONTEXT_SETTINGS_TIME:
return button_context_settings_time;
case CONTEXT_YESNOSCREEN:
return button_context_yesno;
case CONTEXT_BOOKMARKSCREEN:
return button_context_bmark;
case CONTEXT_QUICKSCREEN:
return button_context_quickscreen;
case CONTEXT_PITCHSCREEN:
return button_context_pitchscreen;
case CONTEXT_KEYBOARD:
case CONTEXT_MORSE_INPUT:
return button_context_keyboard;
default:
return button_context_standard;
}
return button_context_standard;
}

View file

@ -24,7 +24,6 @@
#include "plugin.h"
#include "lang_enum.h"
#define BATTERY_LOG HOME_DIR"/battery_bench.txt"
#define BUF_SIZE 16000
@ -83,7 +82,17 @@
#define BATTERY_ON_TXT "SELECT - start"
#define BATTERY_OFF_TXT "HOME"
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD || \
CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD || \
CONFIG_KEYPAD == SONY_NWZ_PAD || \
CONFIG_KEYPAD == AGPTEK_ROCKER_PAD || \
CONFIG_KEYPAD == XDUOO_X3_PAD || \
CONFIG_KEYPAD == IHIFI_770_PAD || \
CONFIG_KEYPAD == IHIFI_800_PAD || \
CONFIG_KEYPAD == XDUOO_X3II_PAD || \
CONFIG_KEYPAD == XDUOO_X20_PAD || \
CONFIG_KEYPAD == FIIO_M3K_PAD || \
CONFIG_KEYPAD == EROSQ_PAD)
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
@ -214,12 +223,6 @@
#define BATTERY_ON_TXT "SELECT - start"
#define BATTERY_OFF_TXT "POWER"
#elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "PLAY - start"
#define BATTERY_OFF_TXT "POWER"
#elif (CONFIG_KEYPAD == HM60X_PAD) || (CONFIG_KEYPAD == HM801_PAD)
#define BATTERY_ON BUTTON_SELECT
#define BATTERY_OFF BUTTON_POWER
@ -227,12 +230,6 @@
#define BATTERY_OFF_TXT "POWER"
#elif CONFIG_KEYPAD == SONY_NWZ_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "PLAY - start"
#define BATTERY_OFF_TXT "Power"
#elif CONFIG_KEYPAD == DX50_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER_LONG
@ -245,53 +242,8 @@
#define BATTERY_OFF_TXT "Power"
#define BATTERY_ON_TXT "Menu - start"
#elif CONFIG_KEYPAD == AGPTEK_ROCKER_PAD
#define BATTERY_ON BUTTON_LEFT
#define BATTERY_OFF BUTTON_RIGHT
#define BATTERY_OFF_TXT "Right"
#define BATTERY_ON_TXT "Left - start"
#elif defined(HAVE_TOUCHSCREEN)
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "PLAY - start"
#define BATTERY_OFF_TXT "POWER"
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "PLAY - start"
#define BATTERY_OFF_TXT "POWER"
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "PLAY - start"
#define BATTERY_OFF_TXT "POWER"
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "Play - start"
#define BATTERY_OFF_TXT "POWER"
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "Play - start"
#define BATTERY_OFF_TXT "POWER"
#elif CONFIG_KEYPAD == FIIO_M3K_PAD
#define BATTERY_ON BUTTON_PLAY
#define BATTERY_OFF BUTTON_POWER
#define BATTERY_ON_TXT "Play - start"
#define BATTERY_OFF_TXT "POWER"
#else
#error No keymap defined!
#endif
#ifdef HAVE_TOUCHSCREEN
#ifndef BATTERY_ON
#define BATTERY_ON BUTTON_CENTER
#endif
@ -304,6 +256,9 @@
#ifndef BATTERY_OFF_TXT
#define BATTERY_OFF_TXT "TOPLEFT"
#endif
#else
#error No keymap defined!
#endif
/****************************** Plugin Entry Point ****************************/

View file

@ -543,39 +543,7 @@ enum {
#define BJACK_QUIT_NAME "Volume up"
#define BJACK_DOUBLE_NAME "Option+Down"
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define BJACK_SELECT_NAME "PLAY"
#define BJACK_STAY_NAME "NEXT"
#define BJACK_QUIT_NAME "POWER"
#define BJACK_DOUBLE_NAME "PREV"
#define BJACK_SELECT BUTTON_PLAY
#define BJACK_QUIT BUTTON_POWER
#define BJACK_MAX BUTTON_VOL_UP
#define BJACK_MIN BUTTON_VOL_DOWN
#define BJACK_STAY BUTTON_NEXT
#define BJACK_DOUBLEDOWN BUTTON_PREV
#define BJACK_UP BUTTON_HOME
#define BJACK_DOWN BUTTON_OPTION
#define BJACK_RIGHT BUTTON_NEXT
#define BJACK_LEFT BUTTON_PREV
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define BJACK_SELECT_NAME "PLAY"
#define BJACK_STAY_NAME "NEXT"
#define BJACK_QUIT_NAME "POWER"
#define BJACK_DOUBLE_NAME "PREV"
#define BJACK_SELECT BUTTON_PLAY
#define BJACK_QUIT BUTTON_POWER
#define BJACK_MAX BUTTON_VOL_UP
#define BJACK_MIN BUTTON_VOL_DOWN
#define BJACK_STAY BUTTON_NEXT
#define BJACK_DOUBLEDOWN BUTTON_PREV
#define BJACK_UP BUTTON_HOME
#define BJACK_DOWN BUTTON_OPTION
#define BJACK_RIGHT BUTTON_NEXT
#define BJACK_LEFT BUTTON_PREV
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define BJACK_SELECT_NAME "PLAY"
#define BJACK_STAY_NAME "NEXT"
#define BJACK_QUIT_NAME "POWER"
@ -607,7 +575,7 @@ enum {
#define BJACK_RIGHT BUTTON_NEXT
#define BJACK_LEFT BUTTON_PREV
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define BJACK_SELECT_NAME "PLAY"
#define BJACK_STAY_NAME "NEXT"
#define BJACK_QUIT_NAME "POWER"
@ -623,7 +591,7 @@ enum {
#define BJACK_RIGHT BUTTON_NEXT
#define BJACK_LEFT BUTTON_PREV
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define BJACK_SELECT_NAME "PLAY"
#define BJACK_STAY_NAME "NEXT"
#define BJACK_QUIT_NAME "POWER"
@ -632,12 +600,12 @@ enum {
#define BJACK_QUIT BUTTON_POWER
#define BJACK_MAX BUTTON_VOL_UP
#define BJACK_MIN BUTTON_VOL_DOWN
#define BJACK_STAY BUTTON_NEXT
#define BJACK_DOUBLEDOWN BUTTON_PREV
#define BJACK_UP BUTTON_HOME
#define BJACK_DOWN (BUTTON_POWER | BUTTON_HOME)
#define BJACK_RIGHT BUTTON_NEXT
#define BJACK_LEFT BUTTON_PREV
#define BJACK_STAY BUTTON_MENU
#define BJACK_DOUBLEDOWN BUTTON_BACK
#define BJACK_UP BUTTON_PREV
#define BJACK_DOWN BUTTON_NEXT
#define BJACK_RIGHT BUTTON_SCROLL_FWD
#define BJACK_LEFT BUTTON_SCROLL_BACK
#else
#error No keymap defined!

View file

@ -41,9 +41,6 @@
#include "pluginbitmaps/brickmania_break.h"
#endif
/*
*
* Keymaps
@ -307,27 +304,7 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
#define UP BUTTON_UP
#define DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_PREV
#define RIGHT BUTTON_NEXT
#define ALTLEFT BUTTON_VOL_DOWN
#define ALTRIGHT BUTTON_VOL_UP
#define SELECT BUTTON_PLAY
#define UP BUTTON_HOME
#define DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_PREV
#define RIGHT BUTTON_NEXT
#define ALTLEFT BUTTON_VOL_DOWN
#define ALTRIGHT BUTTON_VOL_UP
#define SELECT BUTTON_PLAY
#define UP BUTTON_HOME
#define DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_PREV
#define RIGHT BUTTON_NEXT
@ -347,7 +324,7 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
#define UP BUTTON_HOME
#define DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_HOME
#define RIGHT BUTTON_VOL_DOWN
@ -357,12 +334,10 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
#define UP BUTTON_PREV
#define DOWN BUTTON_NEXT
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_HOME
#define RIGHT BUTTON_VOL_DOWN
#define ALTLEFT (BUTTON_POWER | BUTTON_HOME)
#define ALTRIGHT (BUTTON_POWER | BUTTON_VOL_UP)
#define LEFT BUTTON_SCROLL_BACK
#define RIGHT BUTTON_SCROLL_FWD
#define SELECT BUTTON_PLAY
#define UP BUTTON_PREV
#define DOWN BUTTON_NEXT

View file

@ -493,29 +493,7 @@ F3: equal to "="
#define CALCULATOR_CALC BUTTON_VOLUP
#define CALCULATOR_CLEAR (BUTTON_SELECT|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define CALCULATOR_LEFT BUTTON_PREV
#define CALCULATOR_RIGHT BUTTON_NEXT
#define CALCULATOR_UP BUTTON_HOME
#define CALCULATOR_DOWN BUTTON_OPTION
#define CALCULATOR_QUIT BUTTON_POWER
#define CALCULATOR_INPUT_CALC_PRE (BUTTON_OPTION|BUTTON_REPEAT)
#define CALCULATOR_INPUT (BUTTON_PLAY|BUTTON_REL)
#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT)
#define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define CALCULATOR_LEFT BUTTON_PREV
#define CALCULATOR_RIGHT BUTTON_NEXT
#define CALCULATOR_UP BUTTON_HOME
#define CALCULATOR_DOWN BUTTON_OPTION
#define CALCULATOR_QUIT BUTTON_POWER
#define CALCULATOR_INPUT_CALC_PRE (BUTTON_OPTION|BUTTON_REPEAT)
#define CALCULATOR_INPUT (BUTTON_PLAY|BUTTON_REL)
#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT)
#define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define CALCULATOR_LEFT BUTTON_PREV
#define CALCULATOR_RIGHT BUTTON_NEXT
#define CALCULATOR_UP BUTTON_HOME
@ -537,7 +515,7 @@ F3: equal to "="
#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT)
#define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define CALCULATOR_LEFT BUTTON_HOME
#define CALCULATOR_RIGHT BUTTON_VOL_DOWN
#define CALCULATOR_UP BUTTON_PREV
@ -548,16 +526,15 @@ F3: equal to "="
#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT)
#define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#define CALCULATOR_LEFT BUTTON_HOME
#define CALCULATOR_RIGHT BUTTON_VOL_DOWN
#define CALCULATOR_UP BUTTON_PREV
#define CALCULATOR_DOWN BUTTON_NEXT
#define CALCULATOR_QUIT BUTTON_POWER
#define CALCULATOR_INPUT_CALC_PRE (BUTTON_HOME|BUTTON_REPEAT)
#define CALCULATOR_INPUT (BUTTON_PLAY|BUTTON_REL)
#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT)
#define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == EROSQ_PAD
#define CALCULATOR_LEFT BUTTON_SCROLL_BACK
#define CALCULATOR_RIGHT BUTTON_SCROLL_FWD
#define CALCULATOR_UP BUTTON_PREV
#define CALCULATOR_DOWN BUTTON_NEXT
#define CALCULATOR_QUIT BUTTON_POWER
#define CALCULATOR_INPUT BUTTON_PLAY
#define CALCULATOR_CALC BUTTON_MENU
#define CALCULATOR_CLEAR BUTTON_BACK
#else
#error No keymap defined!

View file

@ -381,27 +381,7 @@
#define CALENDAR_NEXT_MONTH (BUTTON_VOLDOWN)
#define CALENDAR_PREV_MONTH (BUTTON_VOLUP)
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define CALENDAR_QUIT BUTTON_POWER
#define CALENDAR_SELECT BUTTON_PLAY
#define CALENDAR_NEXT_WEEK BUTTON_OPTION
#define CALENDAR_PREV_WEEK BUTTON_HOME
#define CALENDAR_NEXT_DAY BUTTON_NEXT
#define CALENDAR_PREV_DAY BUTTON_PREV
#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define CALENDAR_QUIT BUTTON_POWER
#define CALENDAR_SELECT BUTTON_PLAY
#define CALENDAR_NEXT_WEEK BUTTON_OPTION
#define CALENDAR_PREV_WEEK BUTTON_HOME
#define CALENDAR_NEXT_DAY BUTTON_NEXT
#define CALENDAR_PREV_DAY BUTTON_PREV
#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define CALENDAR_QUIT BUTTON_POWER
#define CALENDAR_SELECT BUTTON_PLAY
#define CALENDAR_NEXT_WEEK BUTTON_OPTION
@ -421,7 +401,7 @@
#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define CALENDAR_QUIT BUTTON_POWER
#define CALENDAR_SELECT BUTTON_PLAY
#define CALENDAR_NEXT_WEEK (BUTTON_POWER | BUTTON_VOL_DOWN)
@ -431,15 +411,15 @@
#define CALENDAR_NEXT_MONTH BUTTON_VOL_DOWN
#define CALENDAR_PREV_MONTH BUTTON_VOL_UP
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define CALENDAR_QUIT BUTTON_POWER
#define CALENDAR_SELECT BUTTON_PLAY
#define CALENDAR_NEXT_WEEK (BUTTON_POWER | BUTTON_VOL_DOWN)
#define CALENDAR_PREV_WEEK (BUTTON_POWER | BUTTON_VOL_UP)
#define CALENDAR_NEXT_DAY BUTTON_NEXT
#define CALENDAR_PREV_DAY BUTTON_PREV
#define CALENDAR_NEXT_MONTH BUTTON_VOL_DOWN
#define CALENDAR_PREV_MONTH BUTTON_VOL_UP
#define CALENDAR_NEXT_WEEK BUTTON_NEXT
#define CALENDAR_PREV_WEEK BUTTON_PREV
#define CALENDAR_NEXT_DAY BUTTON_SCROLL_FWD
#define CALENDAR_PREV_DAY BUTTON_SCROLL_BACK
#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
#else
#error "No keypad setting."

View file

@ -525,21 +525,7 @@
#define CB_SCROLL_LEFT (BUTTON_PREV|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_NEXT|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define CB_SELECT BUTTON_PLAY
#define CB_UP BUTTON_HOME
#define CB_DOWN BUTTON_OPTION
#define CB_LEFT BUTTON_PREV
#define CB_RIGHT BUTTON_NEXT
#define CB_PLAY BUTTON_VOL_UP
#define CB_LEVEL BUTTON_VOL_DOWN
#define CB_MENU BUTTON_POWER
#define CB_SCROLL_UP (BUTTON_HOME|BUTTON_REPEAT)
#define CB_SCROLL_DOWN (BUTTON_OPTION|BUTTON_REPEAT)
#define CB_SCROLL_LEFT (BUTTON_PREV|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_NEXT|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define CB_SELECT BUTTON_PLAY
#define CB_UP BUTTON_HOME
#define CB_DOWN BUTTON_OPTION
@ -567,7 +553,7 @@
#define CB_SCROLL_LEFT (BUTTON_PREV|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_NEXT|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define CB_SELECT BUTTON_PLAY
#define CB_UP BUTTON_PREV
#define CB_DOWN BUTTON_NEXT
@ -581,19 +567,19 @@
#define CB_SCROLL_LEFT (BUTTON_HOME|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_VOL_UP|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define CB_SELECT BUTTON_PLAY
#define CB_UP BUTTON_PREV
#define CB_DOWN BUTTON_NEXT
#define CB_LEFT BUTTON_HOME
#define CB_RIGHT BUTTON_VOL_DOWN
#define CB_PLAY BUTTON_VOL_UP
#define CB_LEVEL (BUTTON_PLAY|BUTTON_REPEAT)
#define CB_MENU BUTTON_POWER
#define CB_LEFT BUTTON_SCROLL_BACK
#define CB_RIGHT BUTTON_SCROLL_FWD
#define CB_PLAY BUTTON_VOL_DOWN
#define CB_MENU BUTTON_MENU
#define CB_LEVEL BUTTON_VOL_UP
#define CB_SCROLL_UP (BUTTON_PREV|BUTTON_REPEAT)
#define CB_SCROLL_DOWN (BUTTON_NEXT|BUTTON_REPEAT)
#define CB_SCROLL_LEFT (BUTTON_HOME|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define CB_SCROLL_LEFT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
#else
#error No keymap defined!

View file

@ -366,27 +366,7 @@
#define CHC_SETTINGS_CANCEL BUTTON_RIGHT
#define CHC_SETTINGS_OK (BUTTON_SELECT|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define CHC_QUIT BUTTON_POWER
#define CHC_STARTSTOP BUTTON_PLAY
#define CHC_RESET BUTTON_OPTION
#define CHC_MENU BUTTON_HOME
#define CHC_SETTINGS_INC BUTTON_NEXT
#define CHC_SETTINGS_DEC BUTTON_PREV
#define CHC_SETTINGS_OK BUTTON_PLAY
#define CHC_SETTINGS_CANCEL BUTTON_POWER
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define CHC_QUIT BUTTON_POWER
#define CHC_STARTSTOP BUTTON_PLAY
#define CHC_RESET BUTTON_OPTION
#define CHC_MENU BUTTON_HOME
#define CHC_SETTINGS_INC BUTTON_NEXT
#define CHC_SETTINGS_DEC BUTTON_PREV
#define CHC_SETTINGS_OK BUTTON_PLAY
#define CHC_SETTINGS_CANCEL BUTTON_POWER
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif (CONFIG_KEYPAD == XDUOO_X3_PAD) || (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define CHC_QUIT BUTTON_POWER
#define CHC_STARTSTOP BUTTON_PLAY
#define CHC_RESET BUTTON_OPTION
@ -406,7 +386,7 @@
#define CHC_SETTINGS_OK BUTTON_PLAY
#define CHC_SETTINGS_CANCEL BUTTON_POWER
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define CHC_QUIT BUTTON_POWER
#define CHC_STARTSTOP BUTTON_PLAY
#define CHC_RESET (BUTTON_PLAY|BUTTON_REPEAT)
@ -416,15 +396,15 @@
#define CHC_SETTINGS_OK BUTTON_PLAY
#define CHC_SETTINGS_CANCEL BUTTON_HOME
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define CHC_QUIT BUTTON_POWER
#define CHC_STARTSTOP BUTTON_PLAY
#define CHC_RESET (BUTTON_PLAY|BUTTON_REPEAT)
#define CHC_MENU BUTTON_HOME
#define CHC_SETTINGS_INC BUTTON_VOL_UP
#define CHC_SETTINGS_DEC BUTTON_VOL_DOWN
#define CHC_RESET BUTTON_BACK
#define CHC_MENU BUTTON_MENU
#define CHC_SETTINGS_INC BUTTON_NEXT
#define CHC_SETTINGS_DEC BUTTON_PREV
#define CHC_SETTINGS_OK BUTTON_PLAY
#define CHC_SETTINGS_CANCEL BUTTON_HOME
#define CHC_SETTINGS_CANCEL BUTTON_POWER
#else
#error No keymap defined!
@ -856,4 +836,3 @@ static char * show_time(int seconds)
rb->snprintf(buf, sizeof(buf), "%02d:%02d", seconds/60, seconds%60);
return buf;
}

View file

@ -1251,23 +1251,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define CHIP8_KEY6 BUTTON_RIGHT
#define CHIP8_KEY8 BUTTON_LEFT
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define CHIP8_OFF BUTTON_POWER
#define CHIP8_KEY2 BUTTON_HOME
#define CHIP8_KEY4 BUTTON_PREV
#define CHIP8_KEY5 BUTTON_PLAY
#define CHIP8_KEY6 BUTTON_NEXT
#define CHIP8_KEY8 BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define CHIP8_OFF BUTTON_POWER
#define CHIP8_KEY2 BUTTON_HOME
#define CHIP8_KEY4 BUTTON_PREV
#define CHIP8_KEY5 BUTTON_PLAY
#define CHIP8_KEY6 BUTTON_NEXT
#define CHIP8_KEY8 BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define CHIP8_OFF BUTTON_POWER
#define CHIP8_KEY2 BUTTON_HOME
#define CHIP8_KEY4 BUTTON_PREV
@ -1283,7 +1267,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define CHIP8_KEY6 BUTTON_NEXT
#define CHIP8_KEY8 BUTTON_OPTION
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define CHIP8_OFF BUTTON_POWER
#define CHIP8_KEY2 BUTTON_NEXT
#define CHIP8_KEY4 BUTTON_HOME
@ -1291,12 +1275,12 @@ CONFIG_KEYPAD == MROBE500_PAD
#define CHIP8_KEY6 BUTTON_VOL_DOWN
#define CHIP8_KEY8 BUTTON_PREV
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define CHIP8_OFF BUTTON_POWER
#define CHIP8_KEY2 BUTTON_NEXT
#define CHIP8_KEY4 BUTTON_HOME
#define CHIP8_KEY5 BUTTON_VOL_UP
#define CHIP8_KEY6 BUTTON_VOL_DOWN
#define CHIP8_KEY4 BUTTON_MENU
#define CHIP8_KEY5 BUTTON_PLAY
#define CHIP8_KEY6 BUTTON_BACK
#define CHIP8_KEY8 BUTTON_PREV
#else

View file

@ -198,32 +198,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define ACTION BUTTON_SELECT
#define ACTIONTEXT "Select"
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define QUIT BUTTON_POWER
#define ACTION BUTTON_PLAY
#define ACTIONTEXT "PLAY"
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define QUIT BUTTON_POWER
#define ACTION BUTTON_PLAY
#define ACTIONTEXT "PLAY"
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#define QUIT BUTTON_POWER
#define ACTION BUTTON_PLAY
#define ACTIONTEXT "PLAY"
#elif CONFIG_KEYPAD == FIIO_M3K_PAD
#define QUIT BUTTON_POWER
#define ACTION BUTTON_PLAY
#define ACTIONTEXT "PLAY"
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#define QUIT BUTTON_POWER
#define ACTION BUTTON_PLAY
#define ACTIONTEXT "PLAY"
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD || CONFIG_KEYPAD == FIIO_M3K_PAD || CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD || CONFIG_KEYPAD == EROSQ_PAD
#define QUIT BUTTON_POWER
#define ACTION BUTTON_PLAY
#define ACTIONTEXT "PLAY"

View file

@ -284,15 +284,7 @@
#define CLIX_BUTTON_RIGHT BUTTON_NEXT
#define CLIX_BUTTON_CLICK BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define CLIX_BUTTON_QUIT BUTTON_POWER
#define CLIX_BUTTON_UP BUTTON_HOME
#define CLIX_BUTTON_DOWN BUTTON_OPTION
#define CLIX_BUTTON_LEFT BUTTON_PREV
#define CLIX_BUTTON_RIGHT BUTTON_NEXT
#define CLIX_BUTTON_CLICK BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define CLIX_BUTTON_QUIT BUTTON_POWER
#define CLIX_BUTTON_UP BUTTON_HOME
#define CLIX_BUTTON_DOWN BUTTON_OPTION
@ -308,7 +300,7 @@
#define CLIX_BUTTON_RIGHT BUTTON_NEXT
#define CLIX_BUTTON_CLICK BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define CLIX_BUTTON_QUIT BUTTON_POWER
#define CLIX_BUTTON_UP BUTTON_PREV
#define CLIX_BUTTON_DOWN BUTTON_NEXT
@ -316,13 +308,13 @@
#define CLIX_BUTTON_RIGHT BUTTON_VOL_DOWN
#define CLIX_BUTTON_CLICK BUTTON_VOL_UP
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define CLIX_BUTTON_QUIT BUTTON_POWER
#define CLIX_BUTTON_UP BUTTON_PREV
#define CLIX_BUTTON_DOWN BUTTON_NEXT
#define CLIX_BUTTON_LEFT BUTTON_HOME
#define CLIX_BUTTON_RIGHT BUTTON_VOL_DOWN
#define CLIX_BUTTON_CLICK BUTTON_VOL_UP
#define CLIX_BUTTON_LEFT BUTTON_SCROLL_BACK
#define CLIX_BUTTON_RIGHT BUTTON_SCROLL_FWD
#define CLIX_BUTTON_CLICK BUTTON_PLAY
#else
#error "no keymap"

View file

@ -370,27 +370,7 @@
#define CUBE_HIGHSPEED (BUTTON_SELECT | BUTTON_REPEAT)
#define CUBE_PAUSE (BUTTON_LEFT | BUTTON_REPEAT)
#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
#define CUBE_QUIT BUTTON_POWER
#define CUBE_NEXT BUTTON_NEXT
#define CUBE_PREV BUTTON_PREV
#define CUBE_INC BUTTON_VOL_UP
#define CUBE_DEC BUTTON_VOL_DOWN
#define CUBE_MODE BUTTON_OPTION
#define CUBE_PAUSE BUTTON_HOME
#define CUBE_HIGHSPEED BUTTON_PLAY
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define CUBE_QUIT BUTTON_POWER
#define CUBE_NEXT BUTTON_NEXT
#define CUBE_PREV BUTTON_PREV
#define CUBE_INC BUTTON_VOL_UP
#define CUBE_DEC BUTTON_VOL_DOWN
#define CUBE_MODE BUTTON_OPTION
#define CUBE_PAUSE BUTTON_HOME
#define CUBE_HIGHSPEED BUTTON_PLAY
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3_PAD) || (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define CUBE_QUIT BUTTON_POWER
#define CUBE_NEXT BUTTON_NEXT
#define CUBE_PREV BUTTON_PREV
@ -410,7 +390,7 @@
#define CUBE_PAUSE BUTTON_HOME
#define CUBE_HIGHSPEED BUTTON_PLAY
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define CUBE_QUIT BUTTON_POWER
#define CUBE_NEXT BUTTON_NEXT
#define CUBE_PREV BUTTON_PREV
@ -420,14 +400,14 @@
#define CUBE_PAUSE BUTTON_HOME
#define CUBE_HIGHSPEED BUTTON_PLAY
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#elif CONFIG_KEYPAD == EROSQ_PAD
#define CUBE_QUIT BUTTON_POWER
#define CUBE_NEXT BUTTON_NEXT
#define CUBE_PREV BUTTON_PREV
#define CUBE_INC BUTTON_VOL_UP
#define CUBE_DEC BUTTON_VOL_DOWN
#define CUBE_MODE (BUTTON_HOME | BUTTON_POWER)
#define CUBE_PAUSE BUTTON_HOME
#define CUBE_INC BUTTON_SCROLL_FWD
#define CUBE_DEC BUTTON_SCROLL_BACK
#define CUBE_MODE BUTTON_MENU
#define CUBE_PAUSE BUTTON_BACK
#define CUBE_HIGHSPEED BUTTON_PLAY
#else
@ -947,5 +927,3 @@ enum plugin_status plugin_start(const void* parameter)
return PLUGIN_OK;
}

View file

@ -566,18 +566,7 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_ENTER BUTTON_PLAY
#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define DOOMBUTTON_UP BUTTON_HOME
#define DOOMBUTTON_DOWN BUTTON_OPTION
#define DOOMBUTTON_LEFT BUTTON_PREV
#define DOOMBUTTON_RIGHT BUTTON_NEXT
#define DOOMBUTTON_SHOOT BUTTON_PLAY
#define DOOMBUTTON_OPEN (BUTTON_HOME | BUTTON_POWER)
#define DOOMBUTTON_ESC BUTTON_POWER
#define DOOMBUTTON_ENTER BUTTON_PLAY
#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define DOOMBUTTON_UP BUTTON_HOME
#define DOOMBUTTON_DOWN BUTTON_OPTION
#define DOOMBUTTON_LEFT BUTTON_PREV
@ -599,7 +588,7 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_ENTER BUTTON_PLAY
#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define DOOMBUTTON_UP BUTTON_PREV
#define DOOMBUTTON_DOWN BUTTON_NEXT
#define DOOMBUTTON_LEFT BUTTON_HOME
@ -611,17 +600,17 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_WEAPON (BUTTON_PLAY|BUTTON_REPEAT)
#define DOOMBUTTON_MAP (BUTTON_POWER|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define DOOMBUTTON_UP BUTTON_PREV
#define DOOMBUTTON_DOWN BUTTON_NEXT
#define DOOMBUTTON_LEFT BUTTON_HOME
#define DOOMBUTTON_RIGHT BUTTON_VOL_DOWN
#define DOOMBUTTON_OPEN BUTTON_PLAY
#define DOOMBUTTON_ESC BUTTON_POWER
#define DOOMBUTTON_ENTER BUTTON_VOL_UP
#define DOOMBUTTON_SHOOT BUTTON_VOL_UP
#define DOOMBUTTON_WEAPON (BUTTON_PLAY|BUTTON_REPEAT)
#define DOOMBUTTON_MAP (BUTTON_POWER|BUTTON_REPEAT)
#define DOOMBUTTON_LEFT BUTTON_SCROLL_BACK
#define DOOMBUTTON_RIGHT BUTTON_SCROLL_FWD
#define DOOMBUTTON_SHOOT BUTTON_PLAY
#define DOOMBUTTON_OPEN BUTTON_BACK
#define DOOMBUTTON_ESC BUTTON_MENU
#define DOOMBUTTON_ENTER BUTTON_PLAY
#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
#define DOOMBUTTON_MAP BUTTON_VOL_DOWN
#else
#error Keymap not defined!

View file

@ -334,16 +334,7 @@ GREY_INFO_STRUCT
# define FFT_AMP_SCALE BUTTON_PLAY
# define FFT_QUIT BUTTON_POWER
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
# define FFT_PREV_GRAPH BUTTON_PREV
# define FFT_NEXT_GRAPH BUTTON_NEXT
# define FFT_ORIENTATION BUTTON_HOME
# define FFT_FREQ_SCALE BUTTON_OPTION
# define FFT_WINDOW (BUTTON_HOME|BUTTON_POWER)
# define FFT_AMP_SCALE BUTTON_PLAY
# define FFT_QUIT BUTTON_POWER
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
# define FFT_PREV_GRAPH BUTTON_PREV
# define FFT_NEXT_GRAPH BUTTON_NEXT
# define FFT_ORIENTATION BUTTON_HOME
@ -361,7 +352,7 @@ GREY_INFO_STRUCT
# define FFT_AMP_SCALE BUTTON_PLAY
# define FFT_QUIT BUTTON_POWER
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
# define FFT_PREV_GRAPH BUTTON_PREV
# define FFT_NEXT_GRAPH BUTTON_NEXT
# define FFT_ORIENTATION BUTTON_HOME
@ -370,13 +361,13 @@ GREY_INFO_STRUCT
# define FFT_AMP_SCALE BUTTON_PLAY
# define FFT_QUIT BUTTON_POWER
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
# define FFT_PREV_GRAPH BUTTON_PREV
# define FFT_NEXT_GRAPH BUTTON_NEXT
# define FFT_ORIENTATION BUTTON_HOME
# define FFT_FREQ_SCALE BUTTON_VOL_UP
# define FFT_WINDOW BUTTON_VOL_DOWN
# define FFT_AMP_SCALE BUTTON_PLAY
#elif (CONFIG_KEYPAD == EROSQ_PAD)
# define FFT_PREV_GRAPH BUTTON_SCROLL_BACK
# define FFT_NEXT_GRAPH BUTTON_SCROLL_FWD
# define FFT_ORIENTATION BUTTON_VOL_UP
# define FFT_FREQ_SCALE BUTTON_VOL_DOWN
# define FFT_WINDOW BUTTON_BACK
# define FFT_AMP_SCALE BUTTON_MENU
# define FFT_QUIT BUTTON_POWER
#elif !defined(HAVE_TOUCHSCREEN)

View file

@ -436,31 +436,7 @@
#define FLIPIT_STEP_BY_STEP (BUTTON_LEFT|BUTTON_VOLUP)
#define FLIPIT_TOGGLE BUTTON_SELECT
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define FLIPIT_LEFT BUTTON_PREV
#define FLIPIT_RIGHT BUTTON_NEXT
#define FLIPIT_UP BUTTON_HOME
#define FLIPIT_DOWN BUTTON_OPTION
#define FLIPIT_QUIT BUTTON_POWER
#define FLIPIT_SHUFFLE (BUTTON_HOME | BUTTON_PREV)
#define FLIPIT_SOLVE (BUTTON_HOME | BUTTON_NEXT)
#define FLIPIT_STEP_BY_STEP (BUTTON_HOME | BUTTON_PLAY)
#define FLIPIT_TOGGLE BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define FLIPIT_LEFT BUTTON_PREV
#define FLIPIT_RIGHT BUTTON_NEXT
#define FLIPIT_UP BUTTON_HOME
#define FLIPIT_DOWN BUTTON_OPTION
#define FLIPIT_QUIT BUTTON_POWER
#define FLIPIT_SHUFFLE (BUTTON_HOME | BUTTON_PREV)
#define FLIPIT_SOLVE (BUTTON_HOME | BUTTON_NEXT)
#define FLIPIT_STEP_BY_STEP (BUTTON_HOME | BUTTON_PLAY)
#define FLIPIT_TOGGLE BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define FLIPIT_LEFT BUTTON_PREV
#define FLIPIT_RIGHT BUTTON_NEXT
@ -484,7 +460,7 @@
#define FLIPIT_STEP_BY_STEP (BUTTON_HOME | BUTTON_PLAY)
#define FLIPIT_TOGGLE BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define FLIPIT_LEFT BUTTON_HOME
#define FLIPIT_RIGHT BUTTON_VOL_DOWN
@ -496,16 +472,16 @@
#define FLIPIT_STEP_BY_STEP (BUTTON_POWER | BUTTON_PLAY)
#define FLIPIT_TOGGLE BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define FLIPIT_LEFT BUTTON_HOME
#define FLIPIT_RIGHT BUTTON_VOL_DOWN
#define FLIPIT_LEFT BUTTON_SCROLL_BACK
#define FLIPIT_RIGHT BUTTON_SCROLL_FWD
#define FLIPIT_UP BUTTON_PREV
#define FLIPIT_DOWN BUTTON_NEXT
#define FLIPIT_QUIT BUTTON_POWER
#define FLIPIT_SHUFFLE (BUTTON_POWER | BUTTON_PREV)
#define FLIPIT_SOLVE (BUTTON_POWER | BUTTON_NEXT)
#define FLIPIT_STEP_BY_STEP (BUTTON_POWER | BUTTON_PLAY)
#define FLIPIT_SHUFFLE BUTTON_MENU
#define FLIPIT_SOLVE BUTTON_VOL_DOWN
#define FLIPIT_STEP_BY_STEP BUTTON_VOL_UP
#define FLIPIT_TOGGLE BUTTON_PLAY
#else

View file

@ -458,19 +458,7 @@
#define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_PREV)
#define FRACTAL_RESET (BUTTON_HOME | BUTTON_POWER)
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define FRACTAL_QUIT BUTTON_POWER
#define FRACTAL_UP BUTTON_HOME
#define FRACTAL_DOWN BUTTON_OPTION
#define FRACTAL_LEFT BUTTON_PREV
#define FRACTAL_RIGHT BUTTON_NEXT
#define FRACTAL_ZOOM_IN BUTTON_VOL_UP
#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN
#define FRACTAL_PRECISION_INC (BUTTON_PLAY | BUTTON_NEXT)
#define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_PREV)
#define FRACTAL_RESET (BUTTON_HOME | BUTTON_POWER)
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define FRACTAL_QUIT BUTTON_POWER
#define FRACTAL_UP BUTTON_HOME
#define FRACTAL_DOWN BUTTON_OPTION
@ -494,7 +482,7 @@
#define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_PREV)
#define FRACTAL_RESET (BUTTON_HOME | BUTTON_POWER)
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define FRACTAL_QUIT BUTTON_POWER
#define FRACTAL_UP BUTTON_PREV
#define FRACTAL_DOWN BUTTON_NEXT
@ -506,17 +494,17 @@
#define FRACTAL_PRECISION_DEC (BUTTON_POWER | BUTTON_PREV)
#define FRACTAL_RESET (BUTTON_POWER | BUTTON_HOME)
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define FRACTAL_QUIT BUTTON_POWER
#define FRACTAL_UP BUTTON_PREV
#define FRACTAL_DOWN BUTTON_NEXT
#define FRACTAL_LEFT BUTTON_HOME
#define FRACTAL_RIGHT BUTTON_VOL_DOWN
#define FRACTAL_ZOOM_IN (BUTTON_POWER | BUTTON_VOL_UP)
#define FRACTAL_ZOOM_OUT (BUTTON_POWER | BUTTON_VOL_DOWN)
#define FRACTAL_PRECISION_INC (BUTTON_POWER | BUTTON_NEXT)
#define FRACTAL_PRECISION_DEC (BUTTON_POWER | BUTTON_PREV)
#define FRACTAL_RESET (BUTTON_POWER | BUTTON_HOME)
#define FRACTAL_LEFT BUTTON_SCROLL_BACK
#define FRACTAL_RIGHT BUTTON_SCROLL_FWD
#define FRACTAL_ZOOM_IN BUTTON_VOL_UP
#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN
#define FRACTAL_PRECISION_INC BUTTON_MENU
#define FRACTAL_PRECISION_DEC BUTTON_BACK
#define FRACTAL_RESET BUTTON_PLAY
#else
#error No keymap defined!
@ -555,4 +543,3 @@
#endif
#endif

View file

@ -443,19 +443,7 @@
#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
#define GBN_BUTTON_NEXT_VAR BUTTON_HOME | BUTTON_PWRALT
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define GBN_BUTTON_UP BUTTON_HOME
#define GBN_BUTTON_DOWN BUTTON_OPTION
#define GBN_BUTTON_LEFT BUTTON_PREV
#define GBN_BUTTON_RIGHT BUTTON_NEXT
#define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
#define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
#define GBN_BUTTON_MENU BUTTON_POWER
#define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
#define GBN_BUTTON_NEXT_VAR BUTTON_HOME | BUTTON_POWER
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define GBN_BUTTON_UP BUTTON_HOME
#define GBN_BUTTON_DOWN BUTTON_OPTION
#define GBN_BUTTON_LEFT BUTTON_PREV
@ -479,7 +467,7 @@
#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
#define GBN_BUTTON_NEXT_VAR BUTTON_HOME | BUTTON_POWER
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define GBN_BUTTON_UP BUTTON_PREV
#define GBN_BUTTON_DOWN BUTTON_NEXT
@ -492,18 +480,17 @@
#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
#define GBN_BUTTON_NEXT_VAR BUTTON_POWER | BUTTON_HOME
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#elif (CONFIG_KEYPAD == EROSQ_PAD)
#define GBN_BUTTON_UP BUTTON_PREV
#define GBN_BUTTON_DOWN BUTTON_NEXT
#define GBN_BUTTON_LEFT BUTTON_HOME
#define GBN_BUTTON_RIGHT BUTTON_VOL_DOWN
#define GBN_BUTTON_RETREAT BUTTON_POWER | BUTTON_VOL_DOWN
#define GBN_BUTTON_ADVANCE BUTTON_POWER | BUTTON_VOL_UP
#define GBN_BUTTON_MENU BUTTON_POWER
#define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
#define GBN_BUTTON_NEXT_VAR BUTTON_POWER | BUTTON_HOME
#define GBN_BUTTON_LEFT BUTTON_SCROLL_BACK
#define GBN_BUTTON_RIGHT BUTTON_SCROLL_FWD
#define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
#define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
#define GBN_BUTTON_MENU BUTTON_MENU
#define GBN_BUTTON_PLAY BUTTON_PLAY
#define GBN_BUTTON_CONTEXT BUTTON_MENU | BUTTON_REPEAT
#define GBN_BUTTON_NEXT_VAR BUTTON_BACK
#else
#error Unsupported keypad

View file

@ -476,22 +476,7 @@
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_PWRALT)
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_PLAY
#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_HOME
#define IMGVIEW_DOWN BUTTON_OPTION
#define IMGVIEW_LEFT BUTTON_PREV
#define IMGVIEW_RIGHT BUTTON_NEXT
#define IMGVIEW_NEXT BUTTON_VOL_UP
#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER)
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_PLAY
#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
@ -521,7 +506,7 @@
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER)
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_PLAY
#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
@ -536,20 +521,20 @@
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER)
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define IMGVIEW_ZOOM_PRE BUTTON_PLAY
#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL)
#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT)
#define IMGVIEW_UP BUTTON_PREV
#define IMGVIEW_DOWN BUTTON_NEXT
#define IMGVIEW_LEFT BUTTON_HOME
#define IMGVIEW_RIGHT (BUTTON_PLAY|BUTTON_POWER)
#define IMGVIEW_LEFT BUTTON_SCROLL_BACK
#define IMGVIEW_RIGHT BUTTON_SCROLL_FWD
#define IMGVIEW_NEXT BUTTON_VOL_UP
#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT)
#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN
#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT)
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER)
#define IMGVIEW_MENU BUTTON_MENU
#define IMGVIEW_SLIDE_SHOW BUTTON_BACK
#else
#error No keymap defined!

View file

@ -268,14 +268,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define QUIT BUTTON_POWER
#define FIRE BUTTON_MENU
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_HOME
#define RIGHT BUTTON_VOL_DOWN
#define FIRE BUTTON_VOL_UP
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_HOME
@ -289,19 +282,19 @@ CONFIG_KEYPAD == MROBE500_PAD
#define RIGHT BUTTON_VOL_DOWN
#define FIRE BUTTON_VOL_UP
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_HOME
#define RIGHT BUTTON_VOL_DOWN
#define FIRE BUTTON_VOL_UP
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_HOME
#define RIGHT BUTTON_VOL_DOWN
#define FIRE BUTTON_VOL_UP
#define LEFT BUTTON_SCROLL_BACK
#define RIGHT BUTTON_SCROLL_FWD
#define FIRE BUTTON_PLAY
#else
#error INVADROX: Unsupported keypad

View file

@ -347,27 +347,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define JEWELS_CANCEL BUTTON_POWER
#define HK_CANCEL "Power"
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define JEWELS_UP BUTTON_HOME
#define JEWELS_DOWN BUTTON_OPTION
#define JEWELS_LEFT BUTTON_PREV
#define JEWELS_RIGHT BUTTON_NEXT
#define JEWELS_SELECT BUTTON_PLAY
#define JEWELS_CANCEL BUTTON_POWER
#define HK_SELECT "PLAY"
#define HK_CANCEL "POWER"
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define JEWELS_UP BUTTON_HOME
#define JEWELS_DOWN BUTTON_OPTION
#define JEWELS_LEFT BUTTON_PREV
#define JEWELS_RIGHT BUTTON_NEXT
#define JEWELS_SELECT BUTTON_PLAY
#define JEWELS_CANCEL BUTTON_POWER
#define HK_SELECT "PLAY"
#define HK_CANCEL "POWER"
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define JEWELS_UP BUTTON_HOME
#define JEWELS_DOWN BUTTON_OPTION
#define JEWELS_LEFT BUTTON_PREV
@ -387,7 +367,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define HK_SELECT "PLAY"
#define HK_CANCEL "POWER"
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define JEWELS_UP BUTTON_PREV
#define JEWELS_DOWN BUTTON_NEXT
#define JEWELS_LEFT BUTTON_HOME
@ -397,15 +377,16 @@ CONFIG_KEYPAD == MROBE500_PAD
#define HK_SELECT "PLAY"
#define HK_CANCEL "POWER"
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define JEWELS_UP BUTTON_PREV
#define JEWELS_DOWN BUTTON_NEXT
#define JEWELS_LEFT BUTTON_HOME
#define JEWELS_RIGHT BUTTON_VOL_DOWN
#define JEWELS_LEFT BUTTON_SCROLL_BACK
#define JEWELS_RIGHT BUTTON_SCROLL_FWD
#define JEWELS_SELECT BUTTON_PLAY
#define JEWELS_CANCEL BUTTON_POWER
#define JEWELS_CANCEL BUTTON_BACK
#define HK_SELECT "PLAY"
#define HK_CANCEL "POWER"
#define HK_CANCEL "BACK"
#else
#error No keymap defined!

View file

@ -215,23 +215,7 @@
#define BTN_FIRE BUTTON_MENU
#define BTN_PAUSE BUTTON_POWER
#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
#define BTN_UP BUTTON_VOL_UP
#define BTN_DOWN BUTTON_VOL_DOWN
#define BTN_LEFT BUTTON_PREV
#define BTN_RIGHT BUTTON_NEXT
#define BTN_FIRE BUTTON_PLAY
#define BTN_PAUSE BUTTON_POWER
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define BTN_UP BUTTON_VOL_UP
#define BTN_DOWN BUTTON_VOL_DOWN
#define BTN_LEFT BUTTON_PREV
#define BTN_RIGHT BUTTON_NEXT
#define BTN_FIRE BUTTON_PLAY
#define BTN_PAUSE BUTTON_POWER
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3_PAD) || (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define BTN_UP BUTTON_VOL_UP
#define BTN_DOWN BUTTON_VOL_DOWN
#define BTN_LEFT BUTTON_PREV
@ -247,15 +231,15 @@
#define BTN_FIRE BUTTON_PLAY
#define BTN_PAUSE BUTTON_POWER
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == EROSQ_PAD)
#define BTN_UP BUTTON_PREV
#define BTN_DOWN BUTTON_NEXT
#define BTN_LEFT BUTTON_HOME
#define BTN_RIGHT BUTTON_VOL_DOWN
#define BTN_LEFT BUTTON_SCROLL_BACK
#define BTN_RIGHT BUTTON_SCROLL_FWD
#define BTN_FIRE BUTTON_PLAY
#define BTN_PAUSE BUTTON_POWER
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define BTN_UP BUTTON_PREV
#define BTN_DOWN BUTTON_NEXT
#define BTN_LEFT BUTTON_HOME

View file

@ -242,6 +242,15 @@ const struct button_mapping pla_main_ctx[] =
{ PLA_DOWN_REPEAT, BUTTON_OPTION|BUTTON_REPEAT, BUTTON_NONE },
{ PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
{ PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
#elif (CONFIG_KEYPAD == EROSQ_PAD)
{ PLA_UP, BUTTON_NEXT, BUTTON_NONE },
{ PLA_DOWN, BUTTON_PREV, BUTTON_NONE },
{ PLA_LEFT, BUTTON_SCROLL_BACK, BUTTON_NONE },
{ PLA_RIGHT, BUTTON_SCROLL_FWD, BUTTON_NONE },
{ PLA_UP_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
{ PLA_DOWN_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
// { PLA_LEFT_REPEAT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE },
// { PLA_RIGHT_REPEAT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE },
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
{ PLA_UP, BUTTON_PREV, BUTTON_NONE },
{ PLA_DOWN, BUTTON_NEXT, BUTTON_NONE },
@ -479,6 +488,12 @@ const struct button_mapping pla_main_ctx[] =
{PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
{PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
{PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
#elif (CONFIG_KEYPAD == EROSQ_PAD)
{PLA_CANCEL, BUTTON_BACK|BUTTON_REL, BUTTON_BACK},
{PLA_EXIT, BUTTON_POWER, BUTTON_NONE},
{PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
{PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
{PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
{PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
{PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},

View file

@ -293,23 +293,7 @@
#define MIDI_VOL_DOWN BUTTON_VOLDOWN
#define MIDI_PLAYPAUSE BUTTON_SELECT
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define MIDI_QUIT BUTTON_POWER
#define MIDI_FFWD BUTTON_NEXT
#define MIDI_REWIND BUTTON_PREV
#define MIDI_VOL_UP BUTTON_VOL_UP
#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
#define MIDI_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define MIDI_QUIT BUTTON_POWER
#define MIDI_FFWD BUTTON_NEXT
#define MIDI_REWIND BUTTON_PREV
#define MIDI_VOL_UP BUTTON_VOL_UP
#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
#define MIDI_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define MIDI_QUIT BUTTON_POWER
#define MIDI_FFWD BUTTON_NEXT
#define MIDI_REWIND BUTTON_PREV
@ -325,15 +309,7 @@
#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
#define MIDI_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#define MIDI_QUIT BUTTON_POWER
#define MIDI_FFWD BUTTON_VOL_DOWN
#define MIDI_REWIND BUTTON_HOME
#define MIDI_VOL_UP BUTTON_PREV
#define MIDI_VOL_DOWN BUTTON_NEXT
#define MIDI_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define MIDI_QUIT BUTTON_POWER
#define MIDI_FFWD BUTTON_VOL_DOWN
#define MIDI_REWIND BUTTON_HOME
@ -341,6 +317,14 @@
#define MIDI_VOL_DOWN BUTTON_NEXT
#define MIDI_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == EROSQ_PAD
#define MIDI_QUIT BUTTON_POWER
#define MIDI_FFWD BUTTON_NEXT
#define MIDI_REWIND BUTTON_PREV
#define MIDI_VOL_UP BUTTON_VOL_UP
#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
#define MIDI_PLAYPAUSE BUTTON_PLAY
#else
#error No keymap defined!
#endif
@ -716,4 +700,3 @@ enum plugin_status plugin_start(const void* parameter)
return PLUGIN_ERROR;
return PLUGIN_OK;
}

View file

@ -382,20 +382,7 @@ CONFIG_KEYPAD == MROBE500_PAD
# define MINESWP_DISCOVER2 BUTTON_VOL_UP
# define MINESWP_INFO (BUTTON_PLAY | BUTTON_OPTION)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
# define MINESWP_LEFT BUTTON_PREV
# define MINESWP_RIGHT BUTTON_NEXT
# define MINESWP_UP BUTTON_HOME
# define MINESWP_DOWN BUTTON_OPTION
# define MINESWP_QUIT BUTTON_POWER
# define MINESWP_TOGGLE_PRE BUTTON_PLAY
# define MINESWP_TOGGLE (BUTTON_PLAY | BUTTON_REL)
# define MINESWP_TOGGLE2 BUTTON_VOL_DOWN
# define MINESWP_DISCOVER (BUTTON_PLAY | BUTTON_REPEAT)
# define MINESWP_DISCOVER2 BUTTON_VOL_UP
# define MINESWP_INFO (BUTTON_PLAY | BUTTON_OPTION)
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
# define MINESWP_LEFT BUTTON_PREV
# define MINESWP_RIGHT BUTTON_NEXT
# define MINESWP_UP BUTTON_HOME
@ -421,7 +408,7 @@ CONFIG_KEYPAD == MROBE500_PAD
# define MINESWP_DISCOVER2 BUTTON_VOL_UP
# define MINESWP_INFO (BUTTON_PLAY | BUTTON_OPTION)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
# define MINESWP_LEFT BUTTON_HOME
# define MINESWP_RIGHT BUTTON_VOL_DOWN
# define MINESWP_UP BUTTON_PREV
@ -434,18 +421,16 @@ CONFIG_KEYPAD == MROBE500_PAD
# define MINESWP_DISCOVER2 (BUTTON_POWER | BUTTON_VOL_DOWN)
# define MINESWP_INFO (BUTTON_POWER | BUTTON_HOME)
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
# define MINESWP_LEFT BUTTON_HOME
# define MINESWP_RIGHT BUTTON_VOL_DOWN
#elif (CONFIG_KEYPAD == EROSQ_PAD)
# define MINESWP_LEFT BUTTON_SCROLL_BACK
# define MINESWP_RIGHT BUTTON_SCROLL_FWD
# define MINESWP_UP BUTTON_PREV
# define MINESWP_DOWN BUTTON_NEXT
# define MINESWP_QUIT BUTTON_POWER
# define MINESWP_TOGGLE_PRE BUTTON_PLAY
# define MINESWP_TOGGLE (BUTTON_POWER | BUTTON_PREV)
# define MINESWP_TOGGLE2 (BUTTON_POWER | BUTTON_NEXT)
# define MINESWP_DISCOVER (BUTTON_POWER | BUTTON_VOL_UP)
# define MINESWP_DISCOVER2 (BUTTON_POWER | BUTTON_VOL_DOWN)
# define MINESWP_INFO (BUTTON_POWER | BUTTON_HOME)
# define MINESWP_TOGGLE (BUTTON_PLAY | BUTTON_REL)
# define MINESWP_DISCOVER (BUTTON_PLAY | BUTTON_REPEAT)
# define MINESWP_INFO BUTTON_VOL_UP
#else
#error No keymap defined!

View file

@ -2556,19 +2556,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_SELECT
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define MP3ENC_PREV BUTTON_HOME
#define MP3ENC_NEXT BUTTON_OPTION
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define MP3ENC_PREV BUTTON_HOME
#define MP3ENC_NEXT BUTTON_OPTION
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define MP3ENC_PREV BUTTON_HOME
#define MP3ENC_NEXT BUTTON_OPTION
#define MP3ENC_DONE BUTTON_POWER
@ -2580,13 +2568,13 @@ CONFIG_KEYPAD == MROBE500_PAD
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define MP3ENC_PREV BUTTON_PREV
#define MP3ENC_NEXT BUTTON_NEXT
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define MP3ENC_PREV BUTTON_PREV
#define MP3ENC_NEXT BUTTON_NEXT
#define MP3ENC_DONE BUTTON_POWER

View file

@ -316,17 +316,7 @@ struct mpeg_settings settings;
#define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN
#define MPEG_START_TIME_EXIT BUTTON_POWER
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define MPEG_START_TIME_SELECT BUTTON_PLAY
#define MPEG_START_TIME_LEFT BUTTON_PREV
#define MPEG_START_TIME_RIGHT BUTTON_NEXT
#define MPEG_START_TIME_UP BUTTON_HOME
#define MPEG_START_TIME_DOWN BUTTON_OPTION
#define MPEG_START_TIME_LEFT2 BUTTON_VOL_UP
#define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN
#define MPEG_START_TIME_EXIT BUTTON_POWER
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define MPEG_START_TIME_SELECT BUTTON_PLAY
#define MPEG_START_TIME_LEFT BUTTON_PREV
#define MPEG_START_TIME_RIGHT BUTTON_NEXT
@ -346,7 +336,7 @@ struct mpeg_settings settings;
#define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN
#define MPEG_START_TIME_EXIT BUTTON_POWER
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define MPEG_START_TIME_SELECT BUTTON_PLAY
#define MPEG_START_TIME_LEFT BUTTON_HOME
#define MPEG_START_TIME_RIGHT BUTTON_VOL_DOWN
@ -356,14 +346,12 @@ struct mpeg_settings settings;
#define MPEG_START_TIME_RIGHT2 (BUTTON_POWER + BUTTON_VOL_DOWN)
#define MPEG_START_TIME_EXIT BUTTON_POWER
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define MPEG_START_TIME_SELECT BUTTON_PLAY
#define MPEG_START_TIME_LEFT BUTTON_HOME
#define MPEG_START_TIME_RIGHT BUTTON_VOL_DOWN
#define MPEG_START_TIME_LEFT BUTTON_SCROLL_BACK
#define MPEG_START_TIME_RIGHT BUTTON_SCROLL_FWD
#define MPEG_START_TIME_UP BUTTON_PREV
#define MPEG_START_TIME_DOWN BUTTON_NEXT
#define MPEG_START_TIME_LEFT2 (BUTTON_POWER + BUTTON_HOME)
#define MPEG_START_TIME_RIGHT2 (BUTTON_POWER + BUTTON_VOL_DOWN)
#define MPEG_START_TIME_EXIT BUTTON_POWER
#else

View file

@ -450,16 +450,7 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define MPEG_RW BUTTON_PREV
#define MPEG_FF BUTTON_NEXT
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define MPEG_MENU BUTTON_PLAY
#define MPEG_STOP BUTTON_POWER
#define MPEG_PAUSE BUTTON_HOME
#define MPEG_VOLDOWN BUTTON_VOL_DOWN
#define MPEG_VOLUP BUTTON_VOL_UP
#define MPEG_RW BUTTON_PREV
#define MPEG_FF BUTTON_NEXT
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define MPEG_MENU BUTTON_PLAY
#define MPEG_STOP BUTTON_POWER
#define MPEG_PAUSE BUTTON_HOME
@ -477,7 +468,7 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define MPEG_RW BUTTON_PREV
#define MPEG_FF BUTTON_NEXT
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define MPEG_MENU BUTTON_PLAY
#define MPEG_STOP BUTTON_POWER
#define MPEG_PAUSE BUTTON_HOME
@ -486,10 +477,10 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define MPEG_RW BUTTON_PREV
#define MPEG_FF BUTTON_NEXT
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#define MPEG_MENU BUTTON_PLAY
#elif CONFIG_KEYPAD == EROSQ_PAD
#define MPEG_MENU BUTTON_MENU
#define MPEG_STOP BUTTON_POWER
#define MPEG_PAUSE BUTTON_HOME
#define MPEG_PAUSE BUTTON_PLAY
#define MPEG_VOLDOWN BUTTON_VOL_DOWN
#define MPEG_VOLUP BUTTON_VOL_UP
#define MPEG_RW BUTTON_PREV

View file

@ -484,21 +484,7 @@
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
#define OSCILLOSCOPE_ORIENTATION_PRE BUTTON_PLAY
#define OSCILLOSCOPE_ORIENTATION (BUTTON_PLAY | BUTTON_REPEAT)
#define OSCILLOSCOPE_ADVMODE BUTTON_HOME
#define OSCILLOSCOPE_PAUSE BUTTON_OPTION
#define OSCILLOSCOPE_SPEED_UP BUTTON_NEXT
#define OSCILLOSCOPE_SPEED_DOWN BUTTON_PREV
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
@ -526,7 +512,7 @@
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
@ -540,19 +526,16 @@
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
#define OSCILLOSCOPE_ORIENTATION_PRE BUTTON_PLAY
#define OSCILLOSCOPE_ORIENTATION (BUTTON_PLAY | BUTTON_REPEAT)
#define OSCILLOSCOPE_ADVMODE BUTTON_HOME
#define OSCILLOSCOPE_PAUSE (BUTTON_HOME | BUTTON_REPEAT)
#define OSCILLOSCOPE_SPEED_UP BUTTON_NEXT
#define OSCILLOSCOPE_SPEED_DOWN BUTTON_PREV
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif CONFIG_KEYPAD == EROSQ_PAD
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE BUTTON_PREV
#define OSCILLOSCOPE_ADVMODE BUTTON_NEXT
#define OSCILLOSCOPE_ORIENTATION BUTTON_BACK
#define OSCILLOSCOPE_PAUSE BUTTON_PLAY
#define OSCILLOSCOPE_SPEED_UP BUTTON_SCROLL_FWD
#define OSCILLOSCOPE_SPEED_DOWN BUTTON_SCROLL_BACK
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#else
#error No keymap defined!

View file

@ -364,16 +364,7 @@
#define PACMAN_1UP BUTTON_VOLUP
#define PACMAN_COIN BUTTON_VOLDOWN
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define PACMAN_UP BUTTON_PREV
#define PACMAN_DOWN BUTTON_NEXT
#define PACMAN_LEFT BUTTON_HOME
#define PACMAN_RIGHT BUTTON_VOL_DOWN
#define PACMAN_MENU BUTTON_POWER
#define PACMAN_1UP BUTTON_VOL_UP
#define PACMAN_COIN BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define PACMAN_UP BUTTON_PREV
#define PACMAN_DOWN BUTTON_NEXT
#define PACMAN_LEFT BUTTON_HOME
@ -391,7 +382,8 @@
#define PACMAN_1UP BUTTON_VOL_UP
#define PACMAN_COIN BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define PACMAN_UP BUTTON_PREV
#define PACMAN_DOWN BUTTON_NEXT
#define PACMAN_LEFT BUTTON_HOME
@ -400,13 +392,12 @@
#define PACMAN_1UP BUTTON_VOL_UP
#define PACMAN_COIN BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define PACMAN_UP BUTTON_PREV
#define PACMAN_DOWN BUTTON_NEXT
#define PACMAN_LEFT BUTTON_HOME
#define PACMAN_RIGHT BUTTON_VOL_DOWN
#define PACMAN_MENU BUTTON_POWER
#define PACMAN_LEFT BUTTON_SCROLL_BACK
#define PACMAN_RIGHT BUTTON_SCROLL_FWD
#define PACMAN_MENU BUTTON_MENU
#define PACMAN_1UP BUTTON_VOL_UP
#define PACMAN_COIN BUTTON_PLAY

View file

@ -626,24 +626,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-"
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define PEGBOX_SELECT BUTTON_PLAY
#define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_RESTART (BUTTON_POWER | BUTTON_HOME)
#define PEGBOX_LVL_UP BUTTON_VOL_UP
#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
#define PEGBOX_UP BUTTON_HOME
#define PEGBOX_DOWN BUTTON_OPTION
#define PEGBOX_RIGHT BUTTON_NEXT
#define PEGBOX_LEFT BUTTON_PREV
#define SELECT_TEXT "PLAY"
#define QUIT_TEXT "POWER"
#define RESTART_TEXT "HOME"
#define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-"
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define PEGBOX_SELECT BUTTON_PLAY
#define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_RESTART (BUTTON_POWER | BUTTON_HOME)
@ -677,7 +660,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-"
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define PEGBOX_SELECT BUTTON_PLAY
#define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_RESTART (BUTTON_POWER | BUTTON_HOME)
@ -694,16 +677,16 @@ CONFIG_KEYPAD == MROBE500_PAD
#define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-"
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == FIIO_M3K_PAD
#define PEGBOX_SELECT BUTTON_PLAY
#define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_RESTART (BUTTON_POWER | BUTTON_HOME)
#define PEGBOX_LVL_UP (BUTTON_POWER | BUTTON_VOL_UP)
#define PEGBOX_LVL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN)
#define PEGBOX_UP BUTTON_PREV
#define PEGBOX_DOWN BUTTON_NEXT
#define PEGBOX_RIGHT BUTTON_HOME
#define PEGBOX_LEFT BUTTON_VOL_DOWN
#define PEGBOX_LVL_UP BUTTON_VOL_UP
#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
#define PEGBOX_UP BUTTON_HOME
#define PEGBOX_DOWN BUTTON_OPTION
#define PEGBOX_RIGHT BUTTON_NEXT
#define PEGBOX_LEFT BUTTON_PREV
#define SELECT_TEXT "PLAY"
#define QUIT_TEXT "POWER"
@ -711,11 +694,24 @@ CONFIG_KEYPAD == MROBE500_PAD
#define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-"
#else
#error Unsupported keymap!
#endif
#elif CONFIG_KEYPAD == EROSQ_PAD
#define PEGBOX_SELECT BUTTON_PLAY
#define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_RESTART BUTTON_BACK
#define PEGBOX_LVL_UP BUTTON_VOL_UP
#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
#define PEGBOX_UP BUTTON_PREV
#define PEGBOX_DOWN BUTTON_NEXT
#define PEGBOX_RIGHT BUTTON_SCROLL_FWD
#define PEGBOX_LEFT BUTTON_SCROLL_BACK
#ifdef HAVE_TOUCHSCREEN
#define SELECT_TEXT "PLAY"
#define QUIT_TEXT "POWER"
#define RESTART_TEXT "BACK"
#define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-"
#elif defined(HAVE_TOUCHSCREEN)
#ifndef PEGBOX_QUIT
#define PEGBOX_QUIT BUTTON_TOPLEFT
#endif
@ -758,9 +754,10 @@ CONFIG_KEYPAD == MROBE500_PAD
#ifndef LVL_DOWN_TEXT
#define LVL_DOWN_TEXT "BOTTOMRIGHT"
#endif
#else
#error Unsupported keymap!
#endif
/* get several sizes from the bitmaps */
#ifdef BMPWIDTH_pegbox_pieces
#define PIECE_WIDTH BMPWIDTH_pegbox_pieces

View file

@ -293,15 +293,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PONG_RIGHT_UP BUTTON_HOME
#define PONG_RIGHT_DOWN BUTTON_NEXT
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define PONG_QUIT BUTTON_POWER
#define PONG_PAUSE BUTTON_PLAY
#define PONG_LEFT_UP BUTTON_PREV
#define PONG_LEFT_DOWN BUTTON_OPTION
#define PONG_RIGHT_UP BUTTON_HOME
#define PONG_RIGHT_DOWN BUTTON_NEXT
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define PONG_QUIT BUTTON_POWER
#define PONG_PAUSE BUTTON_PLAY
#define PONG_LEFT_UP BUTTON_PREV
@ -317,7 +309,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PONG_RIGHT_UP BUTTON_HOME
#define PONG_RIGHT_DOWN BUTTON_NEXT
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define PONG_QUIT BUTTON_POWER
#define PONG_PAUSE BUTTON_PREV
#define PONG_LEFT_UP BUTTON_PLAY
@ -325,13 +317,14 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PONG_RIGHT_UP BUTTON_VOL_UP
#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define PONG_QUIT BUTTON_POWER
#define PONG_PAUSE BUTTON_PREV
#define PONG_LEFT_UP BUTTON_PLAY
#define PONG_LEFT_DOWN BUTTON_HOME
#define PONG_RIGHT_UP BUTTON_VOL_UP
#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN
#define PONG_PAUSE BUTTON_PLAY
#define PONG_LEFT_UP BUTTON_SCROLL_BACK
#define PONG_LEFT_DOWN BUTTON_SCROLL_FWD
#define PONG_RIGHT_UP BUTTON_PREV
#define PONG_RIGHT_DOWN BUTTON_NEXT
#else
#error No keymap defined!

View file

@ -319,18 +319,7 @@
#define REVERSI_BUTTON_MENU BUTTON_PLAY
#define REVERSI_BUTTON_MENU_LONGPRESS
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define REVERSI_BUTTON_QUIT BUTTON_POWER
#define REVERSI_BUTTON_UP BUTTON_HOME
#define REVERSI_BUTTON_DOWN BUTTON_OPTION
#define REVERSI_BUTTON_LEFT BUTTON_PREV
#define REVERSI_BUTTON_RIGHT BUTTON_NEXT
#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAY
#define REVERSI_BUTTON_MAKE_MOVE_SHORTPRESS
#define REVERSI_BUTTON_MENU BUTTON_PLAY
#define REVERSI_BUTTON_MENU_LONGPRESS
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define REVERSI_BUTTON_QUIT BUTTON_POWER
#define REVERSI_BUTTON_UP BUTTON_HOME
#define REVERSI_BUTTON_DOWN BUTTON_OPTION
@ -352,7 +341,7 @@
#define REVERSI_BUTTON_MENU BUTTON_PLAY
#define REVERSI_BUTTON_MENU_LONGPRESS
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define REVERSI_BUTTON_QUIT BUTTON_POWER
#define REVERSI_BUTTON_UP BUTTON_PREV
#define REVERSI_BUTTON_DOWN BUTTON_NEXT
@ -363,16 +352,14 @@
#define REVERSI_BUTTON_MENU BUTTON_PLAY
#define REVERSI_BUTTON_MENU_LONGPRESS
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define REVERSI_BUTTON_QUIT BUTTON_POWER
#define REVERSI_BUTTON_UP BUTTON_PREV
#define REVERSI_BUTTON_DOWN BUTTON_NEXT
#define REVERSI_BUTTON_LEFT BUTTON_PREV
#define REVERSI_BUTTON_RIGHT BUTTON_VOL_DOWN
#define REVERSI_BUTTON_LEFT BUTTON_SCROLL_BACK
#define REVERSI_BUTTON_RIGHT BUTTON_SCROLL_FWD
#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAY
#define REVERSI_BUTTON_MAKE_MOVE_SHORTPRESS
#define REVERSI_BUTTON_MENU BUTTON_PLAY
#define REVERSI_BUTTON_MENU_LONGPRESS
#define REVERSI_BUTTON_MENU BUTTON_MENU
#else
#error No keymap defined!

View file

@ -431,31 +431,7 @@
#define ROCKBLOX_ROTATE_CCW BUTTON_VOLDOWN
#define ROCKBLOX_DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define ROCKBLOX_OFF BUTTON_POWER
#define ROCKBLOX_ROTATE_CCW BUTTON_HOME
#define ROCKBLOX_ROTATE_CCW2 BUTTON_VOL_DOWN
#define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP
#define ROCKBLOX_DOWN BUTTON_OPTION
#define ROCKBLOX_LEFT BUTTON_PREV
#define ROCKBLOX_RIGHT BUTTON_NEXT
#define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL)
#define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define ROCKBLOX_OFF BUTTON_POWER
#define ROCKBLOX_ROTATE_CCW BUTTON_HOME
#define ROCKBLOX_ROTATE_CCW2 BUTTON_VOL_DOWN
#define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP
#define ROCKBLOX_DOWN BUTTON_OPTION
#define ROCKBLOX_LEFT BUTTON_PREV
#define ROCKBLOX_RIGHT BUTTON_NEXT
#define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL)
#define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif (CONFIG_KEYPAD == XDUOO_X3_PAD) || (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define ROCKBLOX_OFF BUTTON_POWER
#define ROCKBLOX_ROTATE_CCW BUTTON_HOME
@ -479,7 +455,7 @@
#define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL)
#define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define ROCKBLOX_OFF BUTTON_POWER
#define ROCKBLOX_ROTATE_CCW BUTTON_HOME
@ -491,17 +467,15 @@
#define ROCKBLOX_DROP (BUTTON_POWER|BUTTON_PLAY)
#define ROCKBLOX_RESTART (BUTTON_POWER|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define ROCKBLOX_OFF BUTTON_POWER
#define ROCKBLOX_ROTATE_CCW BUTTON_HOME
#define ROCKBLOX_ROTATE_CCW2 BUTTON_VOL_DOWN
#define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP
#define ROCKBLOX_DOWN BUTTON_PLAY
#define ROCKBLOX_ROTATE_CCW BUTTON_SCROLL_BACK
#define ROCKBLOX_ROTATE_CW BUTTON_SCROLL_FWD
#define ROCKBLOX_DOWN BUTTON_MENU
#define ROCKBLOX_LEFT BUTTON_PREV
#define ROCKBLOX_RIGHT BUTTON_NEXT
#define ROCKBLOX_DROP (BUTTON_POWER|BUTTON_PLAY)
#define ROCKBLOX_RESTART (BUTTON_POWER|BUTTON_REPEAT)
#define ROCKBLOX_DROP BUTTON_PLAY
#define ROCKBLOX_RESTART BUTTON_BACK
#else
#error No keymap defined!

View file

@ -425,17 +425,7 @@ static void setoptions (void)
options.SELECT = BUTTON_VOL_UP;
options.MENU = BUTTON_POWER;
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
options.UP = BUTTON_PREV;
options.DOWN = BUTTON_NEXT;
options.A = BUTTON_HOME;
options.B = BUTTON_OPTION;
options.START = BUTTON_VOL_DOWN;
options.SELECT = BUTTON_VOL_UP;
options.MENU = BUTTON_POWER;
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
options.UP = BUTTON_PREV;
options.DOWN = BUTTON_NEXT;
@ -455,7 +445,7 @@ static void setoptions (void)
options.SELECT = BUTTON_VOL_UP;
options.MENU = BUTTON_POWER;
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
options.UP = BUTTON_PREV;
options.DOWN = BUTTON_NEXT;
@ -465,14 +455,16 @@ static void setoptions (void)
options.SELECT = BUTTON_HOME;
options.MENU = BUTTON_POWER;
#elif CONFIG_KEYPAD == IHIFI_800_PAD
options.UP = BUTTON_PREV;
options.DOWN = BUTTON_NEXT;
#elif CONFIG_KEYPAD == EROSQ_PAD
options.UP = BUTTON_PREV;
options.DOWN = BUTTON_NEXT;
options.LEFT = BUTTON_SCROLL_BACK;
options.RIGHT = BUTTON_SCROLL_FWD;
options.A = BUTTON_VOL_UP;
options.B = BUTTON_VOL_DOWN;
options.START = BUTTON_PLAY;
options.SELECT = BUTTON_HOME;
options.A = BUTTON_MENU;
options.B = BUTTON_BACK;
options.START = BUTTON_VOL_DOWN;
options.SELECT = BUTTON_VOL_UP;
options.MENU = BUTTON_POWER;
#else

View file

@ -312,16 +312,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_PWRALT)
#define PUZZLE_PICTURE BUTTON_PLAY
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_PREV
#define PUZZLE_RIGHT BUTTON_NEXT
#define PUZZLE_UP BUTTON_HOME
#define PUZZLE_DOWN BUTTON_OPTION
#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER)
#define PUZZLE_PICTURE BUTTON_PLAY
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_PREV
#define PUZZLE_RIGHT BUTTON_NEXT
@ -339,7 +330,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER)
#define PUZZLE_PICTURE BUTTON_PLAY
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_HOME
#define PUZZLE_RIGHT BUTTON_VOL_DOWN
@ -348,15 +339,16 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER)
#define PUZZLE_PICTURE BUTTON_PLAY
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#elif (CONFIG_KEYPAD == EROSQ_PAD)
#define PUZZLE_QUIT BUTTON_POWER
#define PUZZLE_LEFT BUTTON_HOME
#define PUZZLE_RIGHT BUTTON_VOL_DOWN
#define PUZZLE_LEFT BUTTON_SCROLL_BACK
#define PUZZLE_RIGHT BUTTON_SCROLL_FWD
#define PUZZLE_UP BUTTON_PREV
#define PUZZLE_DOWN BUTTON_NEXT
#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER)
#define PUZZLE_SHUFFLE BUTTON_BACK
#define PUZZLE_PICTURE BUTTON_PLAY
#else
#error No keymap defined!
#endif

View file

@ -273,15 +273,7 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
#define SNAKE_DOWN BUTTON_OPTION
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_PREV
#define SNAKE_RIGHT BUTTON_NEXT
#define SNAKE_UP BUTTON_HOME
#define SNAKE_DOWN BUTTON_OPTION
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_PREV
#define SNAKE_RIGHT BUTTON_NEXT
@ -297,7 +289,7 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
#define SNAKE_DOWN BUTTON_OPTION
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_HOME
#define SNAKE_RIGHT BUTTON_VOL_DOWN
@ -305,10 +297,10 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
#define SNAKE_DOWN BUTTON_NEXT
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define SNAKE_QUIT BUTTON_POWER
#define SNAKE_LEFT BUTTON_HOME
#define SNAKE_RIGHT BUTTON_VOL_DOWN
#define SNAKE_LEFT BUTTON_SCROLL_BACK
#define SNAKE_RIGHT BUTTON_SCROLL_FWD
#define SNAKE_UP BUTTON_PREV
#define SNAKE_DOWN BUTTON_NEXT
#define SNAKE_PLAYPAUSE BUTTON_PLAY

View file

@ -401,16 +401,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define SNAKE2_PLAYPAUSE BUTTON_PLAY
#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define SNAKE2_LEFT BUTTON_PREV
#define SNAKE2_RIGHT BUTTON_NEXT
#define SNAKE2_UP BUTTON_HOME
#define SNAKE2_DOWN BUTTON_OPTION
#define SNAKE2_QUIT BUTTON_POWER
#define SNAKE2_PLAYPAUSE BUTTON_PLAY
#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define SNAKE2_LEFT BUTTON_PREV
#define SNAKE2_RIGHT BUTTON_NEXT
#define SNAKE2_UP BUTTON_HOME
@ -428,7 +419,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define SNAKE2_PLAYPAUSE BUTTON_PLAY
#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define SNAKE2_LEFT BUTTON_HOME
#define SNAKE2_RIGHT BUTTON_VOL_DOWN
#define SNAKE2_UP BUTTON_PREV
@ -437,9 +428,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define SNAKE2_PLAYPAUSE BUTTON_PLAY
#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#define SNAKE2_LEFT BUTTON_HOME
#define SNAKE2_RIGHT BUTTON_VOL_DOWN
#elif (CONFIG_KEYPAD == EROSQ_PAD)
#define SNAKE2_LEFT BUTTON_SCROLL_BACK
#define SNAKE2_RIGHT BUTTON_SCROLL_FWD
#define SNAKE2_UP BUTTON_PREV
#define SNAKE2_DOWN BUTTON_NEXT
#define SNAKE2_QUIT BUTTON_POWER

View file

@ -631,23 +631,7 @@
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define SOKOBAN_LEFT BUTTON_PREV
#define SOKOBAN_RIGHT BUTTON_NEXT
#define SOKOBAN_UP BUTTON_HOME
#define SOKOBAN_DOWN BUTTON_OPTION
#define SOKOBAN_MENU BUTTON_POWER
#define SOKOBAN_UNDO_PRE BUTTON_PLAY
#define SOKOBAN_UNDO (BUTTON_PLAY | BUTTON_REL)
#define SOKOBAN_REDO (BUTTON_POWER | BUTTON_PLAY)
#define SOKOBAN_LEVEL_DOWN BUTTON_VOL_DOWN
#define SOKOBAN_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_NEXT)
#define SOKOBAN_LEVEL_UP BUTTON_VOL_UP
#define SOKOBAN_PAUSE BUTTON_PLAY
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define SOKOBAN_LEFT BUTTON_PREV
#define SOKOBAN_RIGHT BUTTON_NEXT
#define SOKOBAN_UP BUTTON_HOME
@ -679,7 +663,7 @@
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define SOKOBAN_LEFT BUTTON_HOME
#define SOKOBAN_RIGHT BUTTON_VOL_DOWN
#define SOKOBAN_UP BUTTON_PREV
@ -695,18 +679,18 @@
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#define SOKOBAN_LEFT BUTTON_HOME
#define SOKOBAN_RIGHT BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == EROSQ_PAD
#define SOKOBAN_LEFT BUTTON_SCROLL_BACK
#define SOKOBAN_RIGHT BUTTON_SCROLL_FWD
#define SOKOBAN_UP BUTTON_PREV
#define SOKOBAN_DOWN BUTTON_NEXT
#define SOKOBAN_MENU BUTTON_POWER
#define SOKOBAN_MENU BUTTON_MENU
#define SOKOBAN_UNDO_PRE BUTTON_PLAY
#define SOKOBAN_UNDO (BUTTON_PLAY | BUTTON_REL)
#define SOKOBAN_REDO (BUTTON_POWER | BUTTON_PLAY)
#define SOKOBAN_LEVEL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN)
#define SOKOBAN_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME)
#define SOKOBAN_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP)
#define SOKOBAN_LEVEL_DOWN BUTTON_VOL_DOWN
#define SOKOBAN_LEVEL_REPEAT BUTTON_BACK
#define SOKOBAN_LEVEL_UP BUTTON_VOL_UP
#define SOKOBAN_PAUSE BUTTON_PLAY
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"

View file

@ -646,26 +646,7 @@ CONFIG_KEYPAD == MROBE500_PAD
# define HK_CUR2STACK "DBL PLAY"
# define HK_REM2STACK "NEXT"
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
# define SOL_QUIT BUTTON_POWER
# define SOL_UP BUTTON_HOME
# define SOL_DOWN BUTTON_OPTION
# define SOL_LEFT BUTTON_PREV
# define SOL_RIGHT BUTTON_NEXT
# define SOL_MOVE_PRE BUTTON_PLAY
# define SOL_MOVE (BUTTON_PLAY | BUTTON_REL)
# define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT)
# define SOL_REM2CUR BUTTON_VOL_DOWN
# define SOL_CUR2STACK_PRE BUTTON_PLAY
# define SOL_CUR2STACK (BUTTON_PLAY | BUTTON_REPEAT)
# define SOL_REM2STACK BUTTON_VOL_UP
# define HK_MOVE "PLAY"
# define HK_DRAW "DBL HOME"
# define HK_REM2CUR "PREV"
# define HK_CUR2STACK "DBL PLAY"
# define HK_REM2STACK "NEXT"
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
# define SOL_QUIT BUTTON_POWER
# define SOL_UP BUTTON_HOME
# define SOL_DOWN BUTTON_OPTION
@ -703,7 +684,7 @@ CONFIG_KEYPAD == MROBE500_PAD
# define HK_CUR2STACK "DBL PLAY"
# define HK_REM2STACK "NEXT"
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
# define SOL_QUIT BUTTON_POWER
# define SOL_UP BUTTON_PREV
# define SOL_DOWN BUTTON_NEXT
@ -722,24 +703,24 @@ CONFIG_KEYPAD == MROBE500_PAD
# define HK_CUR2STACK "DBL PLAY"
# define HK_REM2STACK "POWER+"
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
# define SOL_QUIT BUTTON_POWER
# define SOL_UP BUTTON_PREV
# define SOL_DOWN BUTTON_NEXT
# define SOL_LEFT BUTTON_HOME
# define SOL_RIGHT BUTTON_VOL_DOWN
# define SOL_MOVE_PRE BUTTON_VOL_UP
# define SOL_LEFT BUTTON_SCROLL_BACK
# define SOL_RIGHT BUTTON_SCROLL_FWD
# define SOL_MOVE_PRE BUTTON_PLAY
# define SOL_MOVE (BUTTON_PLAY | BUTTON_REL)
# define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT)
# define SOL_REM2CUR (BUTTON_POWER | BUTTON_VOL_DOWN)
# define SOL_REM2CUR BUTTON_VOL_DOWN
# define SOL_CUR2STACK_PRE BUTTON_PLAY
# define SOL_CUR2STACK (BUTTON_PLAY | BUTTON_REPEAT)
# define SOL_REM2STACK (BUTTON_POWER | BUTTON_VOL_UP)
# define SOL_REM2STACK BUTTON_VOL_UP
# define HK_MOVE "PLAY"
# define HK_DRAW "DBL POWER"
# define HK_REM2CUR "POWER"
# define HK_DRAW "DBL HOME"
# define HK_REM2CUR "PREV"
# define HK_CUR2STACK "DBL PLAY"
# define HK_REM2STACK "POWER+"
# define HK_REM2STACK "NEXT"
#else
#error No keymap defined!

View file

@ -327,25 +327,7 @@
#define AST_RIGHT BUTTON_RIGHT
#define AST_FIRE BUTTON_SELECT
#elif (CONFIG_KEYPAD == XDUOO_X3_PAD)
#define AST_PAUSE BUTTON_VOL_UP
#define AST_QUIT BUTTON_POWER
#define AST_THRUST BUTTON_HOME
#define AST_HYPERSPACE BUTTON_OPTION
#define AST_LEFT BUTTON_PREV
#define AST_RIGHT BUTTON_NEXT
#define AST_FIRE BUTTON_PLAY
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define AST_PAUSE BUTTON_VOL_UP
#define AST_QUIT BUTTON_POWER
#define AST_THRUST BUTTON_HOME
#define AST_HYPERSPACE BUTTON_OPTION
#define AST_LEFT BUTTON_PREV
#define AST_RIGHT BUTTON_NEXT
#define AST_FIRE BUTTON_PLAY
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3_PAD) || (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define AST_PAUSE BUTTON_VOL_UP
#define AST_QUIT BUTTON_POWER
#define AST_THRUST BUTTON_HOME
@ -363,7 +345,7 @@
#define AST_RIGHT BUTTON_NEXT
#define AST_FIRE BUTTON_PLAY
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define AST_PAUSE BUTTON_PLAY
#define AST_QUIT BUTTON_POWER
#define AST_THRUST BUTTON_NEXT
@ -372,14 +354,14 @@
#define AST_RIGHT BUTTON_VOL_DOWN
#define AST_FIRE BUTTON_VOL_UP
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#define AST_PAUSE BUTTON_PLAY
#elif (CONFIG_KEYPAD == EROSQ_PAD)
#define AST_PAUSE BUTTON_PREV
#define AST_QUIT BUTTON_POWER
#define AST_THRUST BUTTON_NEXT
#define AST_HYPERSPACE BUTTON_PREV
#define AST_LEFT BUTTON_HOME
#define AST_RIGHT BUTTON_VOL_DOWN
#define AST_FIRE BUTTON_VOL_UP
#define AST_THRUST BUTTON_PLAY
#define AST_HYPERSPACE BUTTON_MENU
#define AST_LEFT BUTTON_SCROLL_BACK
#define AST_RIGHT BUTTON_SCROLL_FWD
#define AST_FIRE BUTTON_BACK
#else
#error No keymap defined!

View file

@ -588,23 +588,7 @@
#define STAR_LEVEL_DOWN_NAME "PLAY + PREV"
#define STAR_LEVEL_REPEAT_NAME "PLAY + OPTION"
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_PREV
#define STAR_RIGHT BUTTON_NEXT
#define STAR_UP BUTTON_HOME
#define STAR_DOWN BUTTON_OPTION
#define STAR_TOGGLE_CONTROL BUTTON_PLAY
#define STAR_LEVEL_UP (BUTTON_PLAY | BUTTON_NEXT)
#define STAR_LEVEL_DOWN (BUTTON_PLAY | BUTTON_PREV)
#define STAR_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_OPTION)
#define STAR_TOGGLE_CONTROL_NAME "PLAY"
#define STAR_QUIT_NAME "POWER"
#define STAR_LEVEL_UP_NAME "PLAY + NEXT"
#define STAR_LEVEL_DOWN_NAME "PLAY + PREV"
#define STAR_LEVEL_REPEAT_NAME "PLAY + OPTION"
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_PREV
#define STAR_RIGHT BUTTON_NEXT
@ -636,7 +620,7 @@
#define STAR_LEVEL_DOWN_NAME "PLAY + PREV"
#define STAR_LEVEL_REPEAT_NAME "PLAY + OPTION"
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_HOME
#define STAR_RIGHT BUTTON_VOL_DOWN
@ -652,21 +636,21 @@
#define STAR_LEVEL_DOWN_NAME "POWER + VOL-"
#define STAR_LEVEL_REPEAT_NAME "POWER + HOME"
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define STAR_QUIT BUTTON_POWER
#define STAR_LEFT BUTTON_HOME
#define STAR_RIGHT BUTTON_VOL_DOWN
#define STAR_LEFT BUTTON_SCROLL_BACK
#define STAR_RIGHT BUTTON_SCROLL_FWD
#define STAR_UP BUTTON_PREV
#define STAR_DOWN BUTTON_NEXT
#define STAR_TOGGLE_CONTROL BUTTON_PLAY
#define STAR_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP)
#define STAR_LEVEL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN)
#define STAR_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME)
#define STAR_LEVEL_UP BUTTON_VOL_UP
#define STAR_LEVEL_DOWN BUTTON_VOL_DOWN
#define STAR_LEVEL_REPEAT BUTTON_BACK
#define STAR_TOGGLE_CONTROL_NAME "PLAY"
#define STAR_QUIT_NAME "POWER"
#define STAR_LEVEL_UP_NAME "POWER + VOL+"
#define STAR_LEVEL_DOWN_NAME "POWER + VOL-"
#define STAR_LEVEL_REPEAT_NAME "POWER + HOME"
#define STAR_LEVEL_UP_NAME "VOL UP"
#define STAR_LEVEL_DOWN_NAME "VOL DN"
#define STAR_LEVEL_REPEAT_NAME "BACK"
#else
#error No keymap defined!

View file

@ -277,23 +277,7 @@
#define STOPWATCH_SCROLL_UP BUTTON_UP
#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define STOPWATCH_QUIT BUTTON_POWER
#define STOPWATCH_START_STOP BUTTON_NEXT
#define STOPWATCH_RESET_TIMER BUTTON_PREV
#define STOPWATCH_LAP_TIMER BUTTON_PLAY
#define STOPWATCH_SCROLL_UP BUTTON_HOME
#define STOPWATCH_SCROLL_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define STOPWATCH_QUIT BUTTON_POWER
#define STOPWATCH_START_STOP BUTTON_NEXT
#define STOPWATCH_RESET_TIMER BUTTON_PREV
#define STOPWATCH_LAP_TIMER BUTTON_PLAY
#define STOPWATCH_SCROLL_UP BUTTON_HOME
#define STOPWATCH_SCROLL_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define STOPWATCH_QUIT BUTTON_POWER
#define STOPWATCH_START_STOP BUTTON_NEXT
#define STOPWATCH_RESET_TIMER BUTTON_PREV
@ -309,7 +293,7 @@
#define STOPWATCH_SCROLL_UP BUTTON_HOME
#define STOPWATCH_SCROLL_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define STOPWATCH_QUIT BUTTON_POWER
#define STOPWATCH_START_STOP BUTTON_NEXT
#define STOPWATCH_RESET_TIMER BUTTON_PREV
@ -317,13 +301,13 @@
#define STOPWATCH_SCROLL_UP BUTTON_VOL_UP
#define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define STOPWATCH_QUIT BUTTON_POWER
#define STOPWATCH_START_STOP BUTTON_NEXT
#define STOPWATCH_RESET_TIMER BUTTON_PREV
#define STOPWATCH_LAP_TIMER BUTTON_PLAY
#define STOPWATCH_SCROLL_UP BUTTON_VOL_UP
#define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN
#define STOPWATCH_START_STOP BUTTON_PLAY
#define STOPWATCH_RESET_TIMER BUTTON_BACK
#define STOPWATCH_LAP_TIMER BUTTON_MENU
#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD
#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK
#else
#error No keymap defined!

View file

@ -404,21 +404,7 @@
#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
#define SUDOKU_BUTTON_POSSIBLE (BUTTON_HOME | BUTTON_PWRALT)
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
#define SUDOKU_BUTTON_UP BUTTON_HOME
#define SUDOKU_BUTTON_DOWN BUTTON_OPTION
#define SUDOKU_BUTTON_LEFT BUTTON_PREV
#define SUDOKU_BUTTON_RIGHT BUTTON_NEXT
#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_VOL_DOWN
#define SUDOKU_BUTTON_TOGGLE BUTTON_VOL_UP
#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_PLAY
#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER
#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
#define SUDOKU_BUTTON_POSSIBLE (BUTTON_HOME | BUTTON_POWER)
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
#define SUDOKU_BUTTON_UP BUTTON_HOME
@ -446,7 +432,7 @@
#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
#define SUDOKU_BUTTON_POSSIBLE (BUTTON_HOME | BUTTON_POWER)
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
#define SUDOKU_BUTTON_UP BUTTON_PREV
@ -460,19 +446,18 @@
#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
#define SUDOKU_BUTTON_POSSIBLE (BUTTON_POWER | BUTTON_HOME)
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER
#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT)
#define SUDOKU_BUTTON_UP BUTTON_PREV
#define SUDOKU_BUTTON_DOWN BUTTON_NEXT
#define SUDOKU_BUTTON_LEFT BUTTON_HOME
#define SUDOKU_BUTTON_RIGHT BUTTON_VOL_DOWN
#define SUDOKU_BUTTON_TOGGLEBACK (BUTTON_POWER | BUTTON_VOL_DOWN)
#define SUDOKU_BUTTON_TOGGLE (BUTTON_POWER | BUTTON_VOL_UP)
#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_PLAY
#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER
#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL)
#define SUDOKU_BUTTON_POSSIBLE (BUTTON_POWER | BUTTON_HOME)
#define SUDOKU_BUTTON_LEFT BUTTON_SCROLL_BACK
#define SUDOKU_BUTTON_RIGHT BUTTON_SCROLL_FWD
#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_VOL_DOWN
#define SUDOKU_BUTTON_TOGGLE BUTTON_VOL_UP
#define SUDOKU_BUTTON_MENU_PRE BUTTON_MENU
#define SUDOKU_BUTTON_MENU (BUTTON_MENU | BUTTON_REL)
#define SUDOKU_BUTTON_POSSIBLE BUTTON_BACK
#else
#error No keymap defined!

View file

@ -545,6 +545,18 @@
#define TV_LINE_DOWN BUTTON_OPTION
#define TV_BOOKMARK (BUTTON_OPTION | BUTTON_PLAY)
#elif CONFIG_KEYPAD == EROSQ_PAD
#define TV_MENU BUTTON_MENU
#define TV_SCROLL_UP BUTTON_SCROLL_BACK
#define TV_SCROLL_DOWN BUTTON_SCROLL_FWD
#define TV_SCREEN_LEFT BUTTON_PREV
#define TV_SCREEN_RIGHT BUTTON_NEXT
#define TV_AUTOSCROLL BUTTON_PLAY
#define TV_QUIT BUTTON_POWER
#define TV_BOOKMARK BUTTON_BACK
#define TV_LINE_UP BUTTON_VOL_UP
#define TV_LINE_DOWN BUTTON_VOL_DOWN
/* Xuelin 770/770c keys */
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#define TV_QUIT BUTTON_POWER

View file

@ -397,18 +397,7 @@
#define LABEL_MENU "PLAY"
#define LABEL_VOLUME "VOL UP/DN"
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define VUMETER_QUIT BUTTON_POWER
#define VUMETER_HELP BUTTON_HOME
#define VUMETER_MENU BUTTON_PLAY
#define VUMETER_UP BUTTON_VOL_UP
#define VUMETER_DOWN BUTTON_VOL_DOWN
#define LABEL_HELP "HOME"
#define LABEL_QUIT "POWER"
#define LABEL_MENU "PLAY"
#define LABEL_VOLUME "VOL UP/DN"
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define VUMETER_QUIT BUTTON_POWER
#define VUMETER_HELP BUTTON_HOME
#define VUMETER_MENU BUTTON_PLAY
@ -430,7 +419,7 @@
#define LABEL_MENU "PLAY"
#define LABEL_VOLUME "VOL UP/DN"
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define VUMETER_QUIT BUTTON_POWER
#define VUMETER_HELP BUTTON_HOME
#define VUMETER_MENU BUTTON_PLAY
@ -441,15 +430,15 @@
#define LABEL_MENU "PLAY"
#define LABEL_VOLUME "VOL UP/DN"
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#elif (CONFIG_KEYPAD == EROSQ_PAD)
#define VUMETER_QUIT BUTTON_POWER
#define VUMETER_HELP BUTTON_HOME
#define VUMETER_MENU BUTTON_PLAY
#define VUMETER_HELP BUTTON_BACK
#define VUMETER_MENU BUTTON_MENU
#define VUMETER_UP BUTTON_VOL_UP
#define VUMETER_DOWN BUTTON_VOL_DOWN
#define LABEL_HELP "HOME"
#define LABEL_HELP "BACK"
#define LABEL_QUIT "POWER"
#define LABEL_MENU "PLAY"
#define LABEL_MENU "MENU"
#define LABEL_VOLUME "VOL UP/DN"
#else

View file

@ -362,16 +362,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define BTN_QUIT BUTTON_POWER
#define BTN_STOPRESET (BUTTON_HOME | BUTTON_PWRALT)
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define BTN_DIR_UP BUTTON_HOME
#define BTN_DIR_DOWN BUTTON_OPTION
#define BTN_DIR_LEFT BUTTON_PREV
#define BTN_DIR_RIGHT BUTTON_NEXT
#define BTN_STARTPAUSE BUTTON_PLAY
#define BTN_QUIT BUTTON_POWER
#define BTN_STOPRESET (BUTTON_HOME | BUTTON_POWER)
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define BTN_DIR_UP BUTTON_HOME
#define BTN_DIR_DOWN BUTTON_OPTION
#define BTN_DIR_LEFT BUTTON_PREV
@ -389,7 +380,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define BTN_QUIT BUTTON_POWER
#define BTN_STOPRESET (BUTTON_HOME | BUTTON_POWER)
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define BTN_DIR_UP BUTTON_PREV
#define BTN_DIR_DOWN BUTTON_NEXT
#define BTN_DIR_LEFT BUTTON_HOME
@ -398,14 +389,14 @@ CONFIG_KEYPAD == MROBE500_PAD
#define BTN_QUIT BUTTON_POWER
#define BTN_STOPRESET BUTTON_VOL_UP
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define BTN_DIR_UP BUTTON_PREV
#define BTN_DIR_DOWN BUTTON_NEXT
#define BTN_DIR_LEFT BUTTON_HOME
#define BTN_DIR_RIGHT BUTTON_VOL_DOWN
#define BTN_DIR_LEFT BUTTON_SCROLL_BACK
#define BTN_DIR_RIGHT BUTTON_SCROLL_FWD
#define BTN_STARTPAUSE BUTTON_PLAY
#define BTN_QUIT BUTTON_POWER
#define BTN_STOPRESET BUTTON_VOL_UP
#define BTN_STOPRESET BUTTON_BACK
#else
#error No keymap defined!

View file

@ -315,25 +315,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_SELECT
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_PREV
#define RIGHT BUTTON_NEXT
#define UP BUTTON_HOME
#define DOWN BUTTON_OPTION
#define PAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_PREV
#define RIGHT BUTTON_NEXT
#define UP BUTTON_HOME
#define DOWN BUTTON_OPTION
#define PAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_PREV
@ -351,7 +333,7 @@ CONFIG_KEYPAD == MROBE500_PAD
#define DOWN BUTTON_OPTION
#define PAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_HOME
@ -360,20 +342,16 @@ CONFIG_KEYPAD == MROBE500_PAD
#define DOWN BUTTON_NEXT
#define PAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define QUIT BUTTON_POWER
#define LEFT BUTTON_HOME
#define RIGHT BUTTON_VOL_DOWN
#define LEFT BUTTON_SCROLL_BACK
#define RIGHT BUTTON_SCROLL_FWD
#define UP BUTTON_PREV
#define DOWN BUTTON_NEXT
#define PAUSE BUTTON_PLAY
#else
#error No keymap defined!
#endif
#ifdef HAVE_TOUCHSCREEN
#elif defined(HAVE_TOUCHSCREEN)
#ifndef QUIT
#define QUIT BUTTON_TOPLEFT
#endif
@ -392,6 +370,8 @@ CONFIG_KEYPAD == MROBE500_PAD
#ifndef PAUSE
#define PAUSE BUTTON_CENTER
#endif
#else
#error No keymap defined!
#endif
#define MOVE_NO 0 /* player movement */

View file

@ -266,15 +266,7 @@
#define ZX_UP BUTTON_HOME
#define ZX_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define ZX_SELECT BUTTON_PLAY
#define ZX_MENU BUTTON_POWER
#define ZX_LEFT BUTTON_PREV
#define ZX_RIGHT BUTTON_NEXT
#define ZX_UP BUTTON_HOME
#define ZX_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define ZX_SELECT BUTTON_PLAY
#define ZX_MENU BUTTON_POWER
#define ZX_LEFT BUTTON_PREV
@ -290,7 +282,7 @@
#define ZX_UP BUTTON_HOME
#define ZX_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define ZX_SELECT BUTTON_PLAY
#define ZX_MENU BUTTON_POWER
#define ZX_LEFT BUTTON_HOME
@ -298,11 +290,11 @@
#define ZX_UP BUTTON_PREV
#define ZX_DOWN BUTTON_NEXT
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define ZX_SELECT BUTTON_PLAY
#define ZX_MENU BUTTON_POWER
#define ZX_LEFT BUTTON_HOME
#define ZX_RIGHT BUTTON_VOL_DOWN
#define ZX_MENU BUTTON_MENU
#define ZX_LEFT BUTTON_SCROLL_BACK
#define ZX_RIGHT BUTTON_SCROLL_FWD
#define ZX_UP BUTTON_PREV
#define ZX_DOWN BUTTON_NEXT

View file

@ -257,16 +257,7 @@
#define KBD_UP BUTTON_HOME
#define KBD_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
#define KBD_SELECT BUTTON_PLAY
#define KBD_ABORT BUTTON_POWER
#define KBD_LEFT BUTTON_PREV
#define KBD_RIGHT BUTTON_NEXT
#define KBD_UP BUTTON_HOME
#define KBD_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define KBD_SELECT BUTTON_PLAY
#define KBD_ABORT BUTTON_POWER
@ -284,7 +275,7 @@
#define KBD_UP BUTTON_HOME
#define KBD_DOWN BUTTON_OPTION
#elif CONFIG_KEYPAD == IHIFI_770_PAD
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define KBD_SELECT BUTTON_PLAY
#define KBD_ABORT BUTTON_POWER
@ -293,12 +284,12 @@
#define KBD_UP BUTTON_PREV
#define KBD_DOWN BUTTON_NEXT
#elif CONFIG_KEYPAD == IHIFI_800_PAD
#elif CONFIG_KEYPAD == EROSQ_PAD
#define KBD_SELECT BUTTON_PLAY
#define KBD_ABORT BUTTON_POWER
#define KBD_LEFT BUTTON_HOME
#define KBD_RIGHT BUTTON_VOL_DOWN
#define KBD_ABORT BUTTON_BACK
#define KBD_LEFT BUTTON_SCROLL_BACK
#define KBD_RIGHT BUTTON_SCROLL_FWD
#define KBD_UP BUTTON_PREV
#define KBD_DOWN BUTTON_NEXT

View file

@ -76,7 +76,7 @@ show_logo.c
mpio_hd200_hd300.c
#elif defined(SONY_NWZ_LINUX)
nwz_linux.c
#elif defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20) || defined(FIIO_M3K)
#elif defined(HIBY_LINUX) || defined(FIIO_M3K)
rocker_linux.c
#elif defined(RK27_GENERIC) || defined(HM60X) || defined(HM801) \
|| defined(MA9) || defined(MA9C) || defined(MA8) || defined(MA8C) \

View file

@ -10,6 +10,7 @@
* Copyright (C) 2016 by Amaury Pouly
* 2018 by Marcin Bukat
* 2018 by Roman Stolyarov
* 2020 by Solomon Peachy
*
* Based on Rockbox iriver bootloader by Linus Nielsen Feltzing
* and the ipodlinux bootloader by Daniel Palffy and Bernard Leach
@ -60,6 +61,9 @@
#define RBFILE "rockbox.x3ii"
#define ICON_NAME bm_hibyicon
#define OF_NAME "HIBY PLAYER"
#define BUTTON_UP BUTTON_OPTION
#define BUTTON_DOWN BUTTON_HOME
#define BUTTON_SELECT BUTTON_PLAY
#include "bitmaps/hibyicon.h"
#elif defined(XDUOO_X20)
#define ICON_WIDTH 130
@ -67,14 +71,30 @@
#define RBFILE "rockbox.x20"
#define ICON_NAME bm_hibyicon
#define OF_NAME "HIBY PLAYER"
#define BUTTON_UP BUTTON_OPTION
#define BUTTON_DOWN BUTTON_HOME
#define BUTTON_SELECT BUTTON_PLAY
#include "bitmaps/hibyicon.h"
#elif defined(FIIO_M3K)
#define ICON_WIDTH 130
#define ICON_HEIGHT 130
#define RBFILE "rockbox.fiiom3k"
#define ICON_NAME bm_fiioicon
#define BUTTON_LEFT BUTTON_PREV
#define BUTTON_RIGHT BUTTON_NEXT
#define BUTTON_SELECT BUTTON_PLAY
#define OF_NAME "FIIO PLAYER"
#include "bitmaps/fiioicon.h"
#elif defined(EROS_Q)
#define ICON_WIDTH 130
#define ICON_HEIGHT 130
#define RBFILE "rockbox.erosq"
#define ICON_NAME bm_hibyicon
#define OF_NAME "HIBY PLAYER"
#define BUTTON_UP BUTTON_SCROLL_BACK
#define BUTTON_DOWN BUTTON_SCROLL_FWD
#define BUTTON_SELECT BUTTON_PLAY
#include "bitmaps/hibyicon.h"
#else
#error "must define ICON_WIDTH/HEIGHT"
#endif
@ -107,21 +127,8 @@
#error toolsicon has the wrong resolution
#endif
#ifndef BUTTON_LEFT
#define BUTTON_LEFT BUTTON_REW
#endif
#ifndef BUTTON_RIGHT
#define BUTTON_RIGHT BUTTON_FF
#endif
#ifndef BUTTON_SELECT
#define BUTTON_SELECT BUTTON_PLAY
#endif
#ifndef BUTTON_DOWN
#define BUTTON_DOWN BUTTON_NEXT
#endif
#ifndef BUTTON_UP
#define BUTTON_UP BUTTON_PREV
#endif
/* If we started ADB, don't immediately boot into USB mode if we plug in. */
static int adb_running = 0;
/* return icon y position (x is always centered) */
static int get_icon_y(void)
@ -141,7 +148,6 @@ enum boot_mode
BOOT_TOOLS,
BOOT_OF,
BOOT_COUNT,
BOOT_USB, /* special */
BOOT_STOP, /* power down/suspend */
};
@ -199,6 +205,19 @@ static enum boot_mode load_boot_mode(enum boot_mode mode)
return mode;
}
static void mount_storage(int enable)
{
if (enable) {
system("/bin/mkdir -p " BASE_DIR);
if (system("/bin/mount /dev/mmcblk0 " BASE_DIR))
system("/bin/mount /dev/mmcblk0p1 " BASE_DIR);
// XXX possibly invoke sys_serv -> "MOUNT:MOUNT:%s %s", blkdev, mntpoint
} else {
system("/bin/unmount " BASE_DIR);
// XXX possibly invoke sys_serv -> "MOUNT:UNMOUNT:%s %s", mntpoint
}
}
static void save_boot_mode(enum boot_mode mode)
{
int fd = open(BASE_DIR "/.rockbox/rb_bl_mode.txt", O_RDWR | O_CREAT | O_TRUNC);
@ -221,13 +240,12 @@ static enum boot_mode get_boot_mode(void)
#endif
while(true)
{
/* on usb detect, return to usb
* FIXME this is a hack, we need proper usb detection */
if(power_input_status() & POWER_INPUT_USB_CHARGER)
/* on usb detect, immediately boot with last choice */
if(!adb_running && power_input_status() & POWER_INPUT_USB_CHARGER)
{
/* save last choice */
save_boot_mode(mode);
return BOOT_USB;
return mode;
}
/* inactivity detection */
int timeout = last_activity + get_inactivity_tmo();
@ -318,7 +336,7 @@ void error_screen(const char *msg)
lcd_update();
}
int choice_screen(const char *title, bool center, int nr_choices, const char *choices[])
int choice_screen(const char *title, bool center, int nr_choices, const char *choices[], int nr_extra, const char *extra[])
{
int choice = 0;
int max_len = 0;
@ -360,6 +378,14 @@ int choice_screen(const char *title, bool center, int nr_choices, const char *ch
line++;
}
lcd_set_foreground(LCD_RGBPACK(255, 201, 0));
line++;
for (int i = 0 ; i < nr_extra && line < nr_lines ; i++) {
sprintf(buf, "%s", extra[i]);
display_text_center(top_y + h * line, buf);
line++;
}
lcd_update();
/* wait for a key */
@ -370,15 +396,15 @@ int choice_screen(const char *title, bool center, int nr_choices, const char *ch
if(btn & BUTTON_REPEAT)
btn &= ~BUTTON_REPEAT;
/* play -> stop loop and return mode */
if(btn == BUTTON_SELECT || btn == BUTTON_LEFT)
if (btn == BUTTON_SELECT)
{
free(buf);
return btn == BUTTON_SELECT ? choice : -1;
}
/* left/right/up/down: change mode */
if(btn == BUTTON_UP)
if (btn == BUTTON_UP || btn == BUTTON_LEFT)
choice = (choice + nr_choices - 1) % nr_choices;
if(btn == BUTTON_DOWN)
if(btn == BUTTON_DOWN || btn == BUTTON_RIGHT)
choice = (choice + 1) % nr_choices;
}
}
@ -437,7 +463,7 @@ void run_script_menu(void)
entries[nr_entries++] = strdup(ent->d_name);
}
closedir(dir);
int idx = choice_screen("RUN SCRIPT", false, nr_entries, entries);
int idx = choice_screen("RUN SCRIPT", false, nr_entries, entries, 0, NULL);
if(idx >= 0)
run_file(entries[idx]);
for(int i = 0; i < nr_entries; i++)
@ -455,6 +481,7 @@ static void adb(int start)
}
int status;
waitpid(pid, &status, 0);
adb_running = start;
#if 0
if(WIFEXITED(status))
{
@ -471,8 +498,11 @@ static void adb(int start)
static void tools_screen(void)
{
const char *choices[] = {"ADB start", "ADB stop", "Run script", "Restart", "Shutdown"};
int choice = choice_screen("TOOLS MENU", true, 5, choices);
const char *extra[] = { MODEL_NAME, rbversion };
printf("Version: %s\n", rbversion);
printf("%s\n", MODEL_NAME);
const char *choices[] = {"ADB start", "ADB stop", "Run script", "Remount SD", "Restart", "Shutdown", "Recovery", "Back"};
int choice = choice_screen("TOOLS MENU", true, 8, choices, 2, extra);
if(choice == 0)
{
/* run service menu */
@ -492,12 +522,30 @@ static void tools_screen(void)
}
else if(choice == 3)
{
system_reboot();
mount_storage(false);
mount_storage(true);
}
else if(choice == 4)
{
system_reboot();
}
else if(choice == 5)
{
power_off();
}
else if(choice == 6)
{
int fd = open("/proc/jz/reset/reset", O_WRONLY);
if (fd >= 0) {
const char *buf = "recovery\n";
write(fd, buf, strlen(buf));
close(fd);
}
}
else if (choice == 7)
{
return;
}
}
#if 0
@ -555,11 +603,13 @@ int main(int argc, char **argv)
// if(font_id >= 0)
// lcd_setfont(font_id);
mount_storage(true);
/* run all tools menu */
while(true)
{
enum boot_mode mode = get_boot_mode();
if(mode == BOOT_USB || mode == BOOT_OF)
if (mode == BOOT_OF)
{
#if 0
fflush(stdout);
@ -567,7 +617,7 @@ int main(int argc, char **argv)
close(fileno(stdout));
close(fileno(stderr));
#endif
/* for now the only way we have to trigger USB mode it to run the OF */
mount_storage(false);
/* boot OF */
execvp("/usr/bin/hiby_player", argv);
error_screen("Cannot boot OF");
@ -580,12 +630,14 @@ int main(int argc, char **argv)
else if(mode == BOOT_ROCKBOX)
{
fflush(stdout);
mount_storage(true);
system("/bin/cp " BASE_DIR "/.rockbox/" RBFILE " /tmp");
system("/bin/chmod +x /tmp/" RBFILE);
execl("/tmp/" RBFILE, RBFILE, NULL);
printf("execvp failed: %s\n", strerror(errno));
/* fallback to OF in case of failure */
error_screen("Cannot boot Rockbox");
sleep(5 * HZ);
sleep(2 * HZ);
}
else
{

View file

@ -115,7 +115,7 @@ target/hosted/sonynwz/nvp-nwz.c
target/hosted/sonynwz/nwz-db.c
#endif
#if ((defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20) || defined(FIIO_M3K)) && !defined(SIMULATOR))
#if ((defined(HIBY_LINUX) || defined(FIIO_M3K)) && !defined(SIMULATOR))
drivers/lcd-memframe.c
target/hosted/alsa-controls.c
target/hosted/pcm-alsa.c
@ -155,6 +155,14 @@ target/hosted/fiio/system-fiio.c
target/hosted/fiio/usb-fiio.c
#endif
#if (defined(EROS_Q)) && !defined(SIMULATOR)
target/hosted/aigo/button-erosq.c
target/hosted/aigo/debug-erosq.c
target/hosted/aigo/power-erosq.c
target/hosted/aigo/powermgmt-erosq.c
target/hosted/aigo/usb-erosq.c
#endif
#if defined(SAMSUNG_YPR0) && !defined(SIMULATOR)
drivers/adc-as3514.c
#if (CONFIG_RTC == RTC_AS3514)
@ -513,6 +521,8 @@ drivers/audio/rocker_codec.c
drivers/audio/xduoolinux_codec.c
#elif defined(HAVE_FIIO_LINUX_CODEC) && !defined(SIMULATOR)
drivers/audio/fiiolinux_codec.c
#elif defined(HAVE_EROSQ_LINUX_CODEC) && !defined(SIMULATOR)
drivers/audio/erosqlinux_codec.c
#elif defined(HAVE_SDL_AUDIO)
drivers/audio/sdl.c

View file

@ -15,8 +15,8 @@ mempcpy.c
defined(CREATIVE_ZVx) || defined(SANSA_CONNECT) || defined(SANSA_FUZEPLUS) || \
defined(COWON_D2) || defined(MINI2440) || defined(SAMSUNG_YPR0) || \
defined(SAMSUNG_YPR1) || defined(DX50) || defined(DX90) || (defined(MROBE_500) && !defined(LCD_USE_DMA)) || \
defined(CREATIVE_ZEN) || defined(CREATIVE_ZENXFI) || defined(SONY_NWZ_LINUX) || defined(AGPTEK_ROCKER) || \
defined(XDUOO_X3II) || defined(XDUOO_X20) || defined(FIIO_M3K)) && \
defined(CREATIVE_ZEN) || defined(CREATIVE_ZENXFI) || defined(SONY_NWZ_LINUX) || defined(HIBY_LINUX) || \
defined(FIIO_M3K)) && \
!defined(SIMULATOR)
#if LCD_DEPTH >= 24
lcd-as-memframe-24bit.c

View file

@ -0,0 +1,181 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
*
* Copyright (c) 2018 Marcin Bukat
* Copyright (c) 2020 Solomon Peachy
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
//#define LOGF_ENABLE
#include "config.h"
#include "audio.h"
#include "audiohw.h"
#include "button.h"
#include "system.h"
#include "kernel.h"
#include "panic.h"
#include "sysfs.h"
#include "alsa-controls.h"
#include "pcm-alsa.h"
#include "pcm_sw_volume.h"
#include "logf.h"
static int fd_hw;
static int inited = 0;
static long int vol_l_hw = 255;
static long int vol_r_hw = 255;
static long int last_ps = 0;
static void hw_open(void)
{
fd_hw = open("/dev/snd/controlC0", O_RDWR);
if(fd_hw < 0)
panicf("Cannot open '/dev/snd/controlC0'");
}
static void hw_close(void)
{
close(fd_hw);
}
void audiohw_mute(int mute)
{
logf("mute %d", mute);
if(mute)
{
long int ps0 = 0;
alsa_controls_set_ints("Output Port Switch", 1, &ps0);
}
else
{
last_ps = 0;
erosq_get_outputs();
}
}
int erosq_get_outputs(void) {
long int ps = 0; // Muted, if nothing is plugged in!
int status = 0;
if (!inited) return ps;
const char * const sysfs_lo_switch = "/sys/class/switch/lineout/state";
const char * const sysfs_hs_switch = "/sys/class/switch/headset/state";
sysfs_get_int(sysfs_lo_switch, &status);
if (status) ps = 1; // lineout
sysfs_get_int(sysfs_hs_switch, &status);
if (status) ps = 2; // headset
erosq_set_output(ps);
return ps;
}
void erosq_set_output(int ps)
{
if (!inited) return;
if (last_ps != ps)
{
logf("set out %d/%d", ps, last_ps);
/* Output port switch */
last_ps = ps;
alsa_controls_set_ints("Output Port Switch", 1, &last_ps);
audiohw_set_volume(vol_l_hw, vol_r_hw);
}
}
void audiohw_preinit(void)
{
logf("hw preinit");
alsa_controls_init();
hw_open();
audiohw_mute(true); /* Start muted to avoid the POP */
inited = 1;
}
void audiohw_postinit(void)
{
logf("hw postinit");
erosq_set_output(erosq_get_outputs()); /* Unmute */
}
void audiohw_close(void)
{
logf("hw close");
inited = 0;
hw_close();
alsa_controls_close();
}
void audiohw_set_frequency(int fsel)
{
(void)fsel;
}
void audiohw_set_volume(int vol_l, int vol_r)
{
logf("hw vol %d %d", vol_l, vol_r);
long l,r;
vol_l_hw = vol_l;
vol_r_hw = vol_r;
if (lineout_inserted()) {
l = 0;
r = 0;
} else {
l = vol_l_hw;
r = vol_r_hw;
}
/* SW volume for <= 1.0 gain, HW at unity, < -740 == MUTE */
int sw_volume_l = l <= -740 ? PCM_MUTE_LEVEL : MIN(l, 0);
int sw_volume_r = r <= -740 ? PCM_MUTE_LEVEL : MIN(r, 0);
pcm_set_master_volume(sw_volume_l, sw_volume_r);
}
void audiohw_set_lineout_volume(int vol_l, int vol_r)
{
long l,r;
logf("lo vol %d %d", vol_l, vol_r);
(void)vol_l;
(void)vol_r;
if (lineout_inserted()) {
l = 0;
r = 0;
} else {
l = vol_l_hw;
r = vol_r_hw;
}
int sw_volume_l = l <= -740 ? PCM_MUTE_LEVEL : MIN(l, 0);
int sw_volume_r = r <= -740 ? PCM_MUTE_LEVEL : MIN(r, 0);
pcm_set_master_volume(sw_volume_l, sw_volume_r);
}

View file

@ -226,6 +226,8 @@ struct sound_settings_info
#include "xduoolinux_codec.h"
#elif defined(HAVE_FIIO_LINUX_CODEC)
#include "fiiolinux_codec.h"
#elif defined(HAVE_EROSQ_LINUX_CODEC)
#include "erosqlinux_codec.h"
#endif
/* convert caps into defines */

View file

@ -162,6 +162,7 @@
#define XDUOO_X3II_PAD 69
#define XDUOO_X20_PAD 70
#define FIIO_M3K_PAD 71
#define EROSQ_PAD 72
/* CONFIG_REMOTE_KEYPAD */
#define H100_REMOTE 1
@ -602,6 +603,8 @@ Lyre prototype 1 */
#include "config/xduoox20.h"
#elif defined(FIIO_M3K)
#include "config/fiiom3k.h"
#elif defined(EROS_Q)
#include "config/aigoerosq.h"
#else
//#error "unknown hwardware platform!"
#endif

View file

@ -17,6 +17,7 @@
#define CONFIG_PLATFORM (PLATFORM_HOSTED)
#endif
#define HIBY_LINUX
#define HAVE_FPU
/* define this if you have a colour LCD */

View file

@ -0,0 +1,132 @@
/*
* This config file is for the AIGO EROS Q / EROS K (and its clones)
*/
/* For Rolo and boot loader */
#define MODEL_NUMBER 113
#define MODEL_NAME "AIGO Eros Q"
/* LCD dimensions */
#define LCD_WIDTH 320
#define LCD_HEIGHT 240
/* sqrt(240^2 + 320^2) / 2.0 = 200 */
#define LCD_DPI 200
#ifndef SIMULATOR
#define CONFIG_PLATFORM (PLATFORM_HOSTED)
#endif
#define HIBY_LINUX
#define HAVE_FPU
/* define this if you have a colour LCD */
#define HAVE_LCD_COLOR
#define HAVE_LCD_ENABLE
/* Define this if the LCD can shut down */
#define HAVE_LCD_SHUTDOWN
/* define this if you want album art for this target */
#define HAVE_ALBUMART
/* define this to enable bitmap scaling */
#define HAVE_BMP_SCALING
/* define this to enable JPEG decoding */
#define HAVE_JPEG
/* define this if you have access to the quickscreen */
#define HAVE_QUICKSCREEN
/* define this if you would like tagcache to build on this target */
#define HAVE_TAGCACHE
#define LCD_DEPTH 32
/* Check that but should not matter */
#define LCD_PIXELFORMAT XRGB8888
#define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS
/* Main LCD backlight brightness range and defaults: the backlight driver
* has levels from 0 to 255. But 0 is off so start at 1.
*/
#define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 255
#define BRIGHTNESS_STEP 5
#define DEFAULT_BRIGHTNESS_SETTING 70
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
/* define this if you have a real-time clock */
#define CONFIG_RTC APPLICATION
/* The number of bytes reserved for loadable codecs */
#define CODEC_SIZE 0x80000
/* The number of bytes reserved for loadable plugins */
#define PLUGIN_BUFFER_SIZE 0x100000
#define HAVE_HEADPHONE_DETECTION
#define HAVE_LINEOUT_DETECTION
/* KeyPad configuration for plugins */
#define CONFIG_KEYPAD EROSQ_PAD
/* define this if the target has volume keys which can be used in the lists */
#define HAVE_VOLUME_IN_LIST
#ifndef SIMULATOR
/* We have usb power and can detect usb but it is handled by Linux */
#define HAVE_USB_POWER
#endif
#define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE
/* Linux controlls charging, we can monitor */
#define CONFIG_CHARGING CHARGING_MONITOR
/* define this if the hardware can be powered off while charging */
#define HAVE_POWEROFF_WHILE_CHARGING
/* same dimensions as gigabeats */
#define CONFIG_LCD LCD_INGENIC_LINUX
/* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF
/* Define this to the CPU frequency */
#define CPU_FREQ 108000000
/* No special storage */
#define CONFIG_STORAGE STORAGE_HOSTFS
#define HAVE_STORAGE_FLUSH
/* Battery */
#define BATTERY_TYPES_COUNT 1
/* Audio codec */
#define HAVE_EROSQ_LINUX_CODEC
/* Rockbox has to handle the volume level */
#define HAVE_SW_VOLUME_CONTROL
/* We don't have hardware controls */
#define HAVE_SW_TONE_CONTROLS
/* HW codec is flexible */
#define HW_SAMPR_CAPS SAMPR_CAP_ALL_192
/* Battery */
#define BATTERY_CAPACITY_DEFAULT 2000 /* default battery capacity */
#define BATTERY_CAPACITY_MIN 2000 /* min. capacity selectable */
#define BATTERY_CAPACITY_MAX 2000 /* max. capacity selectable */
#define BATTERY_CAPACITY_INC 0 /* capacity increment */
/* ROLO */
#define BOOTFILE_EXT "erosq"
#define BOOTFILE "rockbox." BOOTFILE_EXT
#define BOOTDIR "/.rockbox"

View file

@ -17,6 +17,8 @@
#define CONFIG_PLATFORM (PLATFORM_HOSTED)
#endif
#define HAVE_FPU
#define HW_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_48 | SAMPR_CAP_88 | SAMPR_CAP_96 | SAMPR_CAP_176 | SAMPR_CAP_192)
/* define this if you have a bitmap LCD display */

View file

@ -17,6 +17,8 @@
#define CONFIG_PLATFORM (PLATFORM_HOSTED)
#endif
#define HIBY_LINUX
#define HAVE_FPU
/* define this if you have a colour LCD */

View file

@ -17,6 +17,7 @@
#define CONFIG_PLATFORM (PLATFORM_HOSTED)
#endif
#define HIBY_LINUX
#define HAVE_FPU
/* define this if you have a colour LCD */

View file

@ -0,0 +1,13 @@
#ifndef __EROSQLINUX_CODEC__
#define __EROSQLINUX_CODEC__
#define AUDIOHW_CAPS (LINEOUT_CAP)
AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -74, 6, -25)
void audiohw_mute(int mute);
void erosq_set_output(int ps);
int erosq_get_outputs(void);
#endif

View file

@ -42,7 +42,7 @@
#if !defined(APPLICATION) || defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || \
defined(DX50) || defined(DX90) || defined(SONY_NWZ_LINUX) || \
defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20) || defined(FIIO_M3K)
defined(HIBY_LINUX) || defined(FIIO_M3K)
#if defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1)
#define HOME_DIR "/mnt/media0"
@ -51,7 +51,7 @@
#elif defined(DX50) || defined(DX90)
/* Where to put save files like recordings, playlists, screen dumps ...*/
#define HOME_DIR "/mnt/sdcard"
#elif defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20)
#elif defined(HIBY_LINUX)
#define HOME_DIR "/mnt/sd_0"
#elif defined(FIIO_M3K)
#define HOME_DIR "/mnt"
@ -92,7 +92,7 @@
#define VIEWERS_DIR PLUGIN_DIR "/viewers"
#if defined(APPLICATION) && !(defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || \
defined(DX50) || defined(DX90) || defined(SONY_NWZ_LINUX) || defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20))
defined(DX50) || defined(DX90) || defined(SONY_NWZ_LINUX) || defined(HIBY_LINUX))
#define PLUGIN_DATA_DIR ROCKBOX_DIR "/rocks.data"
#define PLUGIN_GAMES_DATA_DIR PLUGIN_DATA_DIR
#define PLUGIN_APPS_DATA_DIR PLUGIN_DATA_DIR

View file

@ -347,7 +347,7 @@ static inline void cpu_boost_unlock(void)
#ifndef SIMULATOR
bool dbg_ports(void);
#endif
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SONY_NWZ_LINUX) || defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20)
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SONY_NWZ_LINUX) || defined(HIBY_LINUX) || defined(FIIO_M3K)
bool dbg_hw_info(void);
#endif

View file

@ -85,7 +85,7 @@
/* compiled-in font */
extern struct font sysfont;
#if !defined(BOOTLOADER) || defined(SONY_NWZ_LINUX)
#if !defined(BOOTLOADER) || defined(SONY_NWZ_LINUX) || defined(HIBY_LINUX) || defined(FIIO_M3K)
struct buflib_alloc_data {
struct font font; /* must be the first member! */

View file

View file

@ -0,0 +1,188 @@
/***************************************************************************
* __________ __ ___
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2017 Marcin Bukat
* Copyright (C) 2020 Solomon Peachy
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include <poll.h>
//#include <dir.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <linux/input.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include "sysfs.h"
#include "button.h"
#include "button-target.h"
#include "panic.h"
#include "kernel.h"
#include "backlight.h"
#include "backlight-target.h"
#include "erosqlinux_codec.h"
#define NR_POLL_DESC 3
static struct pollfd poll_fds[NR_POLL_DESC];
static int button_map(int keycode)
{
switch(keycode)
{
case KEY_POWER:
return BUTTON_POWER;
case KEY_MENU:
return BUTTON_MENU;
case KEY_BACK:
return BUTTON_BACK;
case KEY_NEXTSONG:
return BUTTON_PREV;
case KEY_PREVIOUSSONG:
return BUTTON_NEXT; // Yes, backwards!
case KEY_PLAYPAUSE:
return BUTTON_PLAY;
case KEY_LEFT:
return BUTTON_SCROLL_BACK;
case KEY_RIGHT:
return BUTTON_SCROLL_FWD;
case KEY_VOLUMEUP:
return BUTTON_VOL_UP;
case KEY_VOLUMEDOWN:
return BUTTON_VOL_DOWN;
default:
return 0;
}
}
void button_init_device(void)
{
const char * const input_devs[] = {
"/dev/input/event0", // Rotary encoder
"/dev/input/event1" // Keys
};
for(int i = 0; i < NR_POLL_DESC; i++)
{
int fd = open(input_devs[i], O_RDWR | O_CLOEXEC);
if(fd < 0)
{
panicf("Cannot open input device: %s\n", input_devs[i]);
}
poll_fds[i].fd = fd;
poll_fds[i].events = POLLIN;
poll_fds[i].revents = 0;
}
}
int button_read_device(void)
{
static int button_bitmap = 0;
struct input_event event;
// FIXME TODO: Make this work via HAVE_SCROLL_WHEEL instead
/* Wheel gives us press+release back to back, clear them after time elapses */
static long last_tick = 0;
if (button_bitmap & (BUTTON_SCROLL_BACK|BUTTON_SCROLL_FWD) &&
current_tick - last_tick >= 2)
{
button_bitmap &= ~(BUTTON_SCROLL_BACK|BUTTON_SCROLL_FWD);
}
/* check if there are any events pending and process them */
while(poll(poll_fds, NR_POLL_DESC, 0))
{
for(int i = 0; i < NR_POLL_DESC; i++)
{
/* read only if non-blocking */
if(poll_fds[i].revents & POLLIN)
{
int size = read(poll_fds[i].fd, &event, sizeof(event));
if(size == (int)sizeof(event))
{
int keycode = event.code;
/* event.value == 1 means press
* event.value == 0 means release
*/
bool press = event.value ? true : false;
/* map linux event code to rockbox button bitmap */
if(press)
{
int bmap = button_map(keycode);
if (bmap & (BUTTON_SCROLL_BACK|BUTTON_SCROLL_FWD))
last_tick = current_tick;
button_bitmap |= bmap;
}
else
{
/* Wheel gives us press+release back to back; ignore the release */
int bmap = button_map(keycode) & ~(BUTTON_SCROLL_BACK|BUTTON_SCROLL_FWD);
button_bitmap &= ~bmap;
}
}
}
}
}
return button_bitmap;
}
bool headphones_inserted(void)
{
#ifdef BOOTLOADER
int ps = 0;
#else
int ps = erosq_get_outputs();
#endif
return (ps == 2);
}
bool lineout_inserted(void)
{
#ifdef BOOTLOADER
int ps = 0;
#else
int ps = erosq_get_outputs();
#endif
return (ps == 1);
}
void button_close_device(void)
{
/* close descriptors */
for(int i = 0; i < NR_POLL_DESC; i++)
{
close(poll_fds[i].fd);
}
}

View file

@ -0,0 +1,45 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2020 Solomon Peachy
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef _BUTTON_TARGET_H_
#define _BUTTON_TARGET_H_
/* Main unit's buttons */
#define BUTTON_POWER 0x00000001
#define BUTTON_MENU 0x00000002
#define BUTTON_BACK 0x00000004
#define BUTTON_PLAY 0x00000008
#define BUTTON_NEXT 0x00000010
#define BUTTON_PREV 0x00000020
#define BUTTON_VOL_UP 0x00000040
#define BUTTON_VOL_DOWN 0x00000080
#define BUTTON_SCROLL_BACK 0x00000100
#define BUTTON_SCROLL_FWD 0x00000200
#define BUTTON_MAIN (BUTTON_POWER | BUTTON_MENU | BUTTON_BACK | BUTTON_PREV | \
BUTTON_NEXT | BUTTON_PLAY | BUTTON_VOL_UP | BUTTON_VOL_DOWN | BUTTON_SCROLL_BACK | BUTTON_SCROLL_FWD)
#define BUTTON_LEFT BUTTON_PREV
#define BUTTON_RIGHT BUTTON_NEXT
/* Software power-off */
#define POWEROFF_BUTTON BUTTON_POWER
#define POWEROFF_COUNT 25
#endif /* _BUTTON_TARGET_H_ */

View file

@ -0,0 +1 @@
#include "../agptek/debug-agptek.c"

View file

@ -0,0 +1,49 @@
# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/
# $Id$
#
INCLUDES += -I$(FIRMDIR)/include -I$(FIRMDIR)/export $(TARGET_INC) -I$(BUILDDIR) -I$(APPSDIR)
SIMFLAGS += $(INCLUDES) $(DEFINES) -DHAVE_CONFIG_H $(GCCOPTS)
# bootloader build is sligtly different
ifneq (,$(findstring bootloader,$(APPSDIR)))
SRC += $(call preprocess, $(APPSDIR)/SOURCES)
CLEANOBJS += $(BUILDDIR)/bootloader.*
endif #bootloader
.SECONDEXPANSION: # $$(OBJ) is not populated until after this
ifneq (,$(findstring bootloader,$(APPSDIR)))
# bootloader build
$(BUILDDIR)/bootloader.elf : $$(OBJ) $(FIRMLIB) $(CORE_LIBS)
$(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -o $@ $(OBJ) \
-L$(BUILDDIR)/firmware -lfirmware \
-L$(BUILDDIR)/lib $(call a2lnk,$(CORE_LIBS)) \
$(LDOPTS) $(GLOBAL_LDOPTS) -Wl,--gc-sections -Wl,-Map,$(BUILDDIR)/bootloader.map
$(BUILDDIR)/$(BINARY): $(BUILDDIR)/bootloader.elf
$(call PRINTS,OC $(@F))$(call objcopy,$^,$@)
else
# rockbox app build
$(BUILDDIR)/rockbox.elf : $$(OBJ) $(FIRMLIB) $(VOICESPEEXLIB) $(CORE_LIBS)
$(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Os -o $@ $(OBJ) \
-L$(BUILDDIR)/firmware -lfirmware \
-L$(RBCODEC_BLD)/codecs $(call a2lnk, $(VOICESPEEXLIB)) \
-L$(BUILDDIR)/lib $(call a2lnk,$(CORE_LIBS)) \
$(LDOPTS) $(GLOBAL_LDOPTS) -Wl,-Map,$(BUILDDIR)/rockbox.map
$(BUILDDIR)/$(BINARY): $(BUILDDIR)/rockbox.elf
$(call PRINTS,OC $(@F))$(call objcopy,$^,$@)
endif

View file

@ -0,0 +1,32 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2016 Amaury Pouly
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef __LCD_TARGET_H__
#define __LCD_TARGET_H__
/* needs special ioctl() to redraw updated framebuffer content */
#define LCD_OPTIMIZED_UPDATE
#define LCD_OPTIMIZED_UPDATE_RECT
extern fb_data *framebuffer; /* see lcd-erosq.c */
#define LCD_FRAMEBUF_ADDR(col, row) (framebuffer + (row)*LCD_WIDTH + (col))
extern void lcd_set_active(bool active);
#endif /* __LCD_TARGET_H__ */

View file

@ -0,0 +1,74 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2017 by Marcin Bukat
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include <sys/types.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include "system.h"
#include "power-erosq.h"
#include "power.h"
#include "panic.h"
#include "sysfs.h"
const char * const sysfs_bat_voltage =
"/sys/class/power_supply/battery/voltage_now";
const char * const sysfs_bat_capacity =
"/sys/class/power_supply/battery/capacity";
const char * const sysfs_bat_status =
"/sys/class/power_supply/battery/status";
const char * const sysfs_pow_supply =
"/sys/class/power_supply/usb/present";
unsigned int erosq_power_input_status(void)
{
int present = 0;
sysfs_get_int(sysfs_pow_supply, &present);
return present ? POWER_INPUT_USB_CHARGER : POWER_INPUT_NONE;
}
bool erosq_power_charging_status(void)
{
char buf[12] = {0};
sysfs_get_string(sysfs_bat_status, buf, sizeof(buf));
return (strncmp(buf, "Charging", 8) == 0);
}
unsigned int erosq_power_get_battery_voltage(void)
{
int battery_voltage;
sysfs_get_int(sysfs_bat_voltage, &battery_voltage);
return battery_voltage/1000;
}
unsigned int erosq_power_get_battery_capacity(void)
{
int battery_capacity;
sysfs_get_int(sysfs_bat_capacity, &battery_capacity);
return battery_capacity;
}

View file

@ -0,0 +1,31 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2017 by Marcin Bukat
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef _POWER_XDUOO_H_
#define _POWER_XDUOO_H_
#include <stdbool.h>
#include "config.h"
unsigned int erosq_power_input_status(void);
bool erosq_power_charging_status(void);
unsigned int erosq_power_get_battery_voltage(void);
unsigned int erosq_power_get_battery_capacity(void);
#endif /* _POWER_XDUOO_H_ */

View file

@ -0,0 +1,61 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2017 Marcin Bukat
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include "powermgmt.h"
#include "power.h"
#include "power-erosq.h"
const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] =
{
3470
};
/* the OF shuts down at this voltage */
const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] =
{
3400
};
/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */
const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] =
{
{ 3400, 3639, 3697, 3723, 3757, 3786, 3836, 3906, 3980, 4050, 4159 }
};
/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */
const unsigned short const percent_to_volt_charge[11] =
{
3485, 3780, 3836, 3857, 3890, 3930, 3986, 4062, 4158, 4185, 4196
};
unsigned int power_input_status(void)
{
/* POWER_INPUT_USB_CHARGER, POWER_INPUT_NONE */
return erosq_power_input_status();
}
int _battery_voltage(void)
{
return erosq_power_get_battery_voltage();
}
bool charging_state(void)
{
return erosq_power_charging_status();
}

View file

@ -0,0 +1,28 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2017 Marcin Bukat
* Copyright (C) 2016 Amaury Pouly
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef __SYSTEM_TARGET_H__
#define __SYSTEM_TARGET_H__
#include "kernel-unix.h"
#include "system-hosted.h"
#define NEED_GENERIC_BYTESWAPS
#endif /* __SYSTEM_TARGET_H__ */

View file

@ -0,0 +1,118 @@
/***************************************************************************
* __________ __ ___
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2018 by Marcin Bukat
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include <stdlib.h>
#include <sys/mount.h>
#include <string.h>
#include "config.h"
#include "disk.h"
#include "usb.h"
#include "sysfs.h"
#include "power.h"
#include "power-erosq.h"
static bool adb_mode = false;
/* TODO: implement usb detection properly */
int usb_detect(void)
{
return power_input_status() == POWER_INPUT_USB_CHARGER ? USB_INSERTED : USB_EXTRACTED;
}
void usb_enable(bool on)
{
/* Ignore usb enable/disable when ADB is enabled so we can fireup adb shell
* without entering ums mode
*/
if (!adb_mode)
{
sysfs_set_int("/sys/class/android_usb/android0/enable", on ? 1 : 0);
}
}
/* This is called by usb thread after usb extract in order to return
* regular FS access
*
* returns the # of successful mounts
*/
int disk_mount_all(void)
{
const char *dev[] = {"/dev/mmcblk0p1", "/dev/mmcblk0"};
const char *fs[] = {"vfat", "exfat"};
sysfs_set_string("/sys/class/android_usb/android0/f_mass_storage/lun/file", "");
for (int i=0; i<2; i++)
{
for (int j=0; j<2; j++)
{
if (mount(dev[i], "/mnt/sd_0", fs[j], 0, NULL) == 0)
{
return 1;
}
}
}
return 0;
}
/* This is called by usb thread after all threads ACKs usb inserted message
*
* returns the # of successful unmounts
*/
int disk_unmount_all(void)
{
if (umount("/mnt/sd_0") == 0)
{
sysfs_set_string("/sys/class/android_usb/android0/f_mass_storage/lun/file", "/dev/mmcblk0");
return 1;
}
return 0;
}
void usb_init_device(void)
{
char functions[32] = {0};
/* Check if ADB was activated in bootloader */
sysfs_get_string("/sys/class/android_usb/android0/functions", functions, sizeof(functions));
adb_mode = (strstr(functions, "adb") == NULL) ? false : true;
usb_enable(false);
if (adb_mode)
{
sysfs_set_string("/sys/class/android_usb/android0/functions", "mass_storage,adb");
sysfs_set_string("/sys/class/android_usb/android0/idVendor", "18D1");
sysfs_set_string("/sys/class/android_usb/android0/idProduct", "D002");
}
else
{
sysfs_set_string("/sys/class/android_usb/android0/functions", "mass_storage");
sysfs_set_string("/sys/class/android_usb/android0/idVendor", "C502");
sysfs_set_string("/sys/class/android_usb/android0/idProduct", "0023");
}
sysfs_set_string("/sys/class/android_usb/android0/iManufacturer", "Rockbox.org");
sysfs_set_string("/sys/class/android_usb/android0/iProduct", "Rockbox media player");
sysfs_set_string("/sys/class/android_usb/android0/iSerial", "0123456789ABCDEF");
sysfs_set_string("/sys/class/android_usb/android0/f_mass_storage/inquiry_string", "ErosQ 0100");
}

View file

@ -37,7 +37,7 @@
#include "logf.h"
#if !(defined(BOOTLOADER) || defined(CHECKWPS) || defined(SIMULATOR))
#if (defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20))
#if defined(HIBY_LINUX)
#define PIVOT_ROOT "/mnt/sd_0"
#elif defined(FIIO_M3K)
#define PIVOT_ROOT "/mnt" // XXX check this!
@ -56,8 +56,8 @@ static const char rbhome[] = HOME_DIR;
#endif
#if !(defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || defined(DX50) || \
defined(SONY_NWZ_LINUX) || defined(DX90) || defined(AGPTEK_ROCKER) || \
defined(XDUOO_X3II) || defined(XDUOO_X20) || defined(FIIO_M3K) || defined(FIIO_M3K_PRO)) && \
defined(SONY_NWZ_LINUX) || defined(DX90) || defined(HIBY_LINUX) || \
defined(FIIO_M3K)) && \
!defined(__PCTOOL__)
/* Special dirs are user-accessible (and user-writable) dirs which take priority
* over the ones where Rockbox is installed to. Classic example would be

View file

@ -41,4 +41,3 @@
#define POWEROFF_COUNT 25
#endif /* _BUTTON_TARGET_H_ */

View file

@ -448,6 +448,10 @@ $releasenotes="/wiki/ReleaseNotes315";
name => 'FiiO M3K',
status => 1,
},
'erosq' => {
name => 'AIGO EROS Q / K',
status => 1,
},
'ihifi770' => {
name => 'Xuelin iHIFI 770',
status => 2,

32
tools/configure vendored
View file

@ -1589,7 +1589,8 @@ cat <<EOF
==AgpTek== 252) 800 227) NW-A20 series
240) Rocker 228) NWZ-A860 series
==FiiO== 229) NWZ-S750 series
244) M3K
==AIGO== 244) M3K
245) Eros Q / K
EOF
@ -4056,7 +4057,7 @@ fi
t_cpu="hosted"
t_manufacturer="xduoo"
t_model="xduoo_x3ii"
# sysfont="20-Terminus-Bold"
sysfont="16-Terminus"
;;
243|xduoox20)
@ -4079,7 +4080,7 @@ fi
t_cpu="hosted"
t_manufacturer="xduoo"
t_model="xduoo_x20"
# sysfont="20-Terminus-Bold"
sysfont="16-Terminus"
;;
244|fiiom3k)
@ -4102,7 +4103,30 @@ fi
t_manufacturer="fiio"
t_model="m3k"
mipsellinuxcc
# sysfont="20-Terminus-Bold"
sysfont="16-Terminus"
;;
245|erosq)
target_id=113
application=yes
app_type="erosq"
modelname="erosq"
target="EROS_Q"
memory=8
mipsellinuxcc
tool="cp "
boottool="cp "
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
bmp2rb_native="$rootdir/tools/bmp2rb -f 10"
output="rockbox.erosq"
bootoutput="bootloader.erosq"
appextra="recorder:gui:hosted"
plugins="yes"
# architecture, manufacturer and model for the target-tree build
t_cpu="hosted"
t_manufacturer="aigo"
t_model="erosq"
sysfont="16-Terminus"
;;
250|ihifi770c)

View file

@ -38,6 +38,10 @@ if ($model eq 'rocker') {
@ubiopts = ("-e", "124KiB", "-c", "1024", "-m", "2048", "-j", "8192KiB", "-U");
} elsif ($model eq 'x20') {
@ubiopts = ("-e", "124KiB", "-c", "1024", "-m", "2048", "-j", "8192KiB", "-U");
} elsif ($model eq 'eros_q') {
@ubiopts = ("-e", "124KiB", "-c", "1024", "-m", "2048", "-j", "8192KiB", "-U");
} elsif ($model eq 'm3k') {
@ubiopts = ("-e", "124KiB", "-c", "2048", "-m", "2048", "-j", "8192KiB", "-U");
} else {
die ("Unknown hiby model: $model\n");
}
@ -81,7 +85,6 @@ while (<UPDATE>) {
if ($rootfs_found) {
if (/file_path=(.*)/) {
$ubiname = basename($1);
$ubiname =~ tr/[a-z]/[A-Z]/;
last;
}
} else {
@ -92,7 +95,11 @@ while (<UPDATE>) {
}
close UPDATE;
die("can't locate rootfs image") if (! -e "$isowork/$ubiname");
if (! -e "$isowork/$ubiname") {
$ubiname =~ tr/[a-z]/[A-Z]/;
die("can't locate rootfs image ($ubiname)") if (! -e "$isowork/$ubiname");
}
$ubiname = "$isowork/$ubiname";
### Extract RootFS
@ -102,6 +109,7 @@ mkdir($rootfsdir) || die ("Can't create '$rootfsdir'");
@sysargs = ("ubireader_extract_files", "-k", "-o", $rootfsdir, $ubiname);
system(@sysargs);
# exit(0);
### Mangle RootFS
# Generate rb_bootloader.sh
@ -109,19 +117,74 @@ my $rbbasename = basename($rbbname);
my $bootloader_sh =
"#!/bin/sh
mount /dev/mmcblk0 /mnt/sd_0 &>/dev/null || \
mount /dev/mmcblk0p1 /mnt/sd_0 &>/dev/null
#mkdir -p /mnt/sd_0
#
#mount /dev/mmcblk0 /mnt/sd_0 &>/dev/null || \
#mount /dev/mmcblk0p1 /mnt/sd_0 &>/dev/null
killall $rbbasename
killall -9 $rbbasename
killall hiby_player &>/dev/null
killall -9 hiby_player &>/dev/null
killall $rbbasename &>/dev/null
killall -9 $rbbasename &>/dev/null
# /etc/init.d/K90adb start
# Rockbox launcher!
/usr/bin/$rbbasename
sleep 1
reboot
";
";
open FILE, ">$rootfsdir/usr/bin/hiby_player.sh" || die ("can't write bootloader script!");
print FILE $bootloader_sh;
close FILE;
chmod 0755, "$rootfsdir/usr/bin/hiby_player.sh";
# Auto mount/unmount external USB drives
open FILE, ">>$rootfsdir/etc/mdev.conf" || die ("can't access mdev conf!");
print FILE "sd[a-z][0-9]+ 0:0 664 @ /etc/rb_inserting.sh\n";
print FILE "mmcblk[0-9]p[0-9] 0:0 664 @ /etc/rb_inserting.sh\n";
print FILE "mmcblk[0-9] 0:0 664 @ /etc/rb_inserting.sh\n";
print FILE "sd[a-z] 0:0 664 \$ /etc/rb_removing.sh";
print FILE "mmcblk[0-9] 0:0 664 \$ /etc/rb_removing.sh\n";
close FILE;
my $insert_sh = '
#!/bin/sh
# $MDEV is the device
case $MDEV in
mmc*)
MNT_POINT=/mnt/sd_0
;;
sd*)
MNT_POINT=/mnt/sd_0/USB
;;
esac
if [ ! -d $MNT_POINT ];then
mkdir $MNT_POINT
fi
mount $MDEV $MNT_POINT
';
open FILE, ">$rootfsdir/etc/rb_inserting.sh" || die("can't write hotplug helpers!");
print FILE $insert_sh;
close FILE;
chmod 0755, "$rootfsdir/etc/rb_inserting.sh";
my $remove_sh = '
#!/bin/sh
# $MDEV is the device
sync;
unmount -f $MDEV;
';
open FILE, ">$rootfsdir/etc/rb_removing.sh" || die("can't write hotplug helpers!");
print FILE $remove_sh;
close FILE;
chmod 0755, "$rootfsdir/etc/rb_removing.sh";
# Copy bootloader over
@sysargs=("cp", "$rbbname", "$rootfsdir/usr/bin/$rbbasename");

View file

@ -104,6 +104,8 @@ ifneq (,$(findstring bootloader,$(APPSDIR)))
include $(ROOTDIR)/firmware/target/hosted/agptek/rocker.make
else ifneq (,$(findstring xduoo,$(APP_TYPE)))
include $(ROOTDIR)/firmware/target/hosted/xduoo/xduoo.make
else ifneq (,$(findstring erosq,$(APP_TYPE)))
include $(ROOTDIR)/firmware/target/hosted/aigo/erosq.make
else ifneq (,$(findstring fiio,$(APP_TYPE)))
include $(ROOTDIR)/firmware/target/hosted/fiio/fiio.make
else
@ -156,6 +158,10 @@ else # core
include $(ROOTDIR)/firmware/target/hosted/fiio/fiio.make
endif
ifneq (,$(findstring erosq,$(APP_TYPE)))
include $(ROOTDIR)/firmware/target/hosted/aigo/erosq.make
endif
ifneq (,$(findstring android_ndk, $(APP_TYPE)))
include $(ROOTDIR)/firmware/target/hosted/ibasso/android_ndk.make
else

View file

@ -83,7 +83,7 @@ wps.800x480x(16|24): cabbiev2.800x480x16.wps
wps.480x800x(16|24): cabbiev2.480x800x16.wps
wps.400x240x(16|24): cabbiev2.400x240x16.wps
wps.320x480x(16|24): cabbiev2.320x480x16.wps
wps.320x240x(16|24): cabbiev2.320x240x16.wps
wps.320x240x(16|24|32): cabbiev2.320x240x16.wps
wps.240x400x(16|24): cabbiev2.240x400x16.wps
wps.240x320x(16|24|32): cabbiev2.240x320x16.wps
wps.220x176x(16|24): cabbiev2.220x176x16.wps
@ -171,7 +171,7 @@ iconset.800x480x(16|24): icons/tango_icons.32x32.bmp
iconset.480x800x(16|24): icons/tango_icons.32x32.bmp
iconset.400x240x(16|24): icons/tango_icons.16x16.bmp
iconset.320x480x(16|24): icons/tango_icons.24x24.bmp
iconset.320x240x(16|24): icons/tango_icons.16x16.bmp
iconset.320x240x(16|24|32): icons/tango_icons.16x16.bmp
iconset.128x128x(16|24): icons/tango_icons.12x12.bmp
iconset.128x160x(16|24|32): icons/tango_icons.12x12.bmp
iconset.132x80x(16|24): icons/tango_icons.12x12.bmp