diff options
| author | Martin Scarratt <mmmm@rockbox.org> | 2007-02-10 22:39:45 +0000 |
|---|---|---|
| committer | Martin Scarratt <mmmm@rockbox.org> | 2007-02-10 22:39:45 +0000 |
| commit | 3cf50c00079d277c289c7f6b6166adc796709b5e (patch) | |
| tree | f86cb15c8902bd6c56827fb475117f05edcbdbcd | |
| parent | a6d68bd7409b3f54de8e02ec37e369167f55a50c (diff) | |
| download | rockbox-3cf50c00079d277c289c7f6b6166adc796709b5e.zip rockbox-3cf50c00079d277c289c7f6b6166adc796709b5e.tar.gz rockbox-3cf50c00079d277c289c7f6b6166adc796709b5e.tar.bz2 rockbox-3cf50c00079d277c289c7f6b6166adc796709b5e.tar.xz | |
Allow cursor changes in Morse Vkeyboard for targets that use line_edit mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12265 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/recorder/keyboard.c | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/apps/recorder/keyboard.c b/apps/recorder/keyboard.c index 9b4240b..52aaf9a 100644 --- a/apps/recorder/keyboard.c +++ b/apps/recorder/keyboard.c @@ -574,7 +574,7 @@ int kbd_input(char* text, int buflen) screens[l].update(); button = get_action(CONTEXT_KEYBOARD,HZ/2); -#ifdef KBD_MORSE_INPUT +#if defined KBD_MORSE_INPUT && !defined KBD_MODES if (morse_mode) { /* Remap some buttons for morse mode. */ @@ -631,12 +631,13 @@ int kbd_input(char* text, int buflen) #endif case ACTION_KBD_RIGHT: -#ifdef KBD_MORSE_INPUT - if (morse_mode) - break; -#endif #ifdef KBD_MODES +#ifdef KBD_MORSE_INPUT + if (line_edit || morse_mode) /* allow cursor change in non line + edit morse mode */ +#else if (line_edit) /* right doubles as cursor_right in line_edit */ +#endif { if (hangul) hangul = false; @@ -651,6 +652,10 @@ int kbd_input(char* text, int buflen) else #endif { +#ifdef KBD_MORSE_INPUT + if (morse_mode) + break; +#endif FOR_NB_SCREENS(l) { if (++param[l].x == param[l].max_chars) { @@ -668,12 +673,13 @@ int kbd_input(char* text, int buflen) break; case ACTION_KBD_LEFT: -#ifdef KBD_MORSE_INPUT - if (morse_mode) - break; -#endif #ifdef KBD_MODES +#ifdef KBD_MORSE_INPUT + if (line_edit || morse_mode) /* allow cursor change in non line + edit morse mode */ +#else if (line_edit) /* left doubles as cursor_left in line_edit */ +#endif { if (hangul) hangul = false; @@ -688,6 +694,10 @@ int kbd_input(char* text, int buflen) else #endif { +#ifdef KBD_MORSE_INPUT + if (morse_mode) + break; +#endif FOR_NB_SCREENS(l) { if (param[l].x) |