From 772929fa473b5621e8f29497cef41111271c71ad Mon Sep 17 00:00:00 2001 From: sspanak Date: Thu, 22 Feb 2024 22:01:19 +0200 Subject: [PATCH] documentation update --- README.md | 26 ++++---- app/src/main/AndroidManifest.xml | 4 +- app/src/main/res/values-bg/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-iw/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- docs/user-manual.md | 69 ++++++++++++++++------ 13 files changed, 77 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 5d4e52fb..0fa4556d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,12 @@ # Traditional T9 -TT9 is an IME (Input Method Editor) for Android devices with a hardware keypad. It supports predictive text typing in [multiple languages](app/languages/definitions) and configurable hotkeys, bringing old school Nokia experience to modern Android devices. +Traditional T9 (or TT9) is a T9 keyboard for Android devices with a hardware keypad. It supports predictive text typing in [20+ languages](app/languages/definitions) and configurable hotkeys, bringing old school Nokia experience to modern Android devices. Touchscreen-only devices are also supported with a virtual on-screen keypad. This is a modernized version of the [original project](https://github.com/Clam-/TraditionalT9) by Clam-. +## 📷 Screenshots + + + ## 📦 Install [Get it on IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/io.github.sspanak.tt9) -## 📷 Screenshots - - - ## ⚙️ System Requirements -- Android 4.4 or higher. _(Tested and confirmed on Android 6.0, 10 and 11)_ +- Android 4.4 or higher. _(Tested and confirmed on Android 6, 10 and 11)_ - A hardware keypad or a keyboard. For touchscreen-only devices, an on-screen keypad can be enabled in the Settings. -- Minimum 50 Mb of storage space. Extra space is needed for language dictionaries in Predictive Mode. +- Minimum 55 Mb of storage space. Extra space is needed for language dictionaries in Predictive Mode. - Very small languages (< 100k words; Yiddish, Indonesian): 5-6 Mb per language. - Small languages (100k-400k words; e.g. English, Norwegian, Swedish, Finnish, German, French): 15-30 Mb per language. - - Medium languages (400k-800k words; e.g. Danish, Hebrew, Italian, Greek): 40-75 Mb per language - - Large languages (800k-1.5M words; e.g. Bulgarian, Spanish, Romanian, Ukrainian, Russian): 100-165 Mb per language + - Medium languages (400k-800k words; e.g. Danish, Hebrew, Italian, Greek, Portuguese): 40-75 Mb per language + - Large languages (800k-1.5M words; e.g. Arabic, Bulgarian, Spanish, Romanian, Ukrainian, Russian): 100-165 Mb per language _Storage usage depends on the word roots count, and the average word length in each language. Some languages will require more space, even if they have less words than others._ @@ -33,9 +33,9 @@ If you own a phone with Android 2.2 up to 4.4, please refer to the original vers TT9 may not work well on Kyocera phones, some Sonim phones and some other devices that run highly customized Android versions, where all apps are integrated and intended to work with the respective native keyboard. You may experience missing functionality or unexpected text/numbers appearing when you try to type. ## 🤔 How to Use Traditional T9? -Before using Traditional T9 for the first time you would need to load a dictionary and configure it. After that, you could start typing right away in one of the three modes: Predictive, ABC or Numeric (123). And even if you have mastered the keypad back in the days, you would still find the Predictive mode now provides powerful and smart new ways of typing with even less key presses. +Before using Traditional T9 for the first time you need configure it and load a dictionary. After that, you can start typing right away in one of the three modes: Predictive, ABC or Numeric (123). And even if you have mastered the keypad back in the days, you will still find the Predictive mode now offers more powerful and smart new ways of typing with even less key presses. -So make sure to read the initial setup and the hotkey tips in the [user manual](docs/user-manual.md). +So make sure to read the initial setup and the hotkey tips in the [user manual](docs/user-manual.md). Also don't miss the convenient [compatibility options](docs/user-manual.md#compatibility-options--troubleshooting) aimed to improve the experience in some applications. ## ⌨ Contributing As with many other open-source projects, this one is also maintained by its author in his free time. Any help in making Traditional T9 better will be highly appreciated. Here is how: @@ -46,7 +46,9 @@ As with many other open-source projects, this one is also maintained by its auth Your PRs are welcome! ## 👍 Support -If you like Traditional T9, buy me a beer. Donations are currently accepted on [buymeacoffee.com](https://www.buymeacoffee.com/sspanak). +If you like Traditional T9, you could donate on [buymeacoffee.com](https://www.buymeacoffee.com/sspanak). + +Alternatively, you could donate a phone. This will make it easier to fix manufacturer-specific issues and test new features. Currently looking for: LG X100S, CAT S22 Flip, some Kyocera and some Sonim device. These are the most problematic of all and are hard to find where I live. Or if you just want to show your appreciation, give the project a star. Higher ranked projects on GitHub have the opportunity to use development tools for free, and apply for funding easier. diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 08db6328..fa3675e7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 0fa07cf3..37102b66 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -84,6 +84,6 @@ Не Автоматично Да се добави ли „%1$s“ към %2$s? - Защита от многократно натискане + Защита от случайно повтарящи бутони Изключена diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 335c8dfa..bbf00575 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -37,6 +37,6 @@ Wenn Ihnen %1$s gefällt, könnten Sie die Entwicklung auf %2$s unterstützen. Mit \"OK\" in Facebook Messenger senden Nachrichten mit \"OK\" in Google Chat senden - Mehrfacher Pressschutz + Schutz vor versehentlichem Tastenwiederholen Aus diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 449c3526..e7388fe7 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -80,6 +80,6 @@ Si te gusta %1$s, podrías apoyar su desarrollo en: %2$s. Enviar con «OK» en Facebook Messenger Enviar mensajes con «OK» en Google Chat - Protección con múltiples clics + Protección contra la repetición accidental de teclas Apagado diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f3ab6f47..0c23c456 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -78,6 +78,6 @@ Charger Donner Si vous aimez %1$s vous pouvez soutenir son développement à : %2$s - Protection multi-presse + Protection contre la répétition accidentelle des touches Désactivée diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ce329ae7..a8a99d51 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -46,7 +46,7 @@ Se ti piace %1$s, potresti supportarne lo sviluppo su: %2$s. Inviare con \"OK\" su Facebook Messenger Inviare messaggi con \"OK\" su Google Chat - Protezione multi-pressione + Protezione contro la ripetizione accidentale dei tasti Spento diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index d5a47ba5..68b000cd 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -73,6 +73,6 @@ אם אתה אוהב את %1$s, תוכל לתמוך בפיתוח שלו בכתובת: %2$s שלח עם \"OK\" ב-Facebook Messenger. שלח הודעות עם \"OK\" ב-Google Chat - הגנה מרובה לחיצות + הגנה מפני חזרת מפתח בשוגג כבוי diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 5a42d56e..505f4bc3 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -37,6 +37,6 @@ Als je %1$s leuk vindt, zou je de ontwikkeling kunnen ondersteunen op: %2$s. Verstuur met \"OK\" in Facebook Messenger Stuur berichten met \"OK\" in Google Chat - Bescherming tegen meervoudig persen + Bescherming tegen het per ongeluk herhalen van toetsen Uit diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 1ab20bd0..e2853346 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -69,6 +69,6 @@ Se você gosta de %1$s, você poderia apoiar o seu desenvolvimento em: %2$s. Enviar com \"OK\" no Facebook Messenger Enviar mensagens com \"OK\" no Google Chat - Proteção multiclique + Proteção contra repetição acidental de teclas Desligado diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index d8482f40..39c08606 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -84,6 +84,6 @@ Поддержать Если вам нравится %1$s, вы можете поддержать его разработку по: %2$s. Отправка сообщения с «ОК» в Google Chat - Защита от многократного нажатия + Защита от случайного повторения нажатий Выключена diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c5737f8a..16503f5a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -47,7 +47,7 @@ Character for Double 0-key Press Send messages with \"OK\" in Google Chat Send with \"OK\" in Facebook Messenger - Multi-Press Protection + Accidental Key Repeat Protection Off Show On-Screen Keys Show On-Screen Numpad diff --git a/docs/user-manual.md b/docs/user-manual.md index 570761ff..35158e98 100644 --- a/docs/user-manual.md +++ b/docs/user-manual.md @@ -1,5 +1,5 @@ # Traditional T9 -This manual explains how to configure and use TT9 in different scenarios. If you are looking for download or installation instructions, please refer to the README on Github: [https://github.com/sspanak/tt9](https://github.com/sspanak/tt9). All source code, the privacy policy, a development guide and additional documentation are also available there. +This manual explains how to configure and use Traditional T9 in different scenarios. For download and installation instructions, please consult the README on Github: [https://github.com/sspanak/tt9](https://github.com/sspanak/tt9). The repository includes all source code, a developer's guide, the privacy policy and supplementary documentation. ## Initial Setup After installing, in order to use Traditional T9, you need to enable it as an Android keyboard. To do so, click on the launcher icon. If you need to take any action, all options besides Initial Setup would be disabled and there would be a label saying TT9 is disabled. Go to Initial Setup and enable it. @@ -10,11 +10,11 @@ _If you don't see the icon right after installing, restart your phone and it sho If your phone does not have a hardware keypad, check out the [On-screen Keypad section](#on-screen-keypad). ### Enabling Predictive Mode -Predictive Mode requires a language dictionary to be loaded in order provide word suggestions. By default, when Traditional T9 activates, it will automatically load the dictionary for the current language. If you have enabled more than one language, you can cycle them, until all the dictionaries are loaded. +Predictive Mode requires a language dictionary to be loaded in order provide word suggestions. You can toggle the enabled languages and load their dictionaries from: [Settings screen](#settings-screen) → Languages. -Alternatively, you can load them all at once, manually, from: [Settings screen](#settings-screen) → Languages → Load. +In case you have forgotten to load some dictionary, Traditional T9 will do it for you automatically. Just go to some application where you can type and it will start loading. You will be prompted to wait until it completes and after that, you can start typing right away. -_If you [delete one or more dictionaries](#deleting-a-dictionary), they will NOT reload automatically, when you go back to typing. You will have to do so manually. Only dictionaries for newly enabled languages will load automatically._ +_If you [delete one or more dictionaries](#deleting-a-dictionary), they will NOT reload automatically. You will have to do so manually. Only dictionaries for newly enabled languages will load automatically._ ### Dictionary Tips @@ -27,7 +27,7 @@ Have in mind reloading a dictionary will reset the suggestion popularity to the #### Deleting a Dictionary -If you have stopped using languages X or Y, you could disable them and also use "Delete Unselected", to remove their dictionaries and free some storage space. +If you have stopped using languages X or Y, you could disable them and also use "Delete Unselected", to free some storage space. To delete everything, regardless of the selection, use "Delete All". @@ -44,18 +44,17 @@ Select the next word/letter suggestion. #### Filter Suggestions key (Default: D-pad Up): _Predictive mode only._ -- **Single press**: Filter the suggestion list, leaving out only the ones that start with the current word. It doesn't matter if it is a complete word or not. For example, type "remin" and press Right. It will leave out all words starting with "remin": "remin" itself, "remind", "reminds", "reminded", "reminding", and so on. -- **Double press**: Expand the filter to the full suggestion. For example, type "remin" and press Right twice. It will first filter by "remin", then expand the filter to "remind". You can keep expanding the filter with Right, until you get to the longest suggestion in the list. +- **Single press**: Filter the suggestion list, leaving out only the ones that start with the current word. It doesn't matter if it is a complete word or not. For example, type "remin" and press Filter. It will leave out all words starting with "remin": "remin" itself, "remind", "reminds", "reminded", "reminding", and so on. +- **Double press**: Expand the filter to the full suggestion. For example, type "remin" and press Filter twice. It will first filter by "remin", then expand the filter to "remind". You can keep expanding the filter until you get to the longest dictionary word. -Filtering can also be used to type unknown words. Let's say you want to type "Anakin", which is not in the dictionary. Start with "A", then press Right to hide "B" and "C". Now press 6-key. Since the filter is on, in addition to the real dictionary words, it will provide all possible combinations for 6: "Am", "An", "Ao". Select "An" and press Right to confirm your selection. Now pressing 2-key, will provide "Ana", "Anb", "Anc". You can keep going, until you complete "Anakin". +Filtering can also be used to type unknown words. Let's say you want to type "Anakin", which is not in the dictionary. Start with "A", then press Filter to hide "B" and "C". Now press 6-key. Since the filter is on, in addition to the real dictionary words, it will provide all possible combinations for 6: "Am", "An", "Ao". Select "An" and press Filter to confirm your selection. Now pressing 2-key, will provide "Ana", "Anb", "Anc". Keep going, until you get "Anakin". When filtering is enabled, the base text will become bold and italicized. #### Clear Filter key (Default: D-pad Down): _Predictive mode only._ -- Clear the suggestion filter, if applied. -- When no filter is applied, accept the current word as-is, even if it does not fully match a suggestion, then jump before it. +Clear the suggestion filter, if applied. #### D-pad Center (OK or ENTER): - When suggestions are displayed, types the currently selected suggestion. @@ -63,9 +62,7 @@ _Predictive mode only._ _**Note:** Every application decides on its own what to do when OK is pressed and TT9 has no control over this._ -_**Note2:** In messaging applications, you need to enable their "Send with ENTER" or similarly named setting, in order to send messages with OK. If the application has no such setting, it usually means it disallows sending messages this way._ - -_**Note3:** Facebook Messenger supports sending messages with the keypad only on some devices. If it does not work on yours, go to Settings -> Initial Setup and enable the "Send messages with OK in Messenger" option. This ensures sending is possible on any phone._ +_**Note2:** In messaging applications, you need to enable their "Send with ENTER" or similarly named setting, in order to send messages with OK. If the application has no such setting, it usually means it disallows sending messages this way. Yet, for some of them, TT9 can be enabled to send messages in the [Compatibility Settings](#send-messages-with-ok-in-facebook-messenger)._ #### 0-key: - **In 123 mode:** @@ -104,7 +101,7 @@ _In these cases, you could assign another key (all other keys are fully usable), #### Next Input Mode Key (Default: Press #): - **Press when there are no suggestions:** Cycle the input modes (abc → ABC → Predictive → 123). Note that only 123 mode is available in numeric fields and Predictive mode is not available in password fields. -- **Press while suggestions are on:** Toggle the suggestions between UPPERCASE and lowercase. +- **Press while suggestions are on:** Toggle the suggestions between UPPERCASE and lowercase. In case the suggestions are only special characters, switch to the next character group. - **Number-only fields:** No special action. Type a "#" with the default key. Changing the mode is not possible in such fields. #### Next Language Key (Default: Hold #): @@ -117,14 +114,14 @@ Open the Settings configuration screen. Open the Android Change Keyboard dialog where you can select between all installed keyboards. ## On-screen Keypad -On touchscreen-only phones, a fully functional on-screen keypad is available. Enable it from Settings -> Appearance -> Show On-Screen Numpad. +On touchscreen-only phones, a fully functional on-screen keypad is available. Enable it from Settings → Appearance → Show On-Screen Numpad. -It is also recommended to disable the special behavior of "Back" key working as "Backspace". It is useful only for a hardware keypad. To do so, go to: Settings -> Keyboard -> Select Hotkeys -> Backspace key, then select the "--" option. +It is also recommended to disable the special behavior of "Back" key working as "Backspace". It is useful only for a hardware keypad. To do so, go to: Settings → Keyboard → Select Hotkeys → Backspace key, then select the "--" option. -If you do have a hardware keypad and prefer having more screen space, disable the software keys from the Settings -> Appearance. +If you do have a hardware keypad and prefer having more screen space, disable the software keys from the Settings → Appearance. ## Settings Screen -On the Settings screen, you can choose languages for typing, configure the keypad hotkeys or change the application appearance. +On the Settings screen, you can choose languages for typing, configure the keypad hotkeys, change the application appearance or improve the compatibility with your phone. ### How to access the Settings? @@ -141,3 +138,39 @@ Click on the Traditional T9 launcher icon. - Select "Traditional T9". _The actual menu names may vary depending on your phone, Android version and language._ + +### Compatibility Options & Troubleshooting +For a number of applications or devices, it is possible to enable special options, which will make Traditional T9 work better with them. You can find them in: Settings → Initial Setup, under the Compatibility section. + +#### Alternative suggestion scrolling method +On some devices, in Predictive Mode, you may not be able to see all suggestions, or may not be able to scroll the list to the end. The problem occurs sometimes on Android 9 or earlier. Enable the option, if you are experiencing this issue. + +#### Key repeat protection +CAT S22 Flip and Qin F21 phones are known for their low quality keypads, which degrade quickly over time, and start registering multiple clicks for a single key press. You may notice this when typing or navigating the phone menus. + +For CAT phones the recommended setting is 75-100 ms. For Qin F21, try with 20-30 ms. If you are still experiencing the issue, increase the value a bit, but generally try to keep it as low as possible. + +_**Note:** The higher value you set, the slower you will have to type. TT9 will ignore very quick key presses._ + +_**Note2:** Besides the above, Qin phones may also fail to detect long press. Unfortunately, in this case nothing can be done._ + +#### Send messages with OK in Facebook Messenger +Facebook Messenger fails to recognize the OK key on some devices, making it impossible to send messages with it. If you prefer to send messages using OK, instead of Messenger's own send button, enable this option. This ensures sending is possible on any phone. + +#### Send messages with OK in Google Chat +Similar to the above, but for Google Chat. + +_This option is still experimental. It may sometimes fail to detect the "Send" button and click another one. If this starts happening, just close the chat and reopen it._ + +#### Telegram/Snapchat stickers and emoji panels won't open +This happens if you are using one of the small-sized layouts. Currently, there is no permanent fix, but you can use the following workaround: +- Go to Settings → Appearance and enable On-Screen Numpad. +- Go back to the chat and click the emoji or the stickers button. They will now appear. +- You can now go back to the settings and disable the on-screen numpad. The emoji and stickers panels will remain accessible until you restart the app or the phone. + +#### Traditional T9 does not appear immediately in some applications +If you have opened an application where you can type, but TT9 does not wake up, just start typing and it will. Alternatively, you could also use the hotkeys for changing [the input mode](#next-input-mode-key-default-press-) or the [language](#next-language-key-default-hold-). You may also use the OK key, but this is not recommended, because you may accidentally send a message, submit a form or perform another action, depending on the application. + +**Long explanation.** The reason for this problem is Android is originally designed for touchscreen devices. Hence, it expects you to touch the text/number field to show the keyboard. It is possible to make TT9 appear without this confirmation, but then, in some cases, Android will forget to hide it when it must. For example, it may remain visible after you have dialed a phone number or after you have submitted text in a search field. + +For these reasons, in order to stick with the expected Android standards, the control is in your hands. Just press a key to "touch" the screen and keep typing. \ No newline at end of file