diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-08-26 20:50:52 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-11-21 20:26:20 +0000 |
commit | 7e428ad190dd8d928fbb1451a7bb81dd4e856258 (patch) | |
tree | 5587d055b2b634f2ba76af86677be6a9591d96e0 /apps | |
parent | ad66c3b807245a8c0b4ea78e0c5d980d71726d89 (diff) | |
download | rockbox-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.c | 11 |
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 | { |