1
0
Fork 0

updated documentation and bumped up the version info

This commit is contained in:
sspanak 2024-09-30 12:36:44 +03:00 committed by Dimo Karaivanov
parent 309d245a53
commit 22d0d73e29
6 changed files with 52 additions and 40 deletions

View file

@ -1,15 +1,13 @@
# Traditional T9 Contribution Guide # Traditional T9 Contribution Guide
If you would like to contribute to the project by fixing a bug, adding a new language or something else, read below. If you would like to contribute to the project by fixing a bug, adding a new language or something else, read below.
## Getting Started ## Getting Started
- If you are about to write code, you need to setup your development environment. See the [Building](#building) section. - If you are about to write code, you need to setup your development environment. See the [Building](#building) section.
- If you would like to add a new language, follow the [New Language](#adding-a-new-language) section. - If you would like to add a new language, follow the [New Language](#adding-a-new-language) section.
- Finally, see what is the actual [contribution process](#contribution-process) and how to get your code merged. - Finally, see what is the actual [contribution process](#contribution-process) and how to get your code merged.
## Building ## Building
The recommended way of building is using Android Studio. As the of time of writing this, the current version is: Android Studio Hedgehog | 2023.1.1. The recommended way of building is using Android Studio. The project is compatible with Android Studio Ladybug | 2024.2.1.
### Building a Debug .apk ### Building a Debug .apk
If you have not configured Android Studio yet, follow [the official manual](https://developer.android.com/training/basics/firstapp), then follow the simple steps below to get the project running. If you have not configured Android Studio yet, follow [the official manual](https://developer.android.com/training/basics/firstapp), then follow the simple steps below to get the project running.

View file

@ -1,6 +1,6 @@
# Traditional T9 [![codebeat badge](https://codebeat.co/badges/f7ab222f-4c5d-4b79-b1c8-401eea79c206)](https://codebeat.co/projects/github-com-sspanak-tt9-master) ![GitHub Downloads (all assets, latest release)](https://img.shields.io/github/downloads/sspanak/tt9/latest/total) # Traditional T9 [![codebeat badge](https://codebeat.co/badges/f7ab222f-4c5d-4b79-b1c8-401eea79c206)](https://codebeat.co/projects/github-com-sspanak-tt9-master) ![GitHub Downloads (all assets, latest release)](https://img.shields.io/github/downloads/sspanak/tt9/latest/total)
TT9 is a 12-key T9 keyboard for devices with a hardware numpad. It supports predictive text typing in [25+ languages](app/languages/definitions), configurable hotkeys, and an on-screen keypad that can turn your smartphone into a Nokia from the 2000s. And, best of all, it doesn't spy on you! TT9 is a 12-key T9 keyboard for devices with a hardware numpad. It supports predictive text typing in [30+ languages](app/languages/definitions), configurable hotkeys, and an on-screen keypad that can turn your smartphone into a Nokia from the 2000s. And, best of all, it doesn't spy on you!
This is a modernized version of the [original project](https://github.com/Clam-/TraditionalT9) by Clam-. This is a modernized version of the [original project](https://github.com/Clam-/TraditionalT9) by Clam-.
@ -69,25 +69,19 @@ Your PRs are welcome!
## 👍 Support ## 👍 Support
If you want to show your appreciation, give the project a star on GitHub. Higher-ranked projects have the opportunity to use development tools for free and apply for funding more easily. Or give it 5 stars on Google Play to help it appear higher in the search results. If you want to show your appreciation, give the project a star on GitHub. Higher-ranked projects have the opportunity to use development tools for free and apply for funding more easily. Or give it 5 stars on Google Play to help it appear higher in the search results.
You could also donate on [buymeacoffee.com](https://www.buymeacoffee.com/sspanak). So far, your donations have bought a Sonim XP3800 phone and helped fix numerous Sonim-specific problems. You could also donate on [buymeacoffee.com](https://www.buymeacoffee.com/sspanak).
If you own another device that does not run TT9 smoothly, you can fund the purchase of one. Just leave a comment you are donating to support the purchase of a testing device. Here is how much some of the most popular phones cost (with delivery included): ## 💪 Philosophy and Privacy Policy
- TCL Flip 2: 50 USD - No ads, no premium or paid features. It's all free.
- Kyocera Dura XV Extreme: ~180 USD - No spying, no tracking, no telemetry or reports. No nothing!
- Kyocera Digno 4: ~160 USD - No unnecessary bells or whistles. It only does its job, typing.
- The Full version operates entirely offline with no Internet permission. The Lite version connects only when downloading dictionaries from GitHub and when the voice input is active.
Buying these devices will help fixing bugs like: [#249](https://github.com/sspanak/tt9/issues/249), [#306](https://github.com/sspanak/tt9/issues/306), [#423](https://github.com/sspanak/tt9/issues/423), or [#522](https://github.com/sspanak/tt9/issues/522). - Open-source, so you can verify all the above yourself.
- Created with help from the entire community.
- Things it will (probably) never have: QWERTY layout, swipe-typing, GIFs and stickers, backgrounds or other customizations. "It can be any color you like, as long as it is black."
## 🕮 License ## 🕮 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. - 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) - [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). - "Negotiate" and "Vibrocentric" fonts are under [The Fontspring Desktop/Ebook Font End User License](docs/desktop-ebook-EULA-1.8.txt).
## 💪 Privacy Policy and Philosophy
- No ads, no premium or paid features. It's all free.
- No spying, no tracking, no telemetry or reports. No nothing!
- Network connectivity is only used for voice input and downloading dictionaries from Github. You can also use the Full version that includes all languages and requires no Internet permission.
- It only does its job.
- Open-source, so you can verify all the above yourself.
- Created with help from the entire community.

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:tools="http://schemas.android.com/tools" <manifest xmlns:tools="http://schemas.android.com/tools"
android:versionCode="694" android:versionCode="743"
android:versionName="38.0" android:versionName="39.0"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <!-- allows displaying notifications on Android >= 13 --> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <!-- allows displaying notifications on Android >= 13 -->

View file

@ -69,16 +69,16 @@ _**Note 2:** In messaging applications, you need to enable their "Send with ENTE
- **In 123 mode:** - **In 123 mode:**
- **Press:** type "0". - **Press:** type "0".
- **Hold:** type special/math characters. - **Hold:** type special/math characters.
- **Hold "0", then press "Next Mode" (Default: hold "0", press "#"):** type currency characters - **Hold "0", then press Shift (Default: hold "0", press "✱"):** type currency characters
- **In ABC mode:** - **In ABC mode:**
- **Press:** type space, newline, or special/math characters. - **Press:** type space, newline, or special/math characters.
- **Hold:** type "0". - **Hold:** type "0".
- **Press "0", then press "Next Mode" (Default: press "0", "#"):** type currency characters - **Press "0", then press Shift (Default: press "0", "✱"):** type currency characters
- **In Predictive mode:** - **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: ".") - **Double press:** type the character assigned in Predictive mode settings. (Default: ".")
- **Hold:** type "0". - **Hold:** type "0".
- **Press "0", then press "Next Mode" (Default: press "0", "#"):** type currency characters - **Press "0", then press Shift (Default: press "0", "✱"):** type currency characters
#### 1-key: #### 1-key:
- **In 123 mode:** - **In 123 mode:**
@ -119,9 +119,11 @@ _**NB 2:** Holding the "Back" key will always trigger the default system action
_In these cases, you could assign another key (all other keys are fully usable), or use the on-screen backspace._ _In these cases, you could assign another key (all other keys are fully usable), or use the on-screen backspace._
#### Next Input Mode Key (Default: press #): #### 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. Cycle the input modes (abc → Predictive → 123).
- **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. _Predictive mode is not available in password fields._
_In number-only fields, changing the mode is not possible. In such cases, the key reverts to its default function (i.e. type "#")._
#### Edit Text Key: #### Edit Text Key:
Show the text editing panel, which allows you to select, cut, copy, and paste text. You can close the panel by pressing the "✱" key again or, in most applications, by pressing the Back button. Details are available [below](#text-editing). Show the text editing panel, which allows you to select, cut, copy, and paste text. You can close the panel by pressing the "✱" key again or, in most applications, by pressing the Back button. Details are available [below](#text-editing).
@ -132,25 +134,29 @@ Select the next language, when multiple languages have been enabled from the Set
#### Select Keyboard Key: #### Select Keyboard Key:
Open the Android Change Keyboard dialog where you can select between all installed keyboards. Open the Android Change Keyboard dialog where you can select between all installed keyboards.
#### Shift Key (Default: press ✱):
- **When typing text:** Toggle between uppercase and lowercase.
- **When typing special characters with the 0-key**: Display the next character group.
#### Show Settings Key: #### Show Settings Key:
Open the Settings configuration screen. It is where you can choose languages for typing, configure the keypad hotkeys, change the application appearance, or improve compatibility with your phone. Open the Settings configuration screen. It is where you can choose languages for typing, configure the keypad hotkeys, change the application appearance, or improve compatibility with your phone.
#### Voice Input Key: #### Voice Input Key:
Activate the voice input on the phones that support it. See [below](#voice-input) for more info. Activate the voice input on the phones that support it. See [below](#voice-input) for more info.
#### Command-List Key / aka Command Palette / (Default: press ✱): #### Command-List Key / aka Command Palette / (Default: hold ✱):
Show a list of all commands (or functions). Show a list of all commands (or functions).
Many phones have only two or three "free" buttons that can be used as hotkeys. But, Traditional T9 has many more functions, meaning there is simply no room for all of them on the keypad. The Command Palette resolves this problem. It allows invoking the additional functions (or commands) using key combos. Many phones have only two or three "free" buttons that can be used as hotkeys. But, Traditional T9 has many more functions, meaning there is simply no room for all of them on the keypad. The Command Palette resolves this problem. It allows invoking the additional functions (or commands) using key combos.
Below is a list of the possible commands: Below is a list of the possible commands:
- **Show the Settings Screen (Default Combo: ✱, 1-key).** Same as pressing [Show Settings](#show-settings-key). - **Show the Settings Screen (Default Combo: hold ✱, 1-key).** Same as pressing [Show Settings](#show-settings-key).
- **Add a Word (Default Combo: ✱, 2-key).** Same as pressing [Add Word](#add-word-key). - **Add a Word (Default Combo: hold ✱, 2-key).** Same as pressing [Add Word](#add-word-key).
- **Voice Input (Default Combo: ✱, 3-key).** Same as pressing [Voice Input](#voice-input-key). - **Voice Input (Default Combo: hold ✱, 3-key).** Same as pressing [Voice Input](#voice-input-key).
- **Edit Text (Default Combo: ✱, 5-key).** Same as pressing [Edit Text](#edit-text-key) - **Edit Text (Default Combo: hold ✱, 5-key).** Same as pressing [Edit Text](#edit-text-key)
- **Select a Different Keyboard (Default Combo: ✱, 8-key).** Same as pressing [Select Keyboard](#select-keyboard-key). - **Select a Different Keyboard (Default Combo: hold ✱, 8-key).** Same as pressing [Select Keyboard](#select-keyboard-key).
_This key does not do anything when the Screen Layout is set to "Virtual Keyboard" because all keys for all possible functions are already available on the screen._ _This key does not do anything when the Screen Layout is set to "Virtual Keypad" because all keys for all possible functions are already available on the screen._
## Voice Input ## Voice Input
The voice input function allows for speech-to-text input, similar to Gboard. Like all other keyboards, Traditional T9 does not perform speech recognition by itself, but it asks your phone to do it. The voice input function allows for speech-to-text input, similar to Gboard. Like all other keyboards, Traditional T9 does not perform speech recognition by itself, but it asks your phone to do it.
@ -171,6 +177,11 @@ If you do have both a touchscreen and a hardware keypad and prefer having more s
It is also recommended to disable the special behavior of the "Back" key working as "Backspace". It is useful only for a hardware keypad. Usually, it will happen automatically too, but if it does not, 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. Usually, it will happen automatically too, but if it does not, go to Settings → Keypad → Select Hotkeys → Backspace key, then select the "--" option.
### Virtual Keys Overview
The on-screen keypad works the same as the numpad of a phone with hardware keys. If a key provides a single function, it has one label (or icon) indicating that function. And if the key provides a secondary "hold" function, it has two smaller labels (or icons), one below the other.
The Left F4 key (the bottom one on the left-hand side) supports extra functions using swiping. Swipe horizontally to switch to the last used keyboard or swipe vertically to display the keyboard selection dialog and switch to a different keyboard.
### Resizing the Keyboard Panel While Typing ### Resizing the Keyboard Panel While Typing
In some cases, you may find that the Virtual Keypad is taking up too much screen space, preventing you from seeing what you are typing or some application elements. If so, you can resize it by either holding and dragging the Settings/Command Palette key or by dragging the Status Bar (it is where the current language or typing mode is displayed). When the height becomes too small, the layout will automatically be switched to "Function keys" or "Suggestion list only". Respectively, when resizing up, the layout will change to "Virtual Keypad". You can also double-tap the status bar to minimize or maximize instantly. In some cases, you may find that the Virtual Keypad is taking up too much screen space, preventing you from seeing what you are typing or some application elements. If so, you can resize it by either holding and dragging the Settings/Command Palette key or by dragging the Status Bar (it is where the current language or typing mode is displayed). When the height becomes too small, the layout will automatically be switched to "Function keys" or "Suggestion list only". Respectively, when resizing up, the layout will change to "Virtual Keypad". You can also double-tap the status bar to minimize or maximize instantly.
@ -323,3 +334,10 @@ _The Xiaomi problems have been discussed in [this GitHub issue](https://github.c
#### Voice Input takes a very long time to stop #### Voice Input takes a very long time to stop
It is [a known problem](https://issuetracker.google.com/issues/158198432) on Android 10 that Google never fixed. It is not possible to mitigate it on the TT9 side. To stop the Voice Input operation, stay quiet for a couple of seconds. Android turns off the microphone automatically when it can not detect any speech. It is [a known problem](https://issuetracker.google.com/issues/158198432) on Android 10 that Google never fixed. It is not possible to mitigate it on the TT9 side. To stop the Voice Input operation, stay quiet for a couple of seconds. Android turns off the microphone automatically when it can not detect any speech.
#### I need to use a QWERTY layout (touchscreen devices only)
Traditional T9 is a T9 keyboard and as such, it does not provide a QWERTY-like layout.
If you are still learning to use T9 and need to switch back occasionally, or you find it more convenient to type new words using QWERTY, swipe the Left F4 key to switch to a different keyboard. See the [virtual keys overview](#virtual-keys-overview) for more information.
Most other keyboards allow switching back to Traditional T9 by holding the spacebar or the "change language" key. Check the respective readme or manual for more info.

View file

@ -5,7 +5,8 @@ TT9 е 12-клавишна Т9 клавиатура за устройства с
Философия и защита на личните данни: Философия и защита на личните данни:
- Без реклами, специални или платени функции. Всичко е напълно безплатно. - Без реклами, специални или платени функции. Всичко е напълно безплатно.
- Без шпиониране, следене, телеметрия и отчети. Без глупости! - Без шпиониране, следене, телеметрия и отчети. Без глупости!
- Използва интернет само при активно гласово въвеждане и за изтегляне на речници от Github. Можете да изберете и пълната версия, която съдържа всички езици и не изисква разрешението за интернет. - Без излишни екстри и шарении. Върши единствено и само това, което трябва да върши една клавиатура — писане.
- Върши единствено и само това, което трябва да върши една клавиатура — писане. - Пълната версия работи изцяло без достъп до Интернет. Олекотената версия се свързва само при изтегляне на речници от GitHub и когато е активно гласовото въвеждане.
- С отворен код, така че може да проверите горното и сами. - С отворен код, така че може да проверите горното и сами.
- Създадена с помощта на цялата общност. - Създадена с помощта на цялата общност.
- Неща, които (вероятно) никога няма да има: QWERTY подредба, писане чрез плъзгане, GIF-ове и стикери, фонове или други персонализации. "Може да бъде в какъвто цвят искате, стига да е в черно."

View file

@ -2,10 +2,11 @@ TT9 is a 12-key T9 keyboard for devices with a hardware numpad. It supports pred
Supported languages: Arabic, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hinglish, Hungarian, Indonesian, Italian, Kiswahili, Norwegian, Polish, Portuguese (European and Brazilian), Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese, Yiddish. Supported languages: Arabic, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hinglish, Hungarian, Indonesian, Italian, Kiswahili, Norwegian, Polish, Portuguese (European and Brazilian), Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese, Yiddish.
Privacy Policy and Philosophy: Philosophy and Privacy Policy:
- No ads, no premium or paid features. It's all free. - No ads, no premium or paid features. It's all free.
- No spying, no tracking, no telemetry or reports. No nothing! - No spying, no tracking, no telemetry or reports. No nothing!
- Network connectivity is only used for voice input and downloading dictionaries from Github. You can also use the Full version that includes all languages and requires no Internet permission. - No unnecessary bells or whistles. It only does its job, typing.
- It only does its job. - The Full version operates entirely offline with no Internet permission. The Lite version connects only when downloading dictionaries from GitHub and when the voice input is active.
- Open-source, so you can verify all the above yourself. - Open-source, so you can verify all the above yourself.
- Created with help from the entire community. - Created with help from the entire community.
- Things it will (probably) never have: QWERTY layout, swipe-typing, GIFs and stickers, backgrounds or other customizations. "It can be any color you like, as long as it is black."