当使用Holotoolkit keyboard.prefab输入统一系统键盘时,也会显示Windows混合现实应用程序

时间:2018-02-09 01:17:47

标签: unity3d input uwp keyboard windows-mixed-reality

我正在使用KeyboardRealityToolkit中的KeyboardInputField UI元素的键盘预制件,当我在构建中选择一个KeyboardInputFields时,我会同时弹出键盘预制件和系统键盘。我使用这两个版本制作的早期版本没有显示系统虚拟键盘,但我不知道我可以改变什么来导致这个。我在Unity 2017.2.1f1上使用了unity 2017.2.0p2-MRTP5和MixedRealityToolkit。 (这是我与之交谈过的微软代表所建议的) 我正在创建一种身临其境的体验,并将Unity构建类型设置为D3D而不是XMAL。

2 个答案:

答案 0 :(得分:0)

您的输入组件实际上继承了window

中的类InputField

当您激活输入操作时,Windows将自动调用系统内置键盘。

除非您避免使用namespace: UnityEngine.UI.组件,否则可以撤消禁用键盘。

您可以做的就是自己编辑脚本。

答案 1 :(得分:0)

我在MixedRealityToolkit的错误报告中找到了一个解决方案

  

ivan2007:
  “我的应用程序遇到了同样的问题。   Unity文档说:

     
    

Windows应用商店应用:在通用Windows 10应用中,只有支持触摸输入的基于XAML的应用才支持触摸屏键盘。

  
     

我的应用程序是使用Build Type D3D而不是xaml,所以这是第一个奇怪的事情。

     

但是,由于显示了键盘,我们可以尝试禁用触摸输入支持。

     

为此,我们可以定义BaseInputModule使用的新BaseInput,其中touchSupported被覆盖并设置为false。

     

BaseInputModule有一个受保护的属性m_InputOverride,我们可以用它来告诉Unity使用新的BaseInput。

     

也就是说,作为临时解决方法,我制作了附加脚本,可以添加到场景的EventSystem游戏对象或另一个游戏对象(在后一种情况下,您必须使用当前输入模块设置字段BaseInputModule)

     

在我的情况下它似乎工作(原生键盘没有显示)   拥有HMD的Unity 2017.3.0f3   有人可以尝试这种解决方法,以便我们可以更自信地使用它吗?   谢谢你“

https://github.com/Microsoft/MixedRealityToolkit-Unity/files/1710401/HideUnityTouchScreenKeyboard.zip

https://github.com/Microsoft/MixedRealityToolkit-Unity/files/1713278/HideUnityTouchScreenKeyboardC.4.zip