Entrada do teclado no Unity

Namespace:UnityEngine
Tipo: TouchScreenKeyboard

Embora o HoloLens dê suporte a muitas formas de entrada, incluindo teclados Bluetooth, a maioria dos aplicativos não pode assumir que todos os usuários terão um teclado físico disponível. Se o aplicativo exigir entrada de texto, alguma forma de teclado na tela deverá ser fornecida.

O Unity fornece a classe TouchScreenKeyboard para aceitar a entrada de teclado quando não há teclado físico disponível.

Comportamento do teclado do sistema HoloLens no Unity

No HoloLens, o TouchScreenKeyboard aproveita o teclado virtual do sistema e sobreposições diretamente sobreposições sobre a exibição volumétrica do seu aplicativo de MR. A experiência é semelhante ao uso do teclado nos aplicativos internos do HoloLens. Observe que o teclado do sistema se comportará de acordo com os recursos da plataforma de destino, por exemplo, o teclado na HoloLens 2 ofereceria suporte a interações diretas com as mãos, enquanto o teclado no HoloLens (1ª geração) seria compatível com GGV (Gaze, Gesto e Voz). Além disso, o teclado do sistema não aparecerá ao executar a Comunicação Remota do Unity do editor para um HoloLens.

Usando o teclado do sistema em seu aplicativo unity

Declarar o teclado

Na classe , declare uma variável para armazenar o TouchScreenKeyboard e uma variável para manter a cadeia de caracteres retornada pelo teclado.

UnityEngine.TouchScreenKeyboard keyboard;
public static string keyboardText = "";

Invocar o teclado

Quando ocorrer um evento solicitando entrada de teclado, use o seguinte para mostrar o teclado.

keyboard = TouchScreenKeyboard.Open("text to edit");

Você pode usar parâmetros adicionais passados para a TouchScreenKeyboard.Open função para controlar o comportamento do teclado (por exemplo, definir texto do espaço reservado ou dar suporte à autocorreção). Para obter a lista completa de parâmetros, consulte a documentação do Unity.

Recuperar conteúdo tipado

O conteúdo pode simplesmente ser recuperado chamando keyboard.text. Talvez você queira recuperar o conteúdo por quadro ou somente quando o teclado estiver fechado.

keyboardText = keyboard.text;

Opções alternativas de teclado

Além de usar a classe TouchScreenKeyboard diretamente, você também pode obter a entrada do usuário usando o Campo de Entrada da Interface do Usuário do Unity ou o Campo de Entrada TextMeshPro do Unity. Além disso, há uma implementação baseada em TouchScreenKeyboard na cena HandInteractionExamples do MRTK (há um exemplo de interação de teclado no lado esquerdo).

Próximo ponto de verificação de desenvolvimento

Se você estiver acompanhando a jornada de desenvolvimento do Unity que apresentamos, você está no meio de explorar os recursos e APIs da plataforma Realidade Misturada. A partir daqui, você pode continuar para qualquer tópico ou ir diretamente para implantar seu aplicativo em um dispositivo ou emulador.