diff --git a/README.md b/README.md index 6fae53d55..e8d2208d4 100644 --- a/README.md +++ b/README.md @@ -31,36 +31,43 @@ If your phone does not allow installing custom APKs, consult the [Installation G - 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._ +_Storage usage depends on the word root count and the average word length in each language. Some languages will require more space, even if they have fewer words than others._ ### ⚠️ Compatibility If you own a phone with Android 2.2 up to 4.4, please refer to the original version of Traditional T9 from 2016. -TT9 may not work well on Kyocera phones, Sonim phones running Android 10+, 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. +TT9 may not work well on Kyocera phones, Sonim phones running Android 10+, 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. TV sets are also not well supported at this time. + +Compatibility has been verified only on the following devices: +- Unihertz Atom L (Android 11) +- Qin F21 Pro+ (Android 11) +- Energizer H620SEU (Android 10) +- Sonim XP3800 (Android 8.1) +- Vodaphone VFD 500 (Android 6.0) ## 🤔 How to Use Traditional T9? -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. +Before using Traditional T9 for the first time you need to 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 day, you will still find the Predictive mode now offers more powerful and smart new ways of typing with even fewer key presses. -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. +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: - Add [a new language](CONTRIBUTING.md#adding-a-new-language), [new UI translations](CONTRIBUTING.md#translating-the-ui) or simply fix a spelling mistake. The process is very simple and even with minimum technical knowledge, your skills as a native speaker will be of great use. Or, if you are not tech-savvy, just [open a new issue](https://github.com/sspanak/tt9/issues) and put the correct translations or words there. Correcting misspelled words or adding new ones is the best you can do to help. Processing millions of words in multiple languages is a very difficult task for a single person. -- Share your list of added words. Use the Export function in: Settings → Languages → Added Words and upload the generated CSV file in a [new issue](https://github.com/sspanak/tt9/issues). You are also welcome to [open a PR](https://github.com/sspanak/tt9/pulls), if you have good technical knowledge and can split them by language. -- [Report bugs](https://github.com/sspanak/tt9/issues) or other unusual behavior on different phones. Currently, the only testing and development devices are: Qin F21 Pro+ / Android 11; Energizer H620SEU / Android 10; Vodaphone VFD 500 / Android 6.0; Sonim XP3800 / Android 8.1 (thanks to your donations!). But Android behaviour and appearance varies a lot across the millions of devices available out there. -- Experienced developers who are willing fix a bug, or maybe create a brand new feature, see the [Contribution Guide](CONTRIBUTING.md). +- Share your list of added words. Use the Export function in Settings → Languages → Added Words and upload the generated CSV file in a [new issue](https://github.com/sspanak/tt9/issues). You are also welcome to [open a PR](https://github.com/sspanak/tt9/pulls), if you have good technical knowledge and can split them by language. +- [Report bugs](https://github.com/sspanak/tt9/issues) or other unusual behavior on different phones. It is only possible to verify correct operation and compatibility on [a handful of phones](#Compatibility), but Android behavior and appearance vary a lot across the millions of devices available out there. +- Experienced developers who are willing to fix a bug, or maybe create a brand new feature, see the [Contribution Guide](CONTRIBUTING.md). Your PRs are welcome! ## 👍 Support If you like Traditional T9, you could donate on [buymeacoffee.com](https://www.buymeacoffee.com/sspanak). -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. +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 more easily. Thanks to your donations, a brand new testing device is available, a Sonim XP3800! This will result in much better compatibility with Sonim in the future. So, keep going! ## 🕮 License -- The source code, the logo image and the icons are licensed under the conditions described in [LICENSE.txt](LICENSE.txt). +- The source code, the logo image, and the icons are licensed under the conditions described in [LICENSE.txt](LICENSE.txt). - The dictionaries are licensed under the licenses provided in the [respective readme files](docs/dictionaries), where applicable. Detailed information about the dictionaries is also available there. - [Silver foil photo created by rawpixel.com - www.freepik.com](https://www.freepik.com/photos/silver-foil) - "Negotiate" and "Vibrocentric" fonts are under [The Fontspring Desktop/Ebook Font End User License](docs/desktop-ebook-EULA-1.8.txt). diff --git a/docs/user-manual.md b/docs/user-manual.md index dabf3c838..ebd3c67e1 100644 --- a/docs/user-manual.md +++ b/docs/user-manual.md @@ -1,8 +1,8 @@ # Traditional T9 -This manual explains how to configure and use Traditional T9 in different scenarios. For installation instructions, please consult the [Installation Guide](https://github.com/sspanak/tt9/blob/master/docs/installation.md) on Github. Finally, you may want to check out the [main repository page](https://github.com/sspanak/tt9), which includes all source code, a developer's guide, the privacy policy and supplementary documentation. +This manual explains how to configure and use Traditional T9 in different scenarios. For installation instructions, please consult the [Installation Guide](https://github.com/sspanak/tt9/blob/master/docs/installation.md) on GitHub. Finally, you may want to check out the [main repository page](https://github.com/sspanak/tt9), which 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. +After installing, first, you need to enable Traditional T9 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. _If you don't see the icon right after installing, restart your phone and it should appear. Android is trying to save some battery life by not refreshing the newly installed apps list in some cases._ @@ -10,7 +10,7 @@ _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. You can toggle the enabled languages and load their dictionaries from: Settings Screen → [Languages](#language-options). In case you have forgotten to load some dictionary, Traditional T9 will do it for you automatically, when you start typing. +Predictive Mode requires a language dictionary to be loaded to provide word suggestions. You can toggle the enabled languages and load their dictionaries from: Settings Screen → [Languages](#language-options). In case you have forgotten to load some dictionary, Traditional T9 will do it for you automatically, when you start typing. For more information, [see below](#language-options). @@ -30,7 +30,7 @@ _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 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 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". +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 the 2-key, will provide "Ana", "Anb", and "Anc". Keep going, until you get "Anakin". When filtering is enabled, the base text will become bold and italicized. @@ -40,12 +40,12 @@ _Predictive mode only._ Clear the suggestion filter, if applied. #### D-pad Center (OK or ENTER): -- When suggestions are displayed, types the currently selected suggestion. -- Otherwise, performs the default action for the current application (e.g. send a message, go to a URL, or just type a new line). +- When suggestions are displayed, type the currently selected suggestion. +- Otherwise, perform the default action for the current application (e.g. send a message, go to a URL, or just type a new line). _**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. Yet, for some of them, TT9 can be enabled to send messages in the [Compatibility Settings](#send-messages-with-ok-in-facebook-messenger)._ +_**Note2:** In messaging applications, you need to enable their "Send with ENTER" or similarly named setting, 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:** @@ -53,11 +53,11 @@ _**Note2:** In messaging applications, you need to enable their "Send with ENTER - **Hold:** type special/math characters. - **Hold "0", then press "Next Mode" (Default: hold "0", press "#"):** type currency characters - **In ABC mode:** - - **Press:** type space, newline or special/math characters. + - **Press:** type space, newline, or special/math characters. - **Hold:** type "0". - **Press "0", then press "Next Mode" (Default: press "0", "#"):** type currency characters - **In Predictive mode:** - - **Press:** type space, newline or special/math characters. + - **Press:** type space, newline, or special/math characters. - **Double press:** type the character assigned in Predictive mode settings. (Default: ".") - **Hold:** type "0". - **Press "0", then press "Next Mode" (Default: press "0", "#"):** type currency characters @@ -83,18 +83,18 @@ _**Note2:** In messaging applications, you need to enable their "Send with ENTER #### Add Word Key (Default: press ✱): Add a new word to the dictionary for the current language. -You can also add new emoji and then access them by pressing 1-1-3. Regardless of the currently selected language, all emoji will be available in all languages. +You can also add new emojis and then access them by pressing 1-1-3. Regardless of the currently selected language, all emojis will be available in all languages. #### Backspace Key: Just deletes text. If your phone has a dedicated "Del" or "Clear" key, you do not need to set anything in the Settings, unless you want to have another Backspace. In this case, the blank option: "--" will be automatically preselected. -On phones which have a combined "Delete"/"Back", that key will be selected automatically. However, you can assign "Backspace" function to another key, so "Back" will only navigate back. +On phones which have a combined "Delete"/"Back", that key will be selected automatically. However, you can assign the "Backspace" function to another key, so "Back" will only navigate back. -_**NB:** Using "Back" as backspace does not work in all applications, most notably Firefox, Spotify and Termux. They are able to take full control of the key and redefine its function, meaning it will do whatever the app authors intended. Unfortunately, nothing can be done, because "Back" plays a special role in Android and its usage is restricted by the system._ +_**NB:** Using "Back" as backspace does not work in all applications, most notably Firefox, Spotify, and Termux. They can take full control of the key and redefine its function, meaning it will do whatever the app authors intended. Unfortunately, nothing can be done, because "Back" plays a special role in Android and its usage is restricted by the system._ -_**NB 2:** Holding "Back" key will always trigger the default system action (i.e. show running applications list)._ +_**NB 2:** Holding the "Back" key will always trigger the default system action (i.e. show running applications list)._ _In these cases, you could assign another key (all other keys are fully usable), or use the on-screen backspace._ @@ -115,12 +115,12 @@ Open the Android Change Keyboard dialog where you can select between all install ## On-screen Keypad 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 → Keypad → Select Hotkeys → Backspace key, then select the "--" option. +It is also recommended to disable the special behavior of the "Back" key working as "Backspace". It is useful only for a hardware keypad. To do so, go to Settings → Keypad → 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. ## Settings Screen -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. +On the Settings screen, you can choose languages for typing, configure the keypad hotkeys, change the application appearance, or improve compatibility with your phone. ### How to access the Settings? @@ -136,14 +136,14 @@ Click on the Traditional T9 launcher icon. are configured. - Select "Traditional T9". -_The actual menu names may vary depending on your phone, Android version and language._ +_The actual menu names may vary depending on your phone, Android version, and language._ ### Language Options #### Loading a Dictionary After enabling one or more new languages, you must load the respective dictionaries for Predictive Mode. Once a dictionary is loaded, it will stay there until you use one of the "delete" options. This means you can enable and disable languages without reloading their dictionaries every time. Just do it once, only the first time. -It also means that if you need to start using language X, you can safely disable all other languages, load only dictionary X (and save time!), then re-enable all languages you used before. +It also means that if you need to start using language X, you can safely disable all other languages, load only dictionary X (and save time!), and then re-enable all languages you used before. Have in mind reloading a dictionary will reset the suggestion popularity to the factory defaults. However, there should be nothing to worry about. For the most part, you will see little to no difference in the suggestion order, unless you oftenly use uncommon words. @@ -158,27 +158,27 @@ If you have stopped using languages X or Y, you could disable them and also use To delete everything, regardless of the selection, use "Delete All". -In all cases, your custom added words will be preserved and restored once you reload the respective dictionary. +In all cases, your custom-added words will be preserved and restored once you reload the respective dictionary. #### Added Words -The "Export" option allows you to export all added words, for all languages, including any added emoji, to a CSV file. Then, you can use the CSV file to make Traditional T9 better! Go to Github and share the words in a [new issue](https://github.com/sspanak/tt9/issues) or [pull request](https://github.com/sspanak/tt9/issues). After being reviewed and approved, they will be included in the next version. +The "Export" option allows you to export all added words, for all languages, including any added emoji, to a CSV file. Then, you can use the CSV file to make Traditional T9 better! Go to GitHub and share the words in a [new issue](https://github.com/sspanak/tt9/issues) or [pull request](https://github.com/sspanak/tt9/issues). After being reviewed and approved, they will be included in the next version. Using "Delete", you can search for and delete misspelled words or others that you don't want in the dictionary. ### 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. +For several 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. +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 50-75 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._ +_**Note:** The higher the 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._ +_**Note2:** Besides the above, Qin phones may also fail to detect long presses. 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. @@ -192,16 +192,16 @@ _This option is still experimental. It may sometimes fail to detect the "Send" b 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. +- You can now go back to the settings and disable the on-screen numpad. The emoji and sticker 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. +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. +**Long explanation.** The reason for this problem is Android was 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. -#### On Qin F21 Pro, holding a 2 or 8 turns up or down the volume instead of typing a number -To mitigate this problem, go to Settings → Appearance, and enable "Status Icon". TT9 should detect Qin F21 and enable the settings automatically, but in case auto-detection failed, or you have disabled the icon for some reason, you need to have it enabled, for all keys to work properly. +#### On the Qin F21 Pro, holding 2-key or 8-key turns up or down the volume instead of typing a number +To mitigate this problem, go to Settings → Appearance, and enable "Status Icon". TT9 should detect Qin F21 and enable the settings automatically, but in case auto-detection fails, or you have disabled the icon for some reason, you need to have it enabled, for all keys to work properly. -**Long explanation.** Qin F21 Pro (and possibly F22, too), have a hotkey application which allows assigning Volume Up and Volume Down functions to number keys. By default, the hotkey manager is enabled and holding 2 increases the volume, holding 8 decreases it. However, when there is no status icon, the manager assumes no keyboard is active and adjusts the volume, instead of letting Traditional T9 handle the key and type a number. So, enabling the icon just bypasses the hotkey manager and everything works fine. \ No newline at end of file +**Long explanation.** Qin F21 Pro (and possibly F22, too), has a hotkey application that allows assigning Volume Up and Volume Down functions to number keys. By default, the hotkey manager is enabled, and holding 2-key increases the volume, holding 8-key decreases it. However, when there is no status icon, the manager assumes no keyboard is active and adjusts the volume, instead of letting Traditional T9 handle the key and type a number. So, enabling the icon just bypasses the hotkey manager and everything works fine. \ No newline at end of file