microsoft / MixedRealityToolkit-Unity

This repository is for the legacy Mixed Reality Toolkit (MRTK) v2. For the latest version of the MRTK please visit https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity
https://aka.ms/mrtkdocs
MIT License
6.02k stars 2.12k forks source link

Input Field confused by Bluetooth keyboard #10442

Closed PennoGT9 closed 10 months ago

PennoGT9 commented 2 years ago

Describe the bug

The Input field works great with the soft keyboard for Hololens 2, but when I have a Bluetooth keyboard connected to the Hololens 2, the input field still activates the soft keyboard as opposed to reading input from just the Bluetooth keyboard. The input field recognizes both the soft keyboard and the bluetooth keyboard at different times, but is unable to prioritize between the two. When I have a bluetooth keyboard connected, I don't need a soft keyboard to pop up. After the input field has been activated and the soft keyboard appears, the soft keyboard can then be closed and the bluetooth keyboard can be used to enter input into the field briefly. I have disabled the Soft keyboard in the unity editor to test, and when I do this, the input field cannot be activated at all on the hololens 2 device, therefore rendering it unable to receive input from the bluetooth keyboard.

To reproduce

Steps to reproduce the behavior:

  1. Run the MRTK Keyboard Test scene on Hololens with a bluetooth keyboard connected to the Hololens.
  2. Select an input field
  3. Type with bluetooth keyboard. For a brief second, the input field will receive input from the bluetooth keyboard, but then the soft keyboard will appear and the input field will cease receiving input from the bluetooth keyboard.
  4. Close the soft keyboard, and continue typing with the bluetooth keyboard.

Expected behavior

If a bluetooth keyboard is connected to the hololens 2, the input field will not spawn a soft keyboard when selected, but instead, just read input from the bluetooth keyboard. However, if there is no bluetooth keyboard connected, the input field will spawn the soft keyboard and read input from it.

Your setup (please complete the following information)

Target platform (please complete the following information)

Additional context

I am imagining a scenario where the input field reads input devices and activates the soft keyboard only if there is no bluetooth keyboard connected.

MaxWang-MS commented 2 years ago

Hi @PennoGT9, after some discussion the team believes the issue you are encountering is a Unity bug as Unity ships the Input Field script. Could you file a bug with Unity by going to Help (in the Unity editor menu bar) → Report a bug... and post a link to the Unity Issue Tracker page once it's created so that the community can get updates on the bug? Thanks!

IssueSyncBot commented 10 months ago

We appreciate your feedback and thank you for reporting this issue.

Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.

Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.

Please note that MRTK3 was released in August 2023. It features an all-new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visit https://www.mixedrealitytoolkit.org.

Thank you for your continued support of the Mixed Reality Toolkit!