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 /apps | |
parent | a6d68bd7409b3f54de8e02ec37e369167f55a50c (diff) |
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
Diffstat (limited to 'apps')
-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 9b4240b8ba..52aaf9a19c 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) |