-
-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[123] mode does not produce input on any input fields on KYF33 #241
Comments
This may be the same as #225. Please, check out the discussion there.
I am glad you joined into the effort of making it even better! |
I plan to set up Android Studio on weekend to try and help fixing it. |
That would be great. From my experience, Kyocera phones are particularly problematic, because of their customized Android version. It's hard to test and debug when I don't have one. Also, thank you for the detailed description of the problem, but I have no idea what could be wrong, as I can't reproduce it on my phones.
This is correct, you shouldn't be able to type letters in phone fields. The type of the field is detected in However, it doesn't sound to me the input field is detected in a wrong way, but it is something else. The text modes (ABC and Predictive) do generate text and put it manually in the input fields, but 123 mode just sends Or, it may be trying to handle the Or... it may be something else... 🙂. Anyway, I hope all this would help you debug the problem. |
@mcfrei, I did some more improvements to the Numeric mode. Try out the new v21.0, it may resolve your problem. |
Gladly. However, I added quite a lot of names to my personal dictionary, and I am using the debug build I'm building myself, so I installed a version I built from commit b3fde40. I have verified that install was successful by checking the info in the About section of Settings. Unfortunately, I am still only able to input one digit at a time, by selecting and deselecting the input field. I am also still receiving a lot of following errors in logcat:
I now have more experience using this Kyocera phone and what I have noticed is that when I use the preinstalled keyboard to enter numbers in the text fields, another text field is opened over the app window, that takes whole screen. And tt9 does not do that. I wonder is that a standard behavior? What kind of debug info could be helpful here? Logcat? video of the work, maybe? I would be really grateful for a hint. |
What I have found is that every time I press or release a number button in the calling interface getInstance is called and a new ModeDialer is created, and when the number key is doubled in the calling interface, there are two ModeDialers created at the exact same time. I have found it by adding debug log in getInstance and various other functions, I can push them if you are interested. Regarding initTyping in TraditionalT9 - there is an init of mInputMode in determineAllowedInputModes and reinit of it later when you do the getInstance, is that correct? |
Here are logcat logs from the first button press, when the digit [4] IS inserted in the "phone number field":
And here are logcat logs from the second button press, when the digit [5] is NOT inserted in the "phone number field":
They seem the same so I will continue debugging. |
Regarding k9t9 - I have installed the latest release from github: Thanks for pointing it out, I will try to read and understand the difference in processing key events between tt9 and k9t9 when I have time, and update the issue or submit a pull request if I get to fix it. |
I've narrowed it down to |
I also verified that |
It may have to do with the restarts you are experiencing. |
I have noticed that [123] mode actually does not work in any input fields, not only in numeric, both in in b3fde40 and in 4405c0e. Other modes work fine in them, though. But there is one curious exception: long-pressing the That is so strange, considering the line
in Mode123. Lastly, I have not been experiencing any restarts since I have fixed the error in the pull request you gracefully and swifty approved. thanks for that again! |
I managed to fix the issue finally by using suggestions instead of keyCode in Mode123/ModeDialer, I'll get a pull request ready for you to check out and test on your device asap. |
Something is wrong with long press, i need more time. :( |
Issue is still present in 09e5e1b (v 22.0).
|
See also my take on solving this idea in master...mcfrei:tt9:master Is there anything I should add or fix in that diff to make it into a pull request? |
There may be a simpler way of doing what you are trying to do. It seems that Mode123 is working fine on your phone, if it produces text instead of key codes. But this is weird, because other modes also produce key codes sometimes. So I need to know the following:
In that case Please, try all the scenarios above and let me know of the results. It is important not to do big changes to the Numeric mode, not to break it on other phones. |
Thank you so much for the review and the ideas on how to do my humble change better! Here are the results of the tests. All tests were conducted on last master cf76633 (verified by checking the About info in settings, very handy!).
|
So, generating numeric strings is the way to go. I reviewed k9t9 and it looks like it is doing the same.
As I said, there is a simpler way of doing what you want to do. Let's try this solution:
That's the entire With this the key code functionality can be dropped completely. I suppose, it wasn't such a good idea after all. And the other modes would also generate text in their |
Thank you for pointing out this issue to me. I should have searched through existing issues before making my own, I apologize. That code you posted did work on my phone though! 123 mode is working well. Thanks a bunch! |
That's great, thanks for confirming. It's really hard to debug these when I don't have a Kyocera phone. I suppose I can add this in the next version or the one after. |
Thanks! One quirk I have noticed is when in 123 mode, the # key does a new line while also changing the mode. Not sure if this is intended or not, I can look into it more when I get home from work.
…-------- Original Message --------
On Jun 26, 2023, 02:23, Dimo Karaivanov wrote:
That's great, thanks for confirming. It's really hard to debug these when I don't have a Kyocera phone. I suppose I can add this in the next version or the one after.
—
Reply to this email directly, [view it on GitHub](#241 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/ADAY5RSGGNWPJG6FGBM7UOTXNE2GXANCNFSM6AAAAAAXEUKAHU).
You are receiving this because you commented.Message ID: ***@***.***>
|
Definitely, it's not intended. Probably, the default action on your phone is new line and it is getting through instead of being suppressed. Have in mind, I wrote and tested the code above in 10 minutes or so. It is not fully tested, so I may have missed something. I'll double check when I get back to this issue. Thanks for reporting! |
I'll get a pull request ready with that functionality. I assumed that sendDownUpKeyEvents could be crucial for some functionality on other phones, and I put more effort in long pressing |
I don't think there is a standard across all phones and I don't like the idea of hardcoding some character. I'd rather pass the event to the system/app and let it decide what to do.
As I said, I wrote the code above and most of the previous suggestions in 10 minutes, so I am not 100% sure they are OK in all cases. Whenever someone opens a PR (including me), I would like to test thoroughly all modes in all apps. In other words, I will allow merging only if the code is very safe and looks good. Edit: One of the reasons I added |
Thanks so much for providing your test results promptly, I am very grateful for them! Apparently, There is a E.123 standard article, where the most interesting info parts are that
There is also another link on the topic of Additionally, I was able to verify that on modern android dialer, there is an "Add 2 sec pause" and "Add wait for input" options under the "three dots" menu in keypad that insert Considering all this, I would still prefer implementing long press on symbol characters Here are my test results:
Considering all that plus your information, I would suggest implementing Considering the #225 bug, that is the reason why I implemented Mode123Alt in my commit as a separate mode, intending having an option for users to choose between it and original Mode123. Your wonderful idea about checking the original k9keboard could help to debug the issue for @lgexalter too, if they are still interested in it. Regarding k9 keyboard, it seems that it uses inputConnection composing text feature extensively by calling setComposingText and finishComposing even in Dialer input. |
I was able to check last version 4edda7c on KYF33 and here are the test results:
I worked on a pull request but encountered unexpected behaviour - on KYF33 when a I was able to fix that hastily, but I don't like the way I did it in KYF33-2 branch (that is the branch that works though). Is that an expected behavior? How can one deal with it, considering differences in processing logic in |
I've never had these on any phone, even in the old Nokia days. Neither have I ever seen them on a touchscreen dialer. I have had only Android phones though, not an iPhone. Indeed, carriers may not support such control codes in my part of the world.
But this is causing double numbers on my phone every now and then. It seems that the system and the IME are in a constant race and sometimes they both win and type a number.
Ok, now I realized what the problem is. No matter what, The above also means I admit I overlooked the case with
EDIT: This will probably fail too. I need some more time to concentrate on the problem and come up with a proper solution. But I am certain returning I see you did something very similar in your branch, but I think all else is not really necessary.
日本語を少し読めます 🙂 |
As for the AT and Microsoft command set, well... let's not go there. We are not implementing a software modem here, right? 🙂 |
@mcfrei, @owen-young, the latest version 23.7 fixes a lot of small bugs. Could you please try if it fixes the problem for you? If you prefer to build from source, please use the |
#345 is somewhat related to this. In the end, I have added proper support for all possible characters in 123 mode, depending on the input field (phone number or plain numeric). I believe all outstanding problems discussed here will be fixed in the upcoming version 26.0, but I'll leave the issue open, for anyone affected to confirm, because I can't do it on my phone. |
If anyone is still experiencing this, please try out v27.0. If no one comments after this, I'll consider the problem to be resolved. |
This issue was closed because it has been inactive for 14 days since being marked as stale. |
Thank you so much for a wonderful project! Could you help me diagnose this issue better?
Short description: entering digits in phone number fields only does not work, digits do not appear.
Longer description: On fields for phone numbers, this keyboard does nothing (does not input a number) when pressing number keys, if field is open. I can enter exactly one digit by moving from field with cursor keys, returning to it and pressing the digit while keyboard is not open.
Device: Kyocera Torque X01 KYF33
Android version: 5.1.1
No touchscreen.
Comments: Some of the fields are [123] only on this device, for example phone numbers (it means that "change Input Mode" key does not do anything in them) (probably InputType.TYPE_CLASS_PHONE or something like this).
Existing IME input does work on this phone, unfortunately does not support any languages except Japanese and English. I can take a video of trying to input digits, or extract the PhoneBook.apk, if that helps.
The text was updated successfully, but these errors were encountered: