GithubHelp home page GithubHelp logo

k9t9's Introduction

k9t9

Minimalist, Nokia-inspired T9 IME for Android feature phones with physical number pads.

Features

  • Predictive text entry for English language
  • Barebones punctuation (through the 1 key)
  • 3 entry modes (cycled with pound key long press)
    • Predictive
      • Single press pound key to shift to single uppercase or all caps
      • Long press zero for newline
    • Letter entry
      • Single press pound key to shift case
      • Long press any key for its number
    • Number entry
  • Recomposing previously-entered words

Installation

Install via ADB:

adb install <release>.apk

Set K9T9 as the active IME:

adb shell ime set com.shortendesign.k9keyboard/.K9InputMethodServiceImpl

On first run after install, K9T9 may take some time to load the word database and populate its data structures. During this time, the word input modes will not work.

Override Settings

  1. Save a copy of k9t9.properties-example.
cp k9t9.properties-example ~/k9t9.properties
  1. Update settings, such as key code mappings.

    For example, to map Android key code 4 to the DELETE function:

    key.DELETE=4
    
  2. Copy the updated settings file to your device using adb

adb push ~/k9t9.properties /storage/emulated/0/Android/data/com.shortendesign.k9keyboard/files/k9t9.properties

You will need to restart the IME service for the settings to take effect (restarting your device may be the simplest way).

To remove the custom settings file:

adb shell rm /storage/emulated/0/Android/data/com.shortendesign.k9keyboard/files/k9t9.properties

Philosophy & Limitations

This IME was initially designed to replace an inferior predictive text engine on a basic Android feature phone. This phone (and I'm assuming others like it) does not run the Google Play store or services, and doesn't even support a UI for selecting a different IME, even if it were installed.

For this reason, I don't have plans to publish this app to the Google Play store. It is intended for those who know and care enough about such Android feature phones to use the Android SDK to set it up manually.

I have also not included any settings UI for the IME.

Removal

adb uninstall com.shortendesign.k9keyboard

k9t9's People

Contributors

danielshorten avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

k9t9's Issues

Add support for configuring key mapping

As a user I want to be able to modify a configuration file to specify which keys on my phone should map to particular operations on the keyboard (e.g. delete, cursor movement, word candidate cycling) so that I can make sure the keyboard works as expected with my particular phone's keyboard.

Add support for recomposing

As a user I want to be able to return to a previously typed word and reenter the "composing" mode so that I can cycle to another candidate word, add new letters to the word, etc.

Add support for custom words/dictionary

As the title suggests, I think it would be great to be able to specify custom dictionaries or add words to the existing dictionary.

I've not done any android development for years, but I'm more than happy to have a crack at this.

Fix cross-resolution scaling of input mode indicator

This is by far the best T9 input for the F21 Pro I've tried.

One wrinkle is that the input mode indicator ("12" etc) is so tiny as to be unreadable. Please see the attached zoomed screenshot which has the icon circled in yellow.

Screenshot_20221104-182611

Phone is Qin F21 Pro global version, which came from Alibaba with Google Play preinstalled.

alps-mp-r0.mp1-V7.13 build number 1.1.5

Doesn't work on A14

Keyboard doesn't even open despite it's the only one enabled in settings.

Non-Predictive Option?

Not an issue per say but not sure how else to contact you, so apologies about this.

Is there an option for non-predictive text, where you press the Key x amount of times for each letter? For example, Press Key 2 three times for the letter C?

Hello

I just downloaded it on my F-22 Pro, however I'm stuck at the beginning of read me, I was wondering if you could explain to me in more detail how to begin the installation and what ADB means? That would be quite helpful thank you so much I hope to hear back from you!

Support consuming a configured delete key

Some devices with physical keypads still do not provide a native "delete" key—they may only provide something like "back" which just returns to a previous screen.

Maybe K9 should consume the delete key by default, allowing devices without the built-in support of a delete key to perform deletes.

Write current word database to a file

I want to tell K9T9 to write the current contents of the word database to a file so that I can back up any changes since the original word list was loaded.

The backup file should contain:

  • Words
  • Frequency/priority

Learn word choice frequency

I want K9T9 to record which word from the list of candidates I choose and adjust the priority of that word in future word candidate lists so that the word prediction improves over time.

Update versioning

While the tags show multiple releases with the latest one being named 0.11.0, the APK always identifies as

package: name='com.shortendesign.k9keyboard' versionCode='1' versionName='1.0' compileSdkVersion='31' compileSdkVersionCodename='12'
  • versionCode should be increased with each release; it's what Android uses internally to tell versions apart and signal updates
  • versionName is what is shown to the user (and should be in sync with your tag names), so it's important for issues reported (to know what version is affected)

Could you please adjust that (for future releases)? Thanks in advance!

Support long-press actions

Add support for long press actions.
Start with long press for switching between major input modes (i.e. Word, Letter, Number)

Letter entry mode

Add a letter-by-letter text entry mode, where:

  • keys can be pressed repeatedly to cycle through the characters assigned to them.
  • after a pause of around a second the character will be committed, and pressing another key will begin entry for the next letter.

APK not installing properly

This might be me, but I tried to install the keyboard on my phone (0.11.0) by APK with both directly downloading it on my phone and with ADB. The installing works, but when I try to pull the property file to change the keymapping it says there is settings file available. Same goes when I try to retrieve the file in my phone settings. And indeed, on the default location no file (or folder) has been created.

I think it has to do with the app not installing correctly, but it says it does and I have no idea how to do it otherwise.

Basic abc typing

Does this keyboard support abc typing (for words that are not in the t9 dictionary) or can you only type in t9?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.