Как использовать код ключа KEYCODE_DPAD_CENTER в Unity - PullRequest
0 голосов
/ 28 января 2019

Я портирую приложение Unity на гарнитуру Android Vuzix M300, и кнопка выбора в верхней части устройства не работает в моем приложении Unity.Согласно странице поддержки Vuzix dev, он использует код ключа KEYCODE_DPAD_CENTER, который, как кажется, Unity не видит.Есть ли способ обойти это, поскольку нам нужно, чтобы эта кнопка работала в нашем приложении.

Я также пробовал KeyCode.JoystickButton0, KeyCode.Return, KeyCode.Enter, KeyCode.Menu, Input.GetButtonDown ("Fire1"), KeyCode.Space ...

Любая помощь поэто было бы очень важно!

1 Ответ

0 голосов
/ 29 января 2019

Благодаря ссылке, предоставленной derHugo, это решение, которое я придумал:

public class VuzixSelectButton : MonoBehaviour
{  
    KeyCode DPAD_CENTER = (KeyCode)10;

    void Update ()
    {
        VuzixSelect();   
    }

    /// <summary>
    /// Detects Vuzix M300 select button presses
    /// </summary>
    private void VuzixSelect()
    {
        if (SystemInfo.deviceModel.ToLower().Contains("vuzix"))
        {
            if (Input.GetKeyDown(DPAD_CENTER))
            {
                var es = EventSystem.current;
                GameObject obj = es.currentSelectedGameObject;
                ExecuteEvents.Execute(obj, new PointerEventData(EventSystem.current), ExecuteEvents.pointerClickHandler);
            }
        }
    }
}
...