Enable Morse mode for virtual keyboard on h10 players and make it possible to enter line edit while in Morse mode.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11911 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Nils Wallménius 2007-01-04 14:36:04 +00:00
parent 922c0d6d33
commit 8a71f1adfd
2 changed files with 17 additions and 4 deletions

View file

@ -5,6 +5,7 @@
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) Barry Wardell 2006
*
@ -280,13 +281,15 @@ static const struct button_mapping button_context_keyboard[] = {
{ ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
{ ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_SELECT, BUTTON_REW|BUTTON_REL, BUTTON_REW },
{ ACTION_KBD_DONE, BUTTON_PLAY, BUTTON_NONE },
{ ACTION_KBD_SELECT, BUTTON_REW, BUTTON_NONE },
{ ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
{ ACTION_KBD_ABORT, BUTTON_FF, BUTTON_NONE },
{ ACTION_KBD_UP, BUTTON_SCROLL_UP, BUTTON_NONE },
{ ACTION_KBD_UP, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE },
{ ACTION_KBD_DOWN, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_KBD_MORSE_INPUT, BUTTON_REW|BUTTON_PLAY, BUTTON_NONE },
{ ACTION_KBD_MORSE_SELECT, BUTTON_REW|BUTTON_REL, BUTTON_NONE },
LAST_ITEM_IN_LIST
}; /* button_context_keyboard */

View file

@ -64,6 +64,7 @@
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define KBD_MODES /* iriver H10 uses 2 modes, picker and line edit */
#define KBD_MORSE_INPUT
#endif
struct keyboard_parameters {
@ -708,7 +709,7 @@ int kbd_input(char* text, int buflen)
break;
case ACTION_KBD_DOWN:
#ifdef KBD_MORSE_INPUT
#if defined KBD_MORSE_INPUT && !defined KBD_MODES
if (morse_mode)
break;
#endif
@ -746,7 +747,7 @@ int kbd_input(char* text, int buflen)
break;
case ACTION_KBD_UP:
#ifdef KBD_MORSE_INPUT
#if defined KBD_MORSE_INPUT && !defined KBD_MODES
if (morse_mode)
break;
#endif
@ -762,8 +763,13 @@ int kbd_input(char* text, int buflen)
#endif
FOR_NB_SCREENS(l)
{
#ifdef KBD_MORSE_INPUT
if (param[l].y && !morse_mode)
#else
if (param[l].y)
#endif
param[l].y--;
else
#ifndef KBD_MODES
param[l].y = param[l].lines - 1;}
@ -807,7 +813,11 @@ int kbd_input(char* text, int buflen)
else
char_screen = 0;
#ifdef KBD_MORSE_INPUT
#ifdef KBD_MODES
if (morse_mode && !line_edit)
#else
if (morse_mode)
#endif
{
morse_tick = current_tick;
if (!morse_reading)