summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-08-26 20:50:52 +0100
committerAidan MacDonald <amachronic@protonmail.com>2021-11-21 20:26:20 +0000
commit7e428ad190dd8d928fbb1451a7bb81dd4e856258 (patch)
tree5587d055b2b634f2ba76af86677be6a9591d96e0 /apps
parentad66c3b807245a8c0b4ea78e0c5d980d71726d89 (diff)
downloadrockbox-7e428ad190dd8d928fbb1451a7bb81dd4e856258.tar.gz
rockbox-7e428ad190dd8d928fbb1451a7bb81dd4e856258.zip
touchscreen: force 3x3 mode in the keyboard
In absolute pointing mode the keyboard is virtually unusable since the keys are too tiny (just 8x6). There are other issues too: for example putting the keys on top doesn't make sense on touchscreens and there is a lot of empty space in between keys that serves no real purpose. Until these issues can be addressed properly simply force 3x3 mode when in the keyboard. Change-Id: I3ea95ae479372f5b5f86ffcc2dbde10a03663820
Diffstat (limited to 'apps')
-rw-r--r--apps/recorder/keyboard.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/apps/recorder/keyboard.c b/apps/recorder/keyboard.c
index 9586385d3e..fd6099c8c6 100644
--- a/apps/recorder/keyboard.c
+++ b/apps/recorder/keyboard.c
@@ -342,6 +342,13 @@ int kbd_input(char* text, int buflen, unsigned short *kbd)
342 viewportmanager_theme_enable(l, false, NULL); 342 viewportmanager_theme_enable(l, false, NULL);
343 } 343 }
344 344
345#ifdef HAVE_TOUCHSCREEN
346 /* keyboard is unusuable in pointing mode so force 3x3 for now.
347 * TODO - fix properly by using a bigger font and changing the layout */
348 enum touchscreen_mode old_mode = touchscreen_get_mode();
349 touchscreen_set_mode(TOUCHSCREEN_BUTTON);
350#endif
351
345 /* initialize state */ 352 /* initialize state */
346 state.text = text; 353 state.text = text;
347 state.buflen = buflen; 354 state.buflen = buflen;
@@ -680,6 +687,10 @@ int kbd_input(char* text, int buflen, unsigned short *kbd)
680 if (ret < 0) 687 if (ret < 0)
681 splash(HZ/2, ID2P(LANG_CANCEL)); 688 splash(HZ/2, ID2P(LANG_CANCEL));
682 689
690#ifdef HAVE_TOUCHSCREEN
691 touchscreen_set_mode(old_mode);
692#endif
693
683#if defined(HAVE_MORSE_INPUT) && defined(KBD_TOGGLE_INPUT) 694#if defined(HAVE_MORSE_INPUT) && defined(KBD_TOGGLE_INPUT)
684 if (global_settings.morse_input != state.morse_mode) 695 if (global_settings.morse_input != state.morse_mode)
685 { 696 {