ValveSoftware / steamvr_unity_plugin

SteamVR Unity Plugin - Documentation at: https://valvesoftware.github.io/steamvr_unity_plugin/
BSD 3-Clause "New" or "Revised" License
1.03k stars 255 forks source link

The overlay UI is not displayed after calling ShowKeyboard #804

Closed shiena closed 3 years ago

shiena commented 4 years ago

Environment

Steps to reproduce

  1. Register keyboard events

    var keyboardCharInputAction =
        SteamVR_Events.SystemAction(EVREventType.VREvent_KeyboardCharInput, ev => Debug.Log("CharInput"));
    keyboardCharInputAction.enabled = true;
    var keyboardClosedAction =
        SteamVR_Events.SystemAction(EVREventType.VREvent_KeyboardClosed, ev => Debug.Log("Closed"));
    keyboardClosedAction.enabled = true;
    var keyboardDoneAction =
        SteamVR_Events.SystemAction(EVREventType.VREvent_KeyboardDone, ev => Debug.Log("Done"));
    keyboardDoneAction.enabled = true;
  2. Call SteamVR.instance.overlay.ShowKeyboard

    SteamVR.instance.overlay.ShowKeyboard(
        (int) EGamepadTextInputMode.k_EGamepadTextInputModeNormal,
        (int) EGamepadTextInputLineMode.k_EGamepadTextInputLineModeSingleLine,
        (uint) EKeyboardFlags.KeyboardFlag_Modal, "Description", 256, "", 0);   

Expected behavior

The keyboard is displayed.

Actual behavior

The keyboard does not appear. Or the keyboard appears for a moment and then disappears. However, the keyboard responds when the controller is pointed at the front. And when the keyboard is closed, the EVREventType.VREvent_KeyboardClosed event is not fired. And the keyboard event will not fire.

Also, system menu does not appear in the same way, but it responds.

note

If you enable the legacy XR OpenVR instead of the OpenVR XR Plugin, the overlay UI will appear.

shiena commented 3 years ago

Maybe it was resolved in OpenVR XR Plugin 1.1.3.