Search Unity

Android Input doesn't work because two touchscreens are detected

Discussion in 'Input System' started by DatThax, Aug 11, 2020.

  1. DatThax

    DatThax

    Joined:
    Jun 18, 2019
    Posts:
    10
    When I load my app onto my android phone with Build & Run, touch input is not working at all. So, I checked the input debugger and it shows two touchscreens: Touchscreen & Touchscreen1.

    Touchscreen1 is the one actually detecting input, but that doesn't get used by the input system for some reason.

    Just last week it worked on the same device without any software updates.

    How could I get touch input working again on Android? I'm quite lost here.

    Edit: Any ideas @Rene-Damm ?
     
    Last edited: Aug 13, 2020
  2. DatThax

    DatThax

    Joined:
    Jun 18, 2019
    Posts:
    10
    Some more information that I can add.

    The touchscreen that seems to get used by the Input System (but doesn't get any input) has Product as sec_touchpad.
    And the touchscreen that does get input (but doesn't seem to get used by the input system) has Product as sec_touchscreen.
     
  3. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Hi @DatThax,

    could you share some more details about how you are reading out the data. Are binding to touch through actions? If so, could you share your setup? (including, if applicable, the PlayerInput part) Or using EnhancedTouch?

    Hmm, from what I gather, we're converting touchpads to Mouse devices and only touchscreens to Touchscreen devices.

    Overall, recommend filing a ticket with the Unity bug reporter ("Help >> Report a Bug..." in the editor's main menu) so this gets looked at properly.
     
  4. sterneck_moritz

    sterneck_moritz

    Joined:
    Mar 23, 2020
    Posts:
    8
    We are experiencing the same issue as @DatThax right now... (currently on v1.1.0-preview.3)

    Only on certain devices multiple Touchscreens (e.g. BQ Aquaris X Pro, Lenovo tab M10 FHD Plus) show up in the input debugger and when that happens, the input system is not responding to any input. This becomes very clear when trying to interact with any UI: It just does not respond.

    Interesting thing is though: Our game is using the EnhancedTouch Api for everything non-UI related, and that still works like a charm.

    A quick hotfix (or so I thought) was to check for multiple Touchscreens in the devices array. And if I find multiple simply call PlayerInput.SwitchCurrentControlScheme(...) with the first found Touchscreen, which always seemed to be the right one. BUT apparently not, since we started getting the same error reports again.

    Sooo.. by any chance. Was this issue ever reported or is there a direction which you could point me to?
     
  5. gcalvin021

    gcalvin021

    Joined:
    Mar 21, 2020
    Posts:
    3
    Having the same issue as above, except Touchscreen1 is what my device is using. I assume that the input system is looking for Touchscreen, which is the issue. I also tried changing the binding path from the default: <Touchscreen>/press -> <Touchscreen1>/press. Still not getting anywhere. I also tried changing various settings in my input actions layout to no avail.