forked from len0rd/rockbox
Plugin Matrix PLA integration (code)
This commit changes: 1) replace all keymaps with PLA ones and remove all now useless precompiler instruction. 2) add an alternative exit button (PLA_EXIT or PLA_CANCEL) 3) add the possibility to change values repeatily by holding key pressed. note: no manual for matrix yet Change-Id: Id3ace2863dd407dd5e5ab9b7b5b460c88bb007ad Reviewed-on: http://gerrit.rockbox.org/128 Reviewed-by: Thomas Martitz <kugel@rockbox.org> Tested-by: Thomas Martitz <kugel@rockbox.org>
This commit is contained in:
parent
26fc31ae93
commit
36c84f9a90
1 changed files with 31 additions and 152 deletions
|
@ -34,7 +34,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "plugin.h"
|
#include "plugin.h"
|
||||||
|
#include "lib/pluginlib_actions.h"
|
||||||
|
|
||||||
/* Images */
|
/* Images */
|
||||||
#include "pluginbitmaps/matrix_bold.h"
|
#include "pluginbitmaps/matrix_bold.h"
|
||||||
|
@ -49,158 +49,23 @@
|
||||||
#define LEFTMARGIN (LCD_WIDTH-(COLS*COL_W))/2
|
#define LEFTMARGIN (LCD_WIDTH-(COLS*COL_W))/2
|
||||||
#define TOPMARGIN (LCD_HEIGHT-(ROWS*COL_H))/2
|
#define TOPMARGIN (LCD_HEIGHT-(ROWS*COL_H))/2
|
||||||
|
|
||||||
#if (CONFIG_KEYPAD == IPOD_4G_PAD) || \
|
/* this set the context to use with PLA */
|
||||||
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
|
static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
|
||||||
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_MENU
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_SCROLL_BACK|BUTTON_REPEAT
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_SCROLL_FWD|BUTTON_REPEAT
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
|
|
||||||
(CONFIG_KEYPAD == IRIVER_H300_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_OFF
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_SELECT
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_SCROLL_UP|BUTTON_REPEAT
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_SCROLL_DOWN|BUTTON_REPEAT
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_SELECT
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
|
|
||||||
(CONFIG_KEYPAD == SANSA_CONNECT_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_SCROLL_BACK|BUTTON_REPEAT
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_SCROLL_FWD|BUTTON_REPEAT
|
|
||||||
#define MATRIX_PAUSE BUTTON_SELECT
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
|
|
||||||
#define MATRIX_EXIT (BUTTON_HOME|BUTTON_REPEAT)
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_SCROLL_BACK|BUTTON_REPEAT
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_SCROLL_FWD|BUTTON_REPEAT
|
|
||||||
#define MATRIX_PAUSE BUTTON_SELECT
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == SANSA_C200_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_SELECT
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
|
|
||||||
(CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_BACK
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_SELECT
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_RC_REC
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_RC_VOL_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_RC_VOL_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_RC_PLAY
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == COWON_D2_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == IAUDIO67_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_VOLUP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_VOLDOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_BACK
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_SELECT
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD) || \
|
|
||||||
(CONFIG_KEYPAD == PHILIPS_SA9200_PAD)
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == ONDAVX747_PAD) || \
|
|
||||||
CONFIG_KEYPAD == ONDAVX777_PAD || \
|
|
||||||
CONFIG_KEYPAD == MROBE500_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_REC
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_REC
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_PREV
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_NEXT
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == MPIO_HD200_PAD
|
|
||||||
#define MATRIX_EXIT (BUTTON_REC|BUTTON_PLAY)
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_VOL_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_VOL_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == MPIO_HD300_PAD
|
|
||||||
#define MATRIX_EXIT (BUTTON_REC|BUTTON_REPEAT)
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAY
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_PLAYPAUSE
|
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
|
|
||||||
#define MATRIX_EXIT BUTTON_POWER
|
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_UP
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_DOWN
|
|
||||||
#define MATRIX_PAUSE BUTTON_SELECT
|
|
||||||
|
|
||||||
|
#ifdef HAVE_SCROLLWHEEL
|
||||||
|
#define MATRIX_SLEEP_MORE PLA_SCROLL_BACK
|
||||||
|
#define MATRIX_SLEEP_MORE_REPEAT PLA_SCROLL_BACK_REPEAT
|
||||||
|
#define MATRIX_SLEEP_LESS PLA_SCROLL_FWD
|
||||||
|
#define MATRIX_SLEEP_LESS_REPEAT PLA_SCROLL_FWD_REPEAT
|
||||||
#else
|
#else
|
||||||
#error Unsupported keypad
|
#define MATRIX_SLEEP_MORE PLA_UP
|
||||||
#endif
|
#define MATRIX_SLEEP_MORE_REPEAT PLA_UP_REPEAT
|
||||||
|
#define MATRIX_SLEEP_LESS PLA_DOWN
|
||||||
#ifdef HAVE_TOUCHSCREEN
|
#define MATRIX_SLEEP_LESS_REPEAT PLA_DOWN_REPEAT
|
||||||
#ifndef MATRIX_EXIT
|
#endif /* HAVE_SCROLLWHEEL */
|
||||||
#define MATRIX_EXIT BUTTON_TOPLEFT
|
#define MATRIX_PAUSE PLA_SELECT
|
||||||
#endif
|
#define MATRIX_EXIT PLA_EXIT
|
||||||
#ifndef MATRIX_SLEEP_MORE
|
#define MATRIX_EXIT2 PLA_CANCEL
|
||||||
#define MATRIX_SLEEP_MORE BUTTON_MIDRIGHT
|
|
||||||
#endif
|
|
||||||
#ifndef MATRIX_SLEEP_LESS
|
|
||||||
#define MATRIX_SLEEP_LESS BUTTON_MIDLEFT
|
|
||||||
#endif
|
|
||||||
#ifndef MATRIX_PAUSE
|
|
||||||
#define MATRIX_PAUSE BUTTON_CENTER
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SLEEP HZ/50
|
#define SLEEP HZ/50
|
||||||
|
|
||||||
|
@ -389,19 +254,33 @@ enum plugin_status plugin_start(const void* parameter) {
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
rb->sleep(sleep);
|
rb->sleep(sleep);
|
||||||
}
|
}
|
||||||
button = rb->button_get(frozen);
|
|
||||||
|
if(frozen)
|
||||||
|
{
|
||||||
|
button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts,
|
||||||
|
ARRAYLEN(plugin_contexts));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
button = pluginlib_getaction(TIMEOUT_NOBLOCK, plugin_contexts,
|
||||||
|
ARRAYLEN(plugin_contexts));
|
||||||
|
}
|
||||||
|
|
||||||
switch(button) {
|
switch(button) {
|
||||||
case MATRIX_PAUSE:
|
case MATRIX_PAUSE:
|
||||||
frozen = !frozen;
|
frozen = !frozen;
|
||||||
break;
|
break;
|
||||||
case MATRIX_EXIT:
|
case MATRIX_EXIT:
|
||||||
|
case MATRIX_EXIT2:
|
||||||
return PLUGIN_OK;
|
return PLUGIN_OK;
|
||||||
break;
|
break;
|
||||||
case MATRIX_SLEEP_MORE:
|
case MATRIX_SLEEP_MORE:
|
||||||
|
case MATRIX_SLEEP_MORE_REPEAT:
|
||||||
/* Sleep longer */
|
/* Sleep longer */
|
||||||
sleep += SLEEP;
|
sleep += SLEEP;
|
||||||
break;
|
break;
|
||||||
case MATRIX_SLEEP_LESS:
|
case MATRIX_SLEEP_LESS:
|
||||||
|
case MATRIX_SLEEP_LESS_REPEAT:
|
||||||
/* Sleep less */
|
/* Sleep less */
|
||||||
sleep -= SLEEP;
|
sleep -= SLEEP;
|
||||||
if (sleep < 0) sleep = 0;
|
if (sleep < 0) sleep = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue