Même si vous pouvez utiliser des claviers Bluetooth physiques pour saisir du texte sur un appareil Meta VR, interagir avec un clavier système dans une application VR peut créer une expérience plus immersive. La fonctionnalité de superposition du clavier vous permet d’afficher et de saisir du texte à l’aide du clavier système, ce qui évite de développer votre propre expérience de clavier personnalisé. La superposition du clavier vous permet d’accéder à des fonctionnalités telles que la dictée vocale et la prise en charge de plusieurs langues.
Conditions requises
Configuration matérielle requise
La machine de développement doit s’exécuter sur l’un des systèmes suivants :
Windows 10+ (64 bits)
macOS 10.10+ (x86 ou ARM)
Exigences relatives au casque
Casques Meta Quest pris en charge :
Quest 2
Quest Pro
Quest 3
Quest 3S et 3S Xbox Edition
Configuration logicielle requise
Éditeur Unity 6000.0.66f2 ou versions ultérieures (version 6.1 ou ultérieure recommandée)
Configuration du projet
Pour utiliser la fonctionnalité de superposition du clavier, vous devez installer le SDK Meta XR Core dans votre projet. Pour accéder aux instructions d’installation, consultez la section Comment configurer le SDK Meta XR Core ?.
Activer le clavier système
Lorsque vous configurez le clavier système pour qu’il apparaisse en superposition, il apparaît automatiquement lorsqu’un élément textuel modifiable de l’UI obtient l’input focus. Lorsque l’application affiche le clavier, elle perd l’input focus, ce qui déclenche l’évènement OVRManager.InputFocusLost. Lorsque l’application ferme le clavier, elle récupère l’input focus, ce qui déclenche l’évènement OVRManager.InputFocusAcquired.
Vous pouvez activer le clavier système de deux manières : en utilisant les paramètres du projet dans Unity ou en invoquant le clavier système par programmation.
Activer le clavier système à partir d’Unity
Pour activer le paramètre du projet de superposition du clavier :
Déclarez une variable pour stocker l’instance de TouchScreenKeyboard et une variable pour stocker la chaîne renvoyée par le clavier.
private TouchScreenKeyboard overlayKeyboard;
public static string inputText = "";
Lorsqu’un élément textuel de l’UI obtient le focus, appelez la méthode TouchScreenKeyboard.Open() pour activer le clavier. Vous ôterez ainsi l’input focus à l’application, ce qui déclenchera l’évènement OVRManager.InputFocusLost. Transmettez TouchScreenKeyboardType.Default à la méthode puisqu’il s’agit du seul type pris en charge pour la superposition du clavier.
Pour récupérer le texte saisi, appelez la propriété TouchScreenKeyboard.text afin de renvoyer le texte affiché dans le champ de saisie du clavier et le stocker dans la variable afin de pouvoir l’utiliser ailleurs.
if (overlayKeyboard != null)
inputText = overlayKeyboard.text;
Aperçu de la superposition du clavier
Pour tester ou prévisualiser la fonctionnalité de superposition du clavier, procédez comme suit :
Ouvrez l’application dans laquelle vous avez implémenté la fonctionnalité de superposition du clavier.
Pointez le curseur vers l’élément texte d’UI modifiable.
Vous pouvez alors voir la superposition du clavier système dans l’application.