我将键盘预置与MixedRealityToolkit中的KeyboardInputField UI元素一起使用,当我在构建中选择其中一个KeyboardInputFields时,键盘预置和系统键盘都会弹出。我使用这两种方法构建的早期版本没有显示系统虚拟键盘,但我不知道是什么原因导致了这一点。我使用unity 2017.2.0p2-MRTP5和MixedRealityToolkit for Unity 2017.2.1f1。(这是我采访的微软代表的建议)我正在创建一种身临其境的体验,并将Unity build类型设置为D3D,而不是XMAL。
发布于 2018-02-09 17:15:05
您的输入组件实际上继承了namespace: UnityEngine.UI.中的InputField类
当您激活输入操作时,Windows将自动调用系统的内置键盘。
禁用键盘是可以撤消的,除非您避免使用UnityEngine.UI.InputField组件。
你能做的就是自己编辑脚本。
发布于 2018-02-14 14:36:26
我在MixedRealityToolkit上的错误报告中找到了一个解决方案
ivan2007:
“我的应用程序也遇到了同样的问题。Unity文档显示:
Windows应用商店应用:在通用Windows10应用上,只有基于XAML的应用程序支持触摸输入时才支持触摸屏键盘。我的应用程序是构建类型的D3D,而不是xaml,所以这是第一件奇怪的事情。
但是,由于显示了键盘,我们可以尝试禁用触摸输入支持。
为此,我们可以定义一个由BaseInputModule使用的新BaseInput,其中touchSupported被覆盖并设置为false。
BaseInputModule有一个受保护的属性m_InputOverride,我们可以用它来告诉unity使用新的BaseInput。
也就是说,作为临时解决方法,我制作了附加的脚本,可以将其添加到场景的EventSystem游戏对象或其他游戏对象(在后一种情况下,您必须使用当前输入模块设置字段BaseInputModule )。
在我的例子中,它似乎可以工作(本机键盘没有显示)。
Unity 2017.3.0f3,带HMD
有没有人可以试一下这个变通方法,这样我们就可以更有信心地使用它?
谢谢你。“
https://stackoverflow.com/questions/48697334
复制相似问题