From d4942cc74c82c465ea395637c77ed06565b8b497 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Fri, 29 Jun 2018 16:09:28 -0400 Subject: Add Xuelin iHIFI 770/770C/800 support Taken from the xvortex fork (Roman Stolyarov) Ported, rebased, and cleaned up by myself. Change-Id: I7b2bca2d29502f2e4544e42f3d122786dd4b7978 --- apps/SOURCES | 4 + apps/keymaps/keymap-ihifi770.c | 203 +++++++++++++++++++++++++ apps/keymaps/keymap-ihifi800.c | 207 ++++++++++++++++++++++++++ apps/lang/english.lang | 28 ++++ apps/lang/russian.lang | 28 ++++ apps/plugins/battery_bench.c | 12 ++ apps/plugins/blackjack.c | 32 ++++ apps/plugins/brickmania.c | 20 +++ apps/plugins/calculator.c | 22 +++ apps/plugins/calendar.c | 20 +++ apps/plugins/chessbox/chessbox_pgn.h | 28 ++++ apps/plugins/chessclock.c | 20 +++ apps/plugins/chip8.c | 16 ++ apps/plugins/chopper.c | 10 ++ apps/plugins/clix.c | 16 ++ apps/plugins/cube.c | 20 +++ apps/plugins/doom/i_video.c | 24 +++ apps/plugins/fft/fft.c | 18 +++ apps/plugins/flipit.c | 24 +++ apps/plugins/fractals/fractal.h | 24 +++ apps/plugins/goban/goban.h | 26 ++++ apps/plugins/imageviewer/imageviewer_button.h | 30 ++++ apps/plugins/invadrox.c | 16 ++ apps/plugins/jewels.c | 20 +++ apps/plugins/lib/keymaps.h | 28 +++- apps/plugins/lib/pluginlib_actions.c | 31 +++- apps/plugins/midi/midiplay.c | 16 ++ apps/plugins/minesweeper.c | 26 ++++ apps/plugins/mp3_encoder.c | 12 ++ apps/plugins/mpegplayer/mpeg_settings.c | 20 +++ apps/plugins/mpegplayer/mpegplayer.c | 18 +++ apps/plugins/oscilloscope.c | 28 ++++ apps/plugins/pacbox/pacbox.h | 21 +++ apps/plugins/pegbox.c | 34 +++++ apps/plugins/pong.c | 16 ++ apps/plugins/reversi/reversi-gui.h | 22 +++ apps/plugins/rockblox.c | 24 +++ apps/plugins/rockboy/rockboy.c | 20 +++ apps/plugins/rockpaint.c | 22 +++ apps/plugins/sliding_puzzle.c | 18 +++ apps/plugins/snake.c | 16 ++ apps/plugins/snake2.c | 18 +++ apps/plugins/sokoban.c | 32 ++++ apps/plugins/solitaire.c | 38 +++++ apps/plugins/spacerocks.c | 18 +++ apps/plugins/star.c | 32 ++++ apps/plugins/stopwatch.c | 16 ++ apps/plugins/sudoku/sudoku.h | 28 ++++ apps/plugins/text_viewer/tv_button.h | 26 ++++ apps/plugins/vu_meter.c | 22 +++ apps/plugins/wormlet.c | 18 +++ apps/plugins/xobox.c | 18 +++ apps/plugins/zxbox/keymaps.h | 16 ++ apps/plugins/zxbox/zxbox_keyb.c | 18 +++ apps/settings.h | 1 - apps/settings_list.c | 5 + 56 files changed, 1538 insertions(+), 8 deletions(-) create mode 100644 apps/keymaps/keymap-ihifi770.c create mode 100644 apps/keymaps/keymap-ihifi800.c (limited to 'apps') diff --git a/apps/SOURCES b/apps/SOURCES index a84c01977f..67fe678287 100644 --- a/apps/SOURCES +++ b/apps/SOURCES @@ -311,6 +311,10 @@ keymaps/keymap-nwza860.c keymaps/keymap-ypz5.c #elif CONFIG_KEYPAD == IHIFI_PAD keymaps/keymap-ihifi.c +#elif CONFIG_KEYPAD == IHIFI_770_PAD +keymaps/keymap-ihifi770.c +#elif CONFIG_KEYPAD == IHIFI_800_PAD +keymaps/keymap-ihifi800.c #elif CONFIG_KEYPAD == SAMSUNG_YPR1_PAD keymaps/keymap-ypr1.c #elif CONFIG_KEYPAD == DX50_PAD diff --git a/apps/keymaps/keymap-ihifi770.c b/apps/keymaps/keymap-ihifi770.c new file mode 100644 index 0000000000..c5671bd650 --- /dev/null +++ b/apps/keymaps/keymap-ihifi770.c @@ -0,0 +1,203 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * 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. + * + ****************************************************************************/ + +/* Button Code Definitions for IHIFI 770/770C targets */ + +#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_PREV, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, 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_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_standard */ + +static const struct button_mapping button_context_wps[] = { + { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, + { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT }, + { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, + { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, + { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_WPS_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_MENU, BUTTON_HOME|BUTTON_REL, BUTTON_HOME }, + { ACTION_WPS_BROWSE, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_wps */ + +static const struct button_mapping button_context_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 }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_list */ + +/** Bookmark Screen **/ +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 */ + +/** Keyboard **/ +static const struct button_mapping button_context_keyboard[] = { + { ACTION_KBD_LEFT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_PREV, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_BACKSPACE, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_KBD_BACKSPACE, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + { ACTION_KBD_ABORT, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_keyboard */ + +/** Pitchscreen **/ +static const struct button_mapping button_context_pitchscreen[] = { + { ACTION_PS_INC_SMALL, BUTTON_PREV, BUTTON_NONE }, + { ACTION_PS_INC_BIG, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_PS_DEC_SMALL, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_PS_DEC_BIG, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFTOFF, BUTTON_HOME|BUTTON_REL, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE }, + { ACTION_PS_RESET, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_PS_TOGGLE_MODE, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_pitchscreen */ + +/** Quickscreen **/ +static const struct button_mapping button_context_quickscreen[] = { + { ACTION_QS_TOP, BUTTON_PREV, BUTTON_NONE }, + { ACTION_QS_TOP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_quickscreen */ + +/** Settings - General Mappings **/ +static const struct button_mapping button_context_settings[] = { + { ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, 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_SETTINGS_RESET, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings */ + +static const struct button_mapping button_context_settings_vol_is_inc[] = { + { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_SETTINGS_INCREPEAT,BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_SETTINGS_DECREPEAT,BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_right_is_inc */ + +/** Tree **/ +static const struct button_mapping button_context_tree[] = { + { ACTION_TREE_WPS, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) +}; /* button_context_tree */ + +/** Yes/No Screen **/ +static const struct button_mapping button_context_yesnoscreen[] = { + { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_yesnoscreen */ + +/* 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_LIST: + return button_context_list; + case CONTEXT_STD: + return button_context_standard; + case CONTEXT_BOOKMARKSCREEN: + return button_context_bmark; + case CONTEXT_KEYBOARD: + return button_context_keyboard; + case CONTEXT_PITCHSCREEN: + return button_context_pitchscreen; + case CONTEXT_QUICKSCREEN: + return button_context_quickscreen; + case CONTEXT_SETTINGS: + return button_context_settings; + case CONTEXT_SETTINGS_TIME: + case CONTEXT_SETTINGS_COLOURCHOOSER: + case CONTEXT_SETTINGS_EQ: + case CONTEXT_SETTINGS_RECTRIGGER: + return button_context_settings_vol_is_inc; + case CONTEXT_TREE: + case CONTEXT_MAINMENU: + return button_context_tree; + case CONTEXT_WPS: + return button_context_wps; + case CONTEXT_YESNOSCREEN: + return button_context_yesnoscreen; + } + return button_context_standard; +} diff --git a/apps/keymaps/keymap-ihifi800.c b/apps/keymaps/keymap-ihifi800.c new file mode 100644 index 0000000000..b56bd018eb --- /dev/null +++ b/apps/keymaps/keymap-ihifi800.c @@ -0,0 +1,207 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * 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. + * + ****************************************************************************/ + +/* TODO */ + +/* Button Code Definitions for IHIFI 800 targets */ + +#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_PREV, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_OK, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_STD_CONTEXT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_standard */ + +static const struct button_mapping button_context_wps[] = { + { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, + { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT }, + { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, + { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, + { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_WPS_QUICKSCREEN, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + { ACTION_WPS_CONTEXT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_MENU, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, + { ACTION_WPS_BROWSE, BUTTON_HOME|BUTTON_REL, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_wps */ + +static const struct button_mapping button_context_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 }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_list */ + +/** Bookmark Screen **/ +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 */ + +/** Keyboard **/ +static const struct button_mapping button_context_keyboard[] = { + { ACTION_KBD_ABORT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_KBD_BACKSPACE, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_PREV, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_KBD_DONE, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_keyboard */ + +/** Pitchscreen **/ +static const struct button_mapping button_context_pitchscreen[] = { + { ACTION_PS_INC_SMALL, BUTTON_PREV, BUTTON_NONE }, + { ACTION_PS_INC_BIG, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_PS_DEC_SMALL, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_PS_DEC_BIG, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFTOFF, BUTTON_HOME|BUTTON_REL, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE }, + { ACTION_PS_RESET, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_PS_TOGGLE_MODE, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_pitchscreen */ + +/** Quickscreen **/ +static const struct button_mapping button_context_quickscreen[] = { + { ACTION_QS_TOP, BUTTON_PREV, BUTTON_NONE }, + { ACTION_QS_TOP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_quickscreen */ + +/** Settings - General Mappings **/ +static const struct button_mapping button_context_settings[] = { + { ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_OK, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_SETTINGS_RESET, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings */ + +static const struct button_mapping button_context_settings_vol_is_inc[] = { + { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_SETTINGS_INCREPEAT,BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_SETTINGS_DECREPEAT,BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_right_is_inc */ + +/** Tree **/ +static const struct button_mapping button_context_tree[] = { + { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) +}; /* button_context_tree */ + +/** Yes/No Screen **/ +static const struct button_mapping button_context_yesnoscreen[] = { + { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_yesnoscreen */ + +/* 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_LIST: + return button_context_list; + case CONTEXT_STD: + return button_context_standard; + case CONTEXT_BOOKMARKSCREEN: + return button_context_bmark; + case CONTEXT_KEYBOARD: + return button_context_keyboard; + case CONTEXT_PITCHSCREEN: + return button_context_pitchscreen; + case CONTEXT_QUICKSCREEN: + return button_context_quickscreen; + case CONTEXT_SETTINGS: + return button_context_settings; + case CONTEXT_SETTINGS_TIME: + case CONTEXT_SETTINGS_COLOURCHOOSER: + case CONTEXT_SETTINGS_EQ: + case CONTEXT_SETTINGS_RECTRIGGER: + return button_context_settings_vol_is_inc; + case CONTEXT_TREE: + case CONTEXT_MAINMENU: + return button_context_tree; + case CONTEXT_WPS: + return button_context_wps; + case CONTEXT_YESNOSCREEN: + return button_context_yesnoscreen; + } + return button_context_standard; +} diff --git a/apps/lang/english.lang b/apps/lang/english.lang index a2a23d0627..ed1cadfb9e 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -13229,6 +13229,34 @@ *: "Slow" + + id: LANG_FILTER_SHORT + desc: in sound settings + user: core + + *: "Short" + + + *: "Short" + + + *: "Short" + + + + id: LANG_FILTER_BYPASS + desc: in sound settings + user: core + + *: "Bypass" + + + *: "Bypass" + + + *: "Bypass" + + id: LANG_VOLUME_LIMIT desc: in sound_settings diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang index 42551ae26e..e744542e1c 100644 --- a/apps/lang/russian.lang +++ b/apps/lang/russian.lang @@ -13137,6 +13137,34 @@ *: "Sharp" + + id: LANG_FILTER_SHORT + desc: in sound settings + user: core + + *: "Short" + + + *: "Short" + + + *: "Short" + + + + id: LANG_FILTER_BYPASS + desc: in sound settings + user: core + + *: "Bypass" + + + *: "Bypass" + + + *: "Bypass" + + id: LANG_COMPRESSOR_ATTACK desc: in sound settings diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index 9a48ef2fdb..13f01d7867 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c @@ -285,6 +285,18 @@ #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" + #else #error No keymap defined! #endif diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c index 6c3e487bf2..27881bf6e9 100644 --- a/apps/plugins/blackjack.c +++ b/apps/plugins/blackjack.c @@ -589,6 +589,38 @@ enum { #define BJACK_RIGHT BUTTON_NEXT #define BJACK_LEFT BUTTON_PREV +#elif CONFIG_KEYPAD == IHIFI_770_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_POWER | BUTTON_HOME) +#define BJACK_RIGHT BUTTON_NEXT +#define BJACK_LEFT BUTTON_PREV + +#elif CONFIG_KEYPAD == IHIFI_800_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_POWER | BUTTON_HOME) +#define BJACK_RIGHT BUTTON_NEXT +#define BJACK_LEFT BUTTON_PREV + #else #error No keymap defined! #endif diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c index 24c6fab613..f7c9f9adf2 100644 --- a/apps/plugins/brickmania.c +++ b/apps/plugins/brickmania.c @@ -342,6 +342,26 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD #define UP BUTTON_HOME #define DOWN BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_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 SELECT BUTTON_PLAY +#define UP BUTTON_PREV +#define DOWN BUTTON_NEXT + +#elif CONFIG_KEYPAD == IHIFI_800_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 SELECT BUTTON_PLAY +#define UP BUTTON_PREV +#define DOWN BUTTON_NEXT + #else #error No keymap defined! #endif diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c index f10bca66ec..a4a29ff6ac 100644 --- a/apps/plugins/calculator.c +++ b/apps/plugins/calculator.c @@ -536,6 +536,28 @@ F3: equal to "=" #define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT) #define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT) +#elif CONFIG_KEYPAD == IHIFI_770_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 == 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) + #else #error No keymap defined! #endif diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c index 74ee49904b..56f9bde193 100644 --- a/apps/plugins/calendar.c +++ b/apps/plugins/calendar.c @@ -423,6 +423,26 @@ #define CALENDAR_NEXT_MONTH BUTTON_VOL_UP #define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN +#elif CONFIG_KEYPAD == IHIFI_770_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 + +#elif CONFIG_KEYPAD == IHIFI_800_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 + #else #error "No keypad setting." #endif diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h index 8f3032fe15..1159d0c7d1 100644 --- a/apps/plugins/chessbox/chessbox_pgn.h +++ b/apps/plugins/chessbox/chessbox_pgn.h @@ -572,6 +572,34 @@ #define CB_SCROLL_LEFT (BUTTON_PREV|BUTTON_REPEAT) #define CB_SCROLL_RIGHT (BUTTON_NEXT|BUTTON_REPEAT) +#elif CONFIG_KEYPAD == IHIFI_770_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_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) + +#elif CONFIG_KEYPAD == IHIFI_800_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_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) + #else #error No keymap defined! #endif diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c index ae7889ed95..6b07e1bab5 100644 --- a/apps/plugins/chessclock.c +++ b/apps/plugins/chessclock.c @@ -422,6 +422,26 @@ #define CHC_SETTINGS_OK BUTTON_PLAY #define CHC_SETTINGS_CANCEL BUTTON_POWER +#elif CONFIG_KEYPAD == IHIFI_770_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_SETTINGS_OK BUTTON_PLAY +#define CHC_SETTINGS_CANCEL BUTTON_HOME + +#elif CONFIG_KEYPAD == IHIFI_800_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_SETTINGS_OK BUTTON_PLAY +#define CHC_SETTINGS_CANCEL BUTTON_HOME + #else #error No keymap defined! #endif diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c index 153558667e..58d80a2ccf 100644 --- a/apps/plugins/chip8.c +++ b/apps/plugins/chip8.c @@ -1291,6 +1291,22 @@ CONFIG_KEYPAD == MROBE500_PAD #define CHIP8_KEY6 BUTTON_NEXT #define CHIP8_KEY8 BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_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_KEY8 BUTTON_PREV + +#elif CONFIG_KEYPAD == IHIFI_800_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_KEY8 BUTTON_PREV + #else #error No keymap defined! #endif diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c index 1732a16ecb..249cfe9715 100644 --- a/apps/plugins/chopper.c +++ b/apps/plugins/chopper.c @@ -214,6 +214,16 @@ CONFIG_KEYPAD == MROBE500_PAD #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 +#define QUIT BUTTON_POWER +#define ACTION BUTTON_PLAY +#define ACTIONTEXT "PLAY" + #elif !defined(HAVE_TOUCHSCREEN) #error No keymap defined! #endif diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c index b2580a1630..c6364b14b4 100644 --- a/apps/plugins/clix.c +++ b/apps/plugins/clix.c @@ -284,6 +284,22 @@ #define CLIX_BUTTON_RIGHT BUTTON_NEXT #define CLIX_BUTTON_CLICK BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_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 + +#elif CONFIG_KEYPAD == IHIFI_800_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 + #else #error "no keymap" #endif diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c index 9a67c337d1..cad57f9ed6 100644 --- a/apps/plugins/cube.c +++ b/apps/plugins/cube.c @@ -423,6 +423,26 @@ #define CUBE_PAUSE BUTTON_HOME #define CUBE_HIGHSPEED BUTTON_PLAY +#elif (CONFIG_KEYPAD == IHIFI_770_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_HIGHSPEED BUTTON_PLAY + +#elif (CONFIG_KEYPAD == IHIFI_800_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_HIGHSPEED BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c index d734e1e12b..41194670bf 100644 --- a/apps/plugins/doom/i_video.c +++ b/apps/plugins/doom/i_video.c @@ -566,6 +566,30 @@ void I_ShutdownGraphics(void) #define DOOMBUTTON_ENTER BUTTON_PLAY #define DOOMBUTTON_WEAPON BUTTON_VOL_UP +#elif CONFIG_KEYPAD == IHIFI_770_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) + +#elif CONFIG_KEYPAD == IHIFI_800_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) + #else #error Keymap not defined! #endif diff --git a/apps/plugins/fft/fft.c b/apps/plugins/fft/fft.c index e5750c109a..d56e37f9e2 100644 --- a/apps/plugins/fft/fft.c +++ b/apps/plugins/fft/fft.c @@ -343,6 +343,24 @@ GREY_INFO_STRUCT # define FFT_AMP_SCALE BUTTON_PLAY # define FFT_QUIT BUTTON_POWER +#elif (CONFIG_KEYPAD == IHIFI_770_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 +# 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 +# define FFT_QUIT BUTTON_POWER + #elif !defined(HAVE_TOUCHSCREEN) #error No keymap defined! #endif diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c index b089974aef..c108939a95 100644 --- a/apps/plugins/flipit.c +++ b/apps/plugins/flipit.c @@ -494,6 +494,30 @@ #define FLIPIT_STEP_BY_STEP (BUTTON_HOME | BUTTON_PLAY) #define FLIPIT_TOGGLE BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_PAD + +#define FLIPIT_LEFT BUTTON_HOME +#define FLIPIT_RIGHT BUTTON_VOL_DOWN +#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_TOGGLE BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define FLIPIT_LEFT BUTTON_HOME +#define FLIPIT_RIGHT BUTTON_VOL_DOWN +#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_TOGGLE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h index ed6be31695..5a56a39b13 100644 --- a/apps/plugins/fractals/fractal.h +++ b/apps/plugins/fractals/fractal.h @@ -496,6 +496,30 @@ #define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_PREV) #define FRACTAL_RESET (BUTTON_HOME | BUTTON_POWER) +#elif CONFIG_KEYPAD == IHIFI_770_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) + +#elif CONFIG_KEYPAD == IHIFI_800_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) + #else #error No keymap defined! #endif diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h index d1d66e3535..9f03937078 100644 --- a/apps/plugins/goban/goban.h +++ b/apps/plugins/goban/goban.h @@ -464,6 +464,32 @@ #define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT #define GBN_BUTTON_NEXT_VAR BUTTON_HOME | BUTTON_POWER +#elif (CONFIG_KEYPAD == IHIFI_770_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 + +#elif (CONFIG_KEYPAD == IHIFI_800_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 + #else #error Unsupported keypad #endif diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h index 2f349b1a24..5ffef12a62 100644 --- a/apps/plugins/imageviewer/imageviewer_button.h +++ b/apps/plugins/imageviewer/imageviewer_button.h @@ -510,6 +510,36 @@ #define IMGVIEW_MENU BUTTON_POWER #define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER) +#elif CONFIG_KEYPAD == IHIFI_770_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_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 == 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) +#define IMGVIEW_UP BUTTON_PREV +#define IMGVIEW_DOWN BUTTON_NEXT +#define IMGVIEW_LEFT BUTTON_HOME +#define IMGVIEW_RIGHT (BUTTON_PLAY|BUTTON_POWER) +#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) + #else #error No keymap defined! #endif diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c index 72c3b57338..8ef674a74a 100644 --- a/apps/plugins/invadrox.c +++ b/apps/plugins/invadrox.c @@ -272,6 +272,22 @@ CONFIG_KEYPAD == MROBE500_PAD #define QUIT BUTTON_POWER #define FIRE BUTTON_MENU +#elif CONFIG_KEYPAD == IHIFI2_PAD + +#elif CONFIG_KEYPAD == IHIFI_770_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 + +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define FIRE BUTTON_VOL_UP + #else #error INVADROX: Unsupported keypad #endif diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c index e4a22830a1..bc0bc73183 100644 --- a/apps/plugins/jewels.c +++ b/apps/plugins/jewels.c @@ -387,6 +387,26 @@ CONFIG_KEYPAD == MROBE500_PAD #define HK_SELECT "PLAY" #define HK_CANCEL "POWER" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define JEWELS_UP BUTTON_PREV +#define JEWELS_DOWN BUTTON_NEXT +#define JEWELS_LEFT BUTTON_HOME +#define JEWELS_RIGHT BUTTON_VOL_DOWN +#define JEWELS_SELECT BUTTON_PLAY +#define JEWELS_CANCEL BUTTON_POWER +#define HK_SELECT "PLAY" +#define HK_CANCEL "POWER" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define JEWELS_UP BUTTON_PREV +#define JEWELS_DOWN BUTTON_NEXT +#define JEWELS_LEFT BUTTON_HOME +#define JEWELS_RIGHT BUTTON_VOL_DOWN +#define JEWELS_SELECT BUTTON_PLAY +#define JEWELS_CANCEL BUTTON_POWER +#define HK_SELECT "PLAY" +#define HK_CANCEL "POWER" + #else #error No keymap defined! #endif diff --git a/apps/plugins/lib/keymaps.h b/apps/plugins/lib/keymaps.h index 5fab361620..e240a0989e 100644 --- a/apps/plugins/lib/keymaps.h +++ b/apps/plugins/lib/keymaps.h @@ -216,12 +216,28 @@ #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_OPTION +#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 == IHIFI_770_PAD) +#define BTN_UP BUTTON_PREV +#define BTN_DOWN BUTTON_NEXT +#define BTN_LEFT BUTTON_HOME +#define BTN_RIGHT BUTTON_VOL_DOWN +#define BTN_FIRE BUTTON_PLAY +#define BTN_PAUSE BUTTON_POWER + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define BTN_UP BUTTON_PREV +#define BTN_DOWN BUTTON_NEXT +#define BTN_LEFT BUTTON_HOME +#define BTN_RIGHT BUTTON_VOL_DOWN +#define BTN_FIRE BUTTON_PLAY +#define BTN_PAUSE BUTTON_POWER #else #error Unsupported keypad diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c index 2c5fb773ba..97b5a1e1bf 100644 --- a/apps/plugins/lib/pluginlib_actions.c +++ b/apps/plugins/lib/pluginlib_actions.c @@ -237,6 +237,24 @@ 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 == IHIFI_770_PAD) + { PLA_UP, BUTTON_PREV, BUTTON_NONE }, + { PLA_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { PLA_LEFT, BUTTON_HOME, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) + { PLA_UP, BUTTON_PREV, BUTTON_NONE }, + { PLA_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { PLA_LEFT, BUTTON_HOME, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, #else # ifndef HAVE_TOUCHSCREEN # error pluginlib_actions: No directions defined @@ -462,7 +480,18 @@ 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 == IHIFI_770_PAD) + {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, 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_800_PAD) + {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, 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}, #else # ifndef HAVE_TOUCHSCREEN # error pluginlib_actions: No actions defined diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c index de6310dcd8..bef13b649d 100644 --- a/apps/plugins/midi/midiplay.c +++ b/apps/plugins/midi/midiplay.c @@ -301,6 +301,22 @@ #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 +#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 + #else #error No keymap defined! #endif diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c index 2a3b5f78e9..956ba128d5 100644 --- a/apps/plugins/minesweeper.c +++ b/apps/plugins/minesweeper.c @@ -417,6 +417,32 @@ CONFIG_KEYPAD == MROBE500_PAD # define MINESWP_DISCOVER2 BUTTON_VOL_UP # define MINESWP_INFO (BUTTON_PLAY | BUTTON_OPTION) +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +# define MINESWP_LEFT BUTTON_HOME +# define MINESWP_RIGHT BUTTON_VOL_DOWN +# 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) + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +# define MINESWP_LEFT BUTTON_HOME +# define MINESWP_RIGHT BUTTON_VOL_DOWN +# 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) + #else #error No keymap defined! #endif diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c index 9e09135385..d147120cd4 100644 --- a/apps/plugins/mp3_encoder.c +++ b/apps/plugins/mp3_encoder.c @@ -2562,6 +2562,18 @@ CONFIG_KEYPAD == MROBE500_PAD #define MP3ENC_DONE BUTTON_POWER #define MP3ENC_SELECT BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_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 +#define MP3ENC_PREV BUTTON_PREV +#define MP3ENC_NEXT BUTTON_NEXT +#define MP3ENC_DONE BUTTON_POWER +#define MP3ENC_SELECT BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c index 7976f5f542..d6b4fd4b84 100644 --- a/apps/plugins/mpegplayer/mpeg_settings.c +++ b/apps/plugins/mpegplayer/mpeg_settings.c @@ -316,6 +316,26 @@ 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 +#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_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 + +#elif 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 +#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 #error No keymap defined! #endif diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index fd3e8d8cd5..6a33a544db 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c @@ -450,6 +450,24 @@ CONFIG_KEYPAD == SANSA_M200_PAD #define MPEG_RW BUTTON_PREV #define MPEG_FF BUTTON_NEXT +#elif CONFIG_KEYPAD == IHIFI_770_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 == IHIFI_800_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 + #else #error No keymap defined! #endif diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c index 4534684293..f4711d4e0e 100644 --- a/apps/plugins/oscilloscope.c +++ b/apps/plugins/oscilloscope.c @@ -518,6 +518,34 @@ #define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN #define NEED_LASTBUTTON +#elif (CONFIG_KEYPAD == IHIFI_770_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 == 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 + #else #error No keymap defined! #endif diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h index 3461bd62c7..eb97d828e2 100644 --- a/apps/plugins/pacbox/pacbox.h +++ b/apps/plugins/pacbox/pacbox.h @@ -363,6 +363,27 @@ #define PACMAN_1UP BUTTON_VOLUP #define PACMAN_COIN BUTTON_VOLDOWN +#elif CONFIG_KEYPAD == IHIFI2_PAD + +#elif CONFIG_KEYPAD == IHIFI_770_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 == IHIFI_800_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 + #else #error Keymap not defined! diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c index 922359cd32..cc2e8e3f23 100644 --- a/apps/plugins/pegbox.c +++ b/apps/plugins/pegbox.c @@ -660,6 +660,40 @@ CONFIG_KEYPAD == MROBE500_PAD #define LVL_UP_TEXT "VOL+" #define LVL_DOWN_TEXT "VOL-" +#elif CONFIG_KEYPAD == IHIFI_770_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 SELECT_TEXT "PLAY" +#define QUIT_TEXT "POWER" +#define RESTART_TEXT "HOME" +#define LVL_UP_TEXT "VOL+" +#define LVL_DOWN_TEXT "VOL-" + +#elif CONFIG_KEYPAD == IHIFI_800_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 SELECT_TEXT "PLAY" +#define QUIT_TEXT "POWER" +#define RESTART_TEXT "HOME" +#define LVL_UP_TEXT "VOL+" +#define LVL_DOWN_TEXT "VOL-" + #else #error Unsupported keymap! #endif diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c index d65134e5d2..cb3006d7c4 100644 --- a/apps/plugins/pong.c +++ b/apps/plugins/pong.c @@ -317,6 +317,22 @@ CONFIG_KEYPAD == MROBE500_PAD #define PONG_RIGHT_UP BUTTON_HOME #define PONG_RIGHT_DOWN BUTTON_NEXT +#elif CONFIG_KEYPAD == IHIFI_770_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 + +#elif CONFIG_KEYPAD == IHIFI_800_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 + #else #error No keymap defined! #endif diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h index 1dc1dedbed..cba34d2814 100644 --- a/apps/plugins/reversi/reversi-gui.h +++ b/apps/plugins/reversi/reversi-gui.h @@ -339,6 +339,28 @@ #define REVERSI_BUTTON_MENU BUTTON_PLAY #define REVERSI_BUTTON_MENU_LONGPRESS +#elif CONFIG_KEYPAD == IHIFI_770_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_MAKE_MOVE BUTTON_PLAY +#define REVERSI_BUTTON_MAKE_MOVE_SHORTPRESS +#define REVERSI_BUTTON_MENU BUTTON_PLAY +#define REVERSI_BUTTON_MENU_LONGPRESS + +#elif CONFIG_KEYPAD == IHIFI_800_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_MAKE_MOVE BUTTON_PLAY +#define REVERSI_BUTTON_MAKE_MOVE_SHORTPRESS +#define REVERSI_BUTTON_MENU BUTTON_PLAY +#define REVERSI_BUTTON_MENU_LONGPRESS + #else #error No keymap defined! #endif diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c index b204ed87da..13eb593775 100644 --- a/apps/plugins/rockblox.c +++ b/apps/plugins/rockblox.c @@ -492,6 +492,30 @@ #define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL) #define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT) +#elif CONFIG_KEYPAD == IHIFI_770_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_LEFT BUTTON_PREV +#define ROCKBLOX_RIGHT BUTTON_NEXT +#define ROCKBLOX_DROP (BUTTON_POWER|BUTTON_PLAY) +#define ROCKBLOX_RESTART (BUTTON_POWER|BUTTON_REPEAT) + +#elif CONFIG_KEYPAD == IHIFI_800_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_LEFT BUTTON_PREV +#define ROCKBLOX_RIGHT BUTTON_NEXT +#define ROCKBLOX_DROP (BUTTON_POWER|BUTTON_PLAY) +#define ROCKBLOX_RESTART (BUTTON_POWER|BUTTON_REPEAT) + #else #error No keymap defined! #endif diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c index 7425fc2550..8886793ab7 100644 --- a/apps/plugins/rockboy/rockboy.c +++ b/apps/plugins/rockboy/rockboy.c @@ -433,6 +433,26 @@ static void setoptions (void) options.SELECT = BUTTON_VOL_UP; options.MENU = BUTTON_POWER; +#elif CONFIG_KEYPAD == IHIFI_770_PAD + options.UP = BUTTON_PREV; + options.DOWN = BUTTON_NEXT; + + options.A = BUTTON_VOL_UP; + options.B = BUTTON_VOL_DOWN; + options.START = BUTTON_PLAY; + options.SELECT = BUTTON_HOME; + options.MENU = BUTTON_POWER; + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + options.UP = BUTTON_PREV; + options.DOWN = BUTTON_NEXT; + + options.A = BUTTON_VOL_UP; + options.B = BUTTON_VOL_DOWN; + options.START = BUTTON_PLAY; + options.SELECT = BUTTON_HOME; + options.MENU = BUTTON_POWER; + #else #error No Keymap Defined! #endif diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c index d0f9f7235c..3759489fe1 100644 --- a/apps/plugins/rockpaint.c +++ b/apps/plugins/rockpaint.c @@ -338,6 +338,28 @@ #define ROCKPAINT_LEFT BUTTON_PREV #define ROCKPAINT_RIGHT BUTTON_NEXT +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define ROCKPAINT_QUIT BUTTON_POWER +#define ROCKPAINT_DRAW BUTTON_PLAY +#define ROCKPAINT_MENU (BUTTON_HOME | BUTTON_POWER) +#define ROCKPAINT_TOOLBAR BUTTON_VOL_UP +#define ROCKPAINT_TOOLBAR2 (BUTTON_VOL_UP | BUTTON_POWER) +#define ROCKPAINT_UP BUTTON_PREV +#define ROCKPAINT_DOWN BUTTON_NEXT +#define ROCKPAINT_LEFT BUTTON_HOME +#define ROCKPAINT_RIGHT BUTTON_VOL_DOWN + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define ROCKPAINT_QUIT BUTTON_POWER +#define ROCKPAINT_DRAW BUTTON_PLAY +#define ROCKPAINT_MENU (BUTTON_HOME | BUTTON_POWER) +#define ROCKPAINT_TOOLBAR BUTTON_VOL_UP +#define ROCKPAINT_TOOLBAR2 (BUTTON_VOL_UP | BUTTON_POWER) +#define ROCKPAINT_UP BUTTON_PREV +#define ROCKPAINT_DOWN BUTTON_NEXT +#define ROCKPAINT_LEFT BUTTON_HOME +#define ROCKPAINT_RIGHT BUTTON_VOL_DOWN + #else #error "Please define keys for this keypad" #endif diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index a3f84e32ae..0ea36c84b8 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c @@ -340,6 +340,24 @@ CONFIG_KEYPAD == MROBE500_PAD #define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER) #define PUZZLE_PICTURE BUTTON_PLAY +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define PUZZLE_QUIT BUTTON_POWER +#define PUZZLE_LEFT BUTTON_HOME +#define PUZZLE_RIGHT BUTTON_VOL_DOWN +#define PUZZLE_UP BUTTON_PREV +#define PUZZLE_DOWN BUTTON_NEXT +#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER) +#define PUZZLE_PICTURE BUTTON_PLAY + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define PUZZLE_QUIT BUTTON_POWER +#define PUZZLE_LEFT BUTTON_HOME +#define PUZZLE_RIGHT BUTTON_VOL_DOWN +#define PUZZLE_UP BUTTON_PREV +#define PUZZLE_DOWN BUTTON_NEXT +#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER) +#define PUZZLE_PICTURE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c index 9144edf062..2518316bdd 100644 --- a/apps/plugins/snake.c +++ b/apps/plugins/snake.c @@ -297,6 +297,22 @@ 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 +#define SNAKE_QUIT BUTTON_POWER +#define SNAKE_LEFT BUTTON_HOME +#define SNAKE_RIGHT BUTTON_VOL_DOWN +#define SNAKE_UP BUTTON_PREV +#define SNAKE_DOWN BUTTON_NEXT +#define SNAKE_PLAYPAUSE BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define SNAKE_QUIT BUTTON_POWER +#define SNAKE_LEFT BUTTON_HOME +#define SNAKE_RIGHT BUTTON_VOL_DOWN +#define SNAKE_UP BUTTON_PREV +#define SNAKE_DOWN BUTTON_NEXT +#define SNAKE_PLAYPAUSE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c index 13d2c57b24..9ea79504e4 100644 --- a/apps/plugins/snake2.c +++ b/apps/plugins/snake2.c @@ -428,6 +428,24 @@ CONFIG_KEYPAD == MROBE500_PAD #define SNAKE2_PLAYPAUSE BUTTON_PLAY #define SNAKE2_PLAYPAUSE_TEXT "PLAY" +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define SNAKE2_LEFT BUTTON_HOME +#define SNAKE2_RIGHT BUTTON_VOL_DOWN +#define SNAKE2_UP BUTTON_PREV +#define SNAKE2_DOWN BUTTON_NEXT +#define SNAKE2_QUIT BUTTON_POWER +#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 +#define SNAKE2_UP BUTTON_PREV +#define SNAKE2_DOWN BUTTON_NEXT +#define SNAKE2_QUIT BUTTON_POWER +#define SNAKE2_PLAYPAUSE BUTTON_PLAY +#define SNAKE2_PLAYPAUSE_TEXT "PLAY" + #else #error No keymap defined! #endif diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 98d295eb1a..17971ec4db 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c @@ -667,6 +667,38 @@ #define BUTTON_SAVE BUTTON_PLAY #define BUTTON_SAVE_NAME "PLAY" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define SOKOBAN_LEFT BUTTON_HOME +#define SOKOBAN_RIGHT BUTTON_VOL_DOWN +#define SOKOBAN_UP BUTTON_PREV +#define SOKOBAN_DOWN BUTTON_NEXT +#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_POWER | BUTTON_VOL_DOWN) +#define SOKOBAN_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME) +#define SOKOBAN_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define SOKOBAN_PAUSE BUTTON_PLAY +#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 +#define SOKOBAN_UP BUTTON_PREV +#define SOKOBAN_DOWN BUTTON_NEXT +#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_POWER | BUTTON_VOL_DOWN) +#define SOKOBAN_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME) +#define SOKOBAN_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define SOKOBAN_PAUSE BUTTON_PLAY +#define BUTTON_SAVE BUTTON_PLAY +#define BUTTON_SAVE_NAME "PLAY" + #else #error No keymap defined! #endif diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c index fe7da2788e..7440160470 100644 --- a/apps/plugins/solitaire.c +++ b/apps/plugins/solitaire.c @@ -706,6 +706,44 @@ CONFIG_KEYPAD == MROBE500_PAD # define HK_CUR2STACK "DBL PLAY" # define HK_REM2STACK "NEXT" +#elif CONFIG_KEYPAD == IHIFI_770_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_MOVE (BUTTON_PLAY | BUTTON_REL) +# define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT) +# define SOL_REM2CUR (BUTTON_POWER | 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 HK_MOVE "PLAY" +# define HK_DRAW "DBL POWER" +# define HK_REM2CUR "POWER" +# define HK_CUR2STACK "DBL PLAY" +# define HK_REM2STACK "POWER+" + +#elif CONFIG_KEYPAD == IHIFI_800_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_MOVE (BUTTON_PLAY | BUTTON_REL) +# define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT) +# define SOL_REM2CUR (BUTTON_POWER | 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 HK_MOVE "PLAY" +# define HK_DRAW "DBL POWER" +# define HK_REM2CUR "POWER" +# define HK_CUR2STACK "DBL PLAY" +# define HK_REM2STACK "POWER+" + #else #error No keymap defined! #endif diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c index ad03919861..15d4039b4d 100644 --- a/apps/plugins/spacerocks.c +++ b/apps/plugins/spacerocks.c @@ -363,6 +363,24 @@ #define AST_RIGHT BUTTON_NEXT #define AST_FIRE BUTTON_PLAY +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define AST_PAUSE BUTTON_PLAY +#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 + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define AST_PAUSE BUTTON_PLAY +#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 + #else #error No keymap defined! #endif diff --git a/apps/plugins/star.c b/apps/plugins/star.c index bcddab8f20..fdf67bec4c 100644 --- a/apps/plugins/star.c +++ b/apps/plugins/star.c @@ -639,6 +639,38 @@ #define STAR_LEVEL_DOWN_NAME "PLAY + PREV" #define STAR_LEVEL_REPEAT_NAME "PLAY + OPTION" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define STAR_QUIT BUTTON_POWER +#define STAR_LEFT BUTTON_HOME +#define STAR_RIGHT BUTTON_VOL_DOWN +#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_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" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define STAR_QUIT BUTTON_POWER +#define STAR_LEFT BUTTON_HOME +#define STAR_RIGHT BUTTON_VOL_DOWN +#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_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" + #else #error No keymap defined! #endif diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c index 69f14a20ef..5e83859d89 100644 --- a/apps/plugins/stopwatch.c +++ b/apps/plugins/stopwatch.c @@ -321,6 +321,22 @@ #define STOPWATCH_SCROLL_UP BUTTON_HOME #define STOPWATCH_SCROLL_DOWN BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_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 + +#elif CONFIG_KEYPAD == IHIFI_800_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 + #else #error No keymap defined! #endif diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h index e26644a2d8..62ec80dba8 100644 --- a/apps/plugins/sudoku/sudoku.h +++ b/apps/plugins/sudoku/sudoku.h @@ -437,6 +437,34 @@ #define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL) #define SUDOKU_BUTTON_POSSIBLE (BUTTON_HOME | BUTTON_POWER) +#elif CONFIG_KEYPAD == IHIFI_770_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) + +#elif 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 +#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) + #else #error No keymap defined! #endif diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h index 58bce80eaf..da6453ff8d 100644 --- a/apps/plugins/text_viewer/tv_button.h +++ b/apps/plugins/text_viewer/tv_button.h @@ -562,6 +562,32 @@ #define TV_LINE_DOWN BUTTON_OPTION #define TV_BOOKMARK (BUTTON_OPTION | BUTTON_PLAY) +/* Xuelin 770/770c keys */ +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define TV_QUIT BUTTON_POWER +#define TV_SCROLL_UP BUTTON_VOL_UP +#define TV_SCROLL_DOWN BUTTON_VOL_DOWN +#define TV_SCREEN_LEFT BUTTON_PREV +#define TV_SCREEN_RIGHT BUTTON_NEXT +#define TV_MENU BUTTON_PLAY +#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME) +#define TV_LINE_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define TV_LINE_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define TV_BOOKMARK (BUTTON_POWER | BUTTON_PLAY) + +/* Xuelin 800 keys */ +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define TV_QUIT BUTTON_POWER +#define TV_SCROLL_UP BUTTON_VOL_UP +#define TV_SCROLL_DOWN BUTTON_VOL_DOWN +#define TV_SCREEN_LEFT BUTTON_PREV +#define TV_SCREEN_RIGHT BUTTON_NEXT +#define TV_MENU BUTTON_PLAY +#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME) +#define TV_LINE_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define TV_LINE_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define TV_BOOKMARK (BUTTON_POWER | BUTTON_PLAY) + #else #error No keymap defined! #endif diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c index 04876ba198..eaa92d4b48 100644 --- a/apps/plugins/vu_meter.c +++ b/apps/plugins/vu_meter.c @@ -432,6 +432,28 @@ #define LABEL_MENU "PLAY" #define LABEL_VOLUME "VOL UP/DN" +#elif (CONFIG_KEYPAD == IHIFI_770_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 == IHIFI_800_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" + #else #error No keymap defined! #endif diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c index 83cfadc338..8c12862bdb 100644 --- a/apps/plugins/wormlet.c +++ b/apps/plugins/wormlet.c @@ -402,6 +402,24 @@ CONFIG_KEYPAD == MROBE500_PAD #define BTN_QUIT BUTTON_POWER #define BTN_STOPRESET (BUTTON_HOME | BUTTON_POWER) +#elif CONFIG_KEYPAD == IHIFI_770_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_STARTPAUSE BUTTON_PLAY +#define BTN_QUIT BUTTON_POWER +#define BTN_STOPRESET BUTTON_VOL_UP + +#elif CONFIG_KEYPAD == IHIFI_800_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_STARTPAUSE BUTTON_PLAY +#define BTN_QUIT BUTTON_POWER +#define BTN_STOPRESET BUTTON_VOL_UP + #else #error No keymap defined! #endif diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c index 9b41e2d1ac..8acdf85015 100644 --- a/apps/plugins/xobox.c +++ b/apps/plugins/xobox.c @@ -351,6 +351,24 @@ CONFIG_KEYPAD == MROBE500_PAD #define DOWN BUTTON_OPTION #define PAUSE BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_PAD + +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define UP BUTTON_PREV +#define DOWN BUTTON_NEXT +#define PAUSE BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define UP BUTTON_PREV +#define DOWN BUTTON_NEXT +#define PAUSE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h index ebdd41734e..ce527c561e 100644 --- a/apps/plugins/zxbox/keymaps.h +++ b/apps/plugins/zxbox/keymaps.h @@ -290,6 +290,22 @@ #define ZX_UP BUTTON_HOME #define ZX_DOWN BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define ZX_SELECT BUTTON_PLAY +#define ZX_MENU BUTTON_POWER +#define ZX_LEFT BUTTON_HOME +#define ZX_RIGHT BUTTON_VOL_DOWN +#define ZX_UP BUTTON_PREV +#define ZX_DOWN BUTTON_NEXT + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define ZX_SELECT BUTTON_PLAY +#define ZX_MENU BUTTON_POWER +#define ZX_LEFT BUTTON_HOME +#define ZX_RIGHT BUTTON_VOL_DOWN +#define ZX_UP BUTTON_PREV +#define ZX_DOWN BUTTON_NEXT + #else #error Keymap not defined! diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c index f38712d8d1..b3f1ca70e8 100644 --- a/apps/plugins/zxbox/zxbox_keyb.c +++ b/apps/plugins/zxbox/zxbox_keyb.c @@ -287,6 +287,24 @@ #define KBD_UP BUTTON_HOME #define KBD_DOWN BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_PAD + +#define KBD_SELECT BUTTON_PLAY +#define KBD_ABORT BUTTON_POWER +#define KBD_LEFT BUTTON_HOME +#define KBD_RIGHT BUTTON_VOL_DOWN +#define KBD_UP BUTTON_PREV +#define KBD_DOWN BUTTON_NEXT + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define KBD_SELECT BUTTON_PLAY +#define KBD_ABORT BUTTON_POWER +#define KBD_LEFT BUTTON_HOME +#define KBD_RIGHT BUTTON_VOL_DOWN +#define KBD_UP BUTTON_PREV +#define KBD_DOWN BUTTON_NEXT + #endif #ifdef HAVE_TOUCHSCREEN diff --git a/apps/settings.h b/apps/settings.h index d0257b51e6..05ad948c0d 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -642,7 +642,6 @@ struct user_settings #ifdef HAVE_USB_CHARGING_ENABLE int usb_charging; #endif - /* device settings */ #ifdef HAVE_LCD_CONTRAST int contrast; /* lcd contrast */ diff --git a/apps/settings_list.c b/apps/settings_list.c index eb3c76865d..1c41954390 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -876,8 +876,13 @@ const struct settings_list settings[] = { #ifdef AUDIOHW_HAVE_FILTER_ROLL_OFF CHOICE_SETTING(F_SOUNDSETTING, roll_off, LANG_FILTER_ROLL_OFF, 0, +#ifndef AUDIOHW_HAVE_SHORT_ROLL_OFF "roll_off", "sharp,slow", sound_set_filter_roll_off, 2, ID2P(LANG_FILTER_SHARP), ID2P(LANG_FILTER_SLOW)), +#else + "roll_off", "sharp,slow,short,bypass", sound_set_filter_roll_off, + 4, ID2P(LANG_FILTER_SHARP), ID2P(LANG_FILTER_SLOW), ID2P(LANG_FILTER_SHORT), ID2P(LANG_FILTER_BYPASS)), +#endif #endif /* playback */ -- cgit v1.2.3