Unity UWP 蓝牙条码扫描器
Posted
技术标签:
【中文标题】Unity UWP 蓝牙条码扫描器【英文标题】:Unity UWP bluetooth barcode scanner 【发布时间】:2021-10-08 14:46:06 【问题描述】:我一直在研究统一输入调试,试图找出一种方法,我可以读取来自蓝牙条形码扫描仪的字符串。 该设备注册为蓝牙 HID 输入设备,在统一输入调试中,它显示为 Broadcom 无线键盘(虽然不支持......)。 关于如何读取字符串的任何提示? (每个字符串后面的结束字符是 'enter') 在 UI 输入字段中,它会读取字符串并将其关闭(使用输入结束字符)。但在 Hololens 上执行此操作非常不直观,因为键盘显示几乎覆盖了您的所有视野。
【问题讨论】:
您是否尝试过将扫描仪与 HoloLens 设备配对?目前,HoloLens 仅支持 BLE 摩丝、键盘和蓝牙音频输出 (A2DP) 设备,因此最好先检查扫描仪是否可以识别为 HoloLens 中的蓝牙 HID 输入设备。欲了解更多信息,请参阅support.microsoft.com/en-us/help/12636/… 这已经可以了,如果我打开hololens上的任何输入字段并扫描条形码,它将填写扫描的内容。 我的问题是,如何在不强制输入字段始终打开的情况下读取来自 HID 设备的字符串... 【参考方案1】:建议试试TMP_InputFields,默认会显示一个虚拟键盘,但是你可以控制虚拟键盘的可见性。您可以从位于 Assets/MRTK/Examples/Experimental/MixedRealityKeyboard/Scenes/ 的 MixedRealityKeyboardExample.unity 测试此功能,并选中 MRKeyboardInputField (TMP) 对象的 MRTKTMPInputField 组件中的“隐藏软键盘”复选框。
【讨论】:
我已经在使用 TMP_InputField 但如果我隐藏键盘,条形码输入将不再发生 @HoriaHodis 您是否尝试过从设备获取流?我们认为标准的 Unity UI 输入处理程序或从设备本身获取数据将是一个很好的途径。否则,如果您的需求不是专门针对 Unity 沉浸式应用,并且您愿意使用 2D 平面应用,那么可以使用带有 2D XAML 控件的纯 UWP 应用作为解决方案。 不太确定如何读取流,但我确实查看了 Windows.Devices.HumanInterfaceDevice 以了解它是如何完成的......但是 Unity 抱怨它找不到命名空间并手动添加为 arm 编译时 dll 很麻烦...以上是关于Unity UWP 蓝牙条码扫描器的主要内容,如果未能解决你的问题,请参考以下文章