summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMartin Scarratt <mmmm@rockbox.org>2007-02-10 22:39:45 +0000
committerMartin Scarratt <mmmm@rockbox.org>2007-02-10 22:39:45 +0000
commit3cf50c00079d277c289c7f6b6166adc796709b5e (patch)
treef86cb15c8902bd6c56827fb475117f05edcbdbcd /apps
parenta6d68bd7409b3f54de8e02ec37e369167f55a50c (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.c28
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)