sspanak / tt9

A T9 keyboard for Android devices with a hardware keypad.
Apache License 2.0
251 stars 43 forks source link

ABC input in a buffer during word input #391

Open WallK opened 1 year ago

WallK commented 1 year ago

Hello TT9 in ABC mode inputs characters and replaces them inside the field if you continue pressing the same button (at least I think it does it like that) This makes text input replacers consume the letters one by one and not wait for me to get to the right letter

Here's some videos of what is happening in "Smouldering Durtles" app:

In this one "Automatic letter select" is ON and when I finish typing -- my "se" input is converted to "せ" and then another "e" is added

https://github.com/sspanak/tt9/assets/4513545/ace6723f-f571-4853-91ba-254dfcb58977

This is true for "Automatic letter select" set to OFF, it just happens after I press OK

https://github.com/sspanak/tt9/assets/4513545/102b0348-c1d6-4e9f-bda6-dd421ad31ead

In comparison, Kika doesn't do that, it keeps the word in a "buffer" or something similar (see better example of this behavior in the last video)

https://github.com/sspanak/tt9/assets/4513545/09ccca5f-d7ff-4f0a-a3b2-89c40961493a

Here are videos of another example, where it replaces letters before I could get to the needed letter on the key

Here I'm trying to input "chi" to get "ち". But after I input "h" and start pressing 4 to get to "i" -- it consumes double h and makes it small "っ" (which indicates letter repetition)

https://github.com/sspanak/tt9/assets/4513545/4715b4b4-2a9d-4b61-ab2c-90adb1bb6e8b

If I miss stopping on "h" after inputting "c" and get to "i" without even stopping on it (pressing 4 too many times, hoping to get the letter "h" on the next wraparound) -- it will replace "ci" with "き". Also, I can't correct my mistake with backspace as it will erase replaced symbols, not my original input

https://github.com/sspanak/tt9/assets/4513545/1342f0de-97c9-478b-804c-9bf074b88792

Here's what Kika does: it seems like it keeps the word it a "buffer" of sorts that allows changing what is being replaces and correct mistakes with backspace

https://github.com/sspanak/tt9/assets/4513545/17baa031-ac3e-47c0-bd5a-9726604a91ee

Is it possible to implement similar behavior in TT9? Many thanks!

sspanak commented 1 year ago

Is it possible to implement similar behavior in TT9?

Yes, but not in ABC mode. From what I see, Kika works in some kind of hybrid ABC+Predictive mode, but you could achieve the same using TT9's Predictive mode only. There are three options:

  1. Use the suggestion filter. See the instructions in the manual. Even if you have selected English, you would be able to construct any word. However, the English words will often get in the way, so you will have to filter after every key press, which will result in slow typing. This may be somewhat inconvenient.
  2. Use another Latin alphabet based language without a dictionary. For example, enable German, but do not load its dictionary. This way you will get only letter suggestions, but not words. Now, when you go back to the Japanese learning app, just start typing and you'll see how the letters accumulate in "the buffer" (Google call it "composing text", btw). The experience will be very similar to Kika.
  3. As an alternative to 2, if you don't need to type in English, just delete its words. English has the simplest alphabet, without any diacritics or special characters. You don't need them when typing in Japanese. However, this is only an option if you don't use English.

I hope this helps!

WallK commented 1 year ago

Hey, thanks for the suggestions!

Kika's hybrid mode does make some sense for unusual words, for example You won't need to scroll to them if you nudge the predictor with manually inputted couple first letters

About suggestions: I've tried with Italian language, but it requires clicking DPad to the right to get to the letter which is very tedious Also, default input type is visible password, but I found a setting that changed it and enabled Predictive mode selection

But no matter, for the the app does not change the word itself to kana if I do it this way, it only takes the last letter (or the letters after the first) and transforms it

image

sspanak commented 12 months ago

Hm, I'm not sure then. From what I see, this app consumes the text in a non-usual way, so it may require some changes in TT9 to work properly. I can take a look into it, but I can't promise it will happen anytime soon, since I am very short on free time at the moment.

WallK commented 12 months ago

OK, this was PEBKAC The app does not understand mixed case input, so: Ke -> Kえ ke -> け kE -> kエ

Sorry for misleading you

I've tried "language without dictionary" approach for a bit and it is tedious Pressing number, moving to DPAD and pressing OK takes a lot of time, to be honest

sspanak commented 10 months ago

I've tried "language without dictionary" approach for a bit and it is tedious Pressing number, moving to DPAD and pressing OK takes a lot of time, to be honest

Right, I think it will be better to add proper Japanese support, instead of doing hacks. I guess #390 would make this obsolete.