Search Issue Tracker

Fixed in 5.4.0

Votes

2

Found in

4.6.3f1

Issue ID

674884

Regression

No

Linux: Pressing TAB while editing text in an input field inserts an actual tab character

UI

-

-e: see title, doesn't do that on windows or osx standalone

-repro:
--create new scene
--add input field http://docs.unity3d.com/Manual/script-InputField.html
--set its Content Type to Password
--build Linux standalone and run it
--go to input field
--press TAB
--NOTICE it added a character to the field

Comments (1)

  1. Gorna

    Jun 03, 2015 09:06

    Still active bug in 5.0.2p1.
    Now enters two chars ) and space -- ") " when pressing tab.

    I've used this solution for tab navigation (found on forums):

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    using UnityEngine.EventSystems;

    public class InputNavigator : MonoBehaviour
    {
    EventSystem system;

    void Start()
    {
    system = EventSystem.current;// EventSystemManager.currentSystem;

    }
    // Update is called once per frame
    void Update()
    {
    if (Input.GetKeyDown(KeyCode.Tab))
    {
    Selectable next = system.currentSelectedGameObject.GetComponent<Selectable>().FindSelectableOnDown();

    if (next != null)
    {

    InputField inputfield = next.GetComponent<InputField>();
    if (inputfield != null)
    inputfield.OnPointerClick(new PointerEventData(system)); //if it's an input field, also set the text caret

    system.SetSelectedGameObject(next.gameObject, new BaseEventData(system));
    }
    //else Debug.Log("next nagivation element not found");

    }
    }
    }

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.