【问题标题】:Unity UWP bluetooth barcode scannerUnity UWP 蓝牙条码扫描器
【发布时间】: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 设备的字符串...

标签: c# unity3d bluetooth hid hololens


【解决方案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 很麻烦...
猜你喜欢
  • 1970-01-01
  • 2019-01-04
  • 1970-01-01
  • 2015-03-03
  • 1970-01-01
  • 2018-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多