The KiwiSDR 2 online store is open for orders! Please visit kiwisdr.nz

Need help finding Android virtual keyboard popup bug

On Kiwi desktop, after almost every button push or other user interface action the frequency entry box content is is re-selected (i.e. its contents become highlighted again). This is so that if you begin typing numbers with the intent of changing the frequency it will happen immediately without first having to re-select the field with the mouse which would be kind of annoying.

This automatic re-selection can't be done on mobile devices because doing so causes the "virtual keyboard" at the bottom of the screen to popup. And you wouldn't want this happening after every button press on mobile. So the Kiwi has code to detect mobile devices and suppress the re-selection.

Recently on Twitter there was a complaint that re-selection was happening on some version of Android. I tested the latest Kiwi version on the two Android devices I have here and they work fine. So I need help from anyone who is experiencing this problem. I can add some code to help discover why the Kiwi mobile detection code isn't working for Android in that case.

Thank you.

Comments

  • Do you mean that on Android, to enter a new frequency, you must first manually delete the current frequency? I have exactly that.

  • jksjks
    edited April 2022

    No, that's not what I mean.

    With all mobile devices you have to erase the prior frequency before entering a new one. Most allow you to tap the frequency field a couple of times and get a "select all" button. Then you can click that and start entering numbers which will immediately erase the prior field content.

    The desktop interface avoids all this by always re-selecting the frequency field after (almost) any other UI action. But if you try and do the same thing on mobile the virtual keyboard pops up as soon as the field is given focus. This is obviously bad. So if the Kiwi decides it's being used by a mobile device this re-selection is not done.

    However the Twitter complaint is that the virtual keyboard is popping up all the time which indicates there is something odd about that Android/browser combination that is confusing the Kiwi's mobile device detection code.

  • I understood you. My mobile keyboard appears only after tapping on the frequency input field. And never in other cases. By the way, it would be nice to make it so that this keyboard was immediately digital. Because you can only enter numbers.

  • edited April 2022

    Numeric keypad with large buttons for android to enter the frequency.

    Javascript for testing. Use Additional HTML/Javascript for HTML field.

    <script type="text/javascript">
    setTimeout(
      () => {
    var newstring = '<div><label class="id-freq-input-label"></label><input id="id-freq-input" class="w3-custom-events id-freq-input w3-input w3-border w3-hover-shadow" style="padding:0 4px" size="9" onkeydown="freqset_keydown(event)" onkeyup="freqset_keyup(this, event)" type="text" inputmode="tel" onFocus="this.select()" value=""></div>';
    if (kiwi_isMobile()) document.getElementById("id-freq-form").innerHTML = newstring; },2000);
    </script>
    
  • edited April 2022

    In the smart tv with the TIZEN system (Samsung), which works with Kiwi really steadily on the factory browser, each selection of any ZOOM control icon, +/- frequency, shifts or selection of the DX label results in calling up the keyboard on the screen, that's just tiring :)


    ED: However, the DX and +/- frequency labels no longer trigger the screen keyboard, but the selection of the pan and zoom tabs, WF, AUDIO, AGC, etc. still do, just checked.

  • The next version will include some debugging messages which will allow us to determine precisely what browser your TV is using and why the Kiwi code isn't doing the correct thing.

  • @ArturPL For your Samsung TV, when running v1.515 or later, on the admin page status tab what is shown after the "Browser:" entry?

  • I just came back from a long weekend and I'm not up to date, I have to update devices from 514.

  • so fast, it doesn't matter if I turn on desktop mode or not, the panel stays in desktop mode

  • jksjks
    edited May 2022

    I also need to see the very last part of that message.

  • What does your comment mean? Does it mean you tried forcing mobile mode by adding "m" or "mobile" to the URL? (e.g. my_kiwi:8073/?m)

  • edited May 2022

    Everything is as it should be, I read the topic with changes in the new version and after adding :8073/?m Kiwi starts in the mobile view. The factory Samsung browser (TizenBrowser v3.1.11260) has a mobile view in the options, but it did not respond even though I wanted such a view. Now /?m does it very well and works exactly as it should, ZOOM +/- and other buttons that previously called the keyboard respond correctly and the keyboard is not triggered. What part are you asking above? I took in the entire view of the STATUS window, 65 "that's a bit of a hassle.


    AWESOME, now finally the arrow on the TV works exactly like a finger on the touch screen in Android. Great piece of hard work! Thank you

  • Okay, I think you're right -- your photo actually does show the entire message.

    Now that I know what your TV browser sends I can add it to the code that automatically switches to mobile mode. So you won't have to add "m" or "mobile" to the URL. That was the whole point of all this.

    And there is another guy with some combination of an Android version and a browser that has a similar issue. So hopefully I can fix that too.

  • I think with v1.518 you shouldn't need to use the "m" or "mobile" URL parameters with your TV. Let me know if not..

  • I confirm, now when I turn off the desktop mode in Tizen the icons of the link frequency and the width of the 9 / 10kHz channel disappear

    Thanks again for your effort

  • edited May 2022

    @jks , in version 1.517 you have used inputmode "tel" for the numeric keypad. But then change it to "decimal". Some of the users did not like this keyboard?

  • I read the css-tricks site about inputmode (https://css-tricks.com/everything-you-ever-wanted-to-know-about-inputmode/) and decided "decimal" was more appropriate then "tel".

  • edited May 2022

    Hmmm. In "decimal" case my Android show this keyboard. Not like on photo in your link.

    It can be switch from original keyboard by pressing "123" ("abc") key in left bottom.

    In "tel" mode keybord looks like this:

    Its very different keyboards.

  • jksjks
    edited May 2022

    It seems I was in too much of a hurry (as usual) reading that website. For "decimal" is plainly says: On the flip side, this has no effect on Android, which will simply use the numeric keyboard.So I'll change it to conditionally use decimal only with iOS and tel for everything else, Android included. Thanks!

  • Thank you for your great work and hard work!

  • edited May 2022

    @jks, you can test keyboards in different inputmode on different mobile OS using https://inputmodes.com/. Also in function panels_setup() instead of "onFocus", it's better to use "onClick". It will prevent this popup bar. (If using "tel" input mode).

    I tested it on my Andriod phone. But i have no iPhone and can not test on iOS.

  • jksjks
    edited May 2022

    Doesn't make any difference for me with FIrefox. Still always get popup bar (goes away as soon as you start typing digits). It did change Chrome. Previously Chrome would not do a "select all" when tapping once in the frequency field. Now it does. So I'll make the change. Android 8.1 with browsers updated from the Play store.

    I'm also going back to "tel" from "decimal" on iOS because the non-numeric chars are needed to specify passband info using these smaller keyboards, which is something I hadn't considered.

    I hate mobile. I hate it so much..

  • Yes. In mobile FireFox is still popup panel. Its strange, that different browsers in different OS show the same javascrypt by the different.

Sign In or Register to comment.