Tracked Physical Keyboard
Updated: Jan 22, 2024
The Tracked Physical Keyboard feature provides users with a way to interact with their physical keyboard while inside a VR environment. This overcomes virtual keyboard limitations and blind touch typing by showing the user’s hands and physical keyboard in a small passthrough window. This works with any bluetooth keyboard paired to the headset. The operating system tracks the location of any keyboard within view and renders a dynamic passthrough cutout so the user can see their hands and keyboard while in an immersive VR environment. This enables the user to type with their real hands on their real keyboard which provides a seamless typing experience.
How do I set up Tracked Keyboard?
- Unity 2022.3+ LTS.
- Meta Quest 3 or Quest 3S with Horizon OS v72 or later.
- MR Utility Kit v72 or later installed in your project.
- A bluetooth keyboard paired with your headset.
Enabling Tracked Keyboards The basic functionality for tracking your physical keyboard in a passthrough window is provided by Horizon OS. To enable it on your Quest device, go to Settings > Devices > Keyboard and enable Show my keyboard.
Pairing your bluetooth keyboard is done through the main settings in Horizon OS. On your Quest device, go to Settings > Bluetooth. Find your bluetooth keyboard in the list and select Pair. Follow th einstructions to pair your keyboard.
How does Tracked Keyboard work?
Tracked Keyboard works by using dynamic object tracking. When a keyboard is detected, an MRUKTrackable
object with TrackableType
set to OVRAnchor.TrackableType.Keyboard
is created representing the keyboard and a TrackableAdded
event is fired that provides an instance of the new tracked object. Similarly, when the keyboard is no longer within view, a TrackableRemoved
event is fired. These events can be handled within your project to show the status of the tracked keyboard to the user, create and configure visuals representing the location of the keyboard, etc.
Handling the input from the keyboard in your project is not technically a part of the Tracked Keyboard functionality; however, the
Interaction SDK Tracked Keyboard Sample demonstrates the use of Interaction SDK to handle the keyboard input of a Tracked Keybaord within a UI in Unity.