Compartir vía


Teclado en pantalla para dispositivos con encabezado

En Windows 10 IoT Core, versión 1809, el componente de teclado en pantalla ha cambiado significativamente, y para el mejor! IoT Core ahora usa los mismos componentes de teclado táctil que la edición de escritorio de Windows.

Nuevas características

La nueva implementación de teclado proporciona las siguientes ventajas para el desarrollo de dispositivos dirigidos:

Paquetes de características

En el caso de las imágenes de creación de prototipos (desarrollo), la característica de teclado en pantalla ya está incluida, pero deberá habilitarla desde Configuración del dispositivo en el Portal de dispositivos Windows.

Para la comercialización, los siguientes paquetes de características opcionales agregarán el teclado en pantalla a la imagen:

  • IOT_SHELL_ONSCREEN_KEYBOARD
  • IOT_SHELL_ONSCREEN_KEYBOARD_FOLLOWFOCUS

Sugerencia

Para más información sobre las características de IoT Core, consulte la guía de fabricación de IoT Core y la lista de características de IoT Core.

Diseños de idioma del teclado de Windows

Con esta versión, los diseños de idioma admitidos se han ampliado para incluir el conjunto completo de los disponibles en la edición de Escritorio de Windows. Para permitir que los usuarios seleccionen entre diferentes diseños de idioma, normalmente incluiría la interfaz de usuario de selección en el área Configuración de la aplicación. Se proporciona la SIGUIENTE API para permitir que la aplicación establezca el idioma que usará el teclado en pantalla:

Windows.Globalization.Language.TrySetInputMethodLanguageTag

Se puede ver un ejemplo de esta API en la aplicación de ejemplo IoTCoreDefaultApp, en el archivo LanguageManager.cs .

Compatibilidad con ámbitos de entrada

En versiones anteriores, solo estaba disponible el ámbito de entrada EmailSmtpAddress. En esta versión, el conjunto completo de ámbitos de entrada está disponible. En el tema siguiente se explican los ámbitos de entrada y cómo usarlos en las aplicaciones:

Usar el ámbito de entrada para cambiar el teclado táctil

Editor de métodos de entrada (IME)

Esta versión proporciona un Editor de métodos de entrada, que es necesario para cualquier idioma que tenga más grafos que las teclas del teclado, como chino, japonés y coreano.

Campos de entrada de texto no ocultos

En versiones anteriores, el teclado táctil podría ocultar el campo de texto centrado para que el usuario no pudiera ver lo que estaba escribiendo. Esta versión corrige este problema desplazando automáticamente el campo de texto a la vista para que el teclado táctil deje de ocultarlo.

Modo de dictado

Cuando el idioma de entrada se establece en el idioma del sistema operativo, que es el valor predeterminado, la característica de entrada de reconocimiento de voz está disponible. Para mostrar el botón de dictado en el teclado, consulte la sección siguiente sobre la configuración de la interfaz de usuario.

Configuración de la interfaz de usuario

El teclado en pantalla proporciona varias opciones configurables para su interfaz de usuario. Se configuran a través del registro. Durante el desarrollo, puede usar PowerShell o Secure Shell (SSH). Para crear una imagen oem, el mecanismo preferido para establecer los valores del Registro es el OEMInput.xml archivo que se describe aquí:

Personalizaciones en tiempo de ejecución

Nota

La mayoría de las configuraciones del Registro documentadas aquí surtirán efecto mientras el teclado en pantalla está visible. Esto le permite durante el desarrollo probar fácilmente diferentes combinaciones de valores de configuración, viendo inmediatamente los cambios resultantes en tiempo real. Si una configuración no surte efecto inmediatamente, deberá reiniciar el dispositivo para ver los cambios en la interfaz de usuario del teclado.

Alto del teclado

De forma predeterminada, el teclado táctil usará el 45 % inferior del alto de la pantalla. Esto puede aparecer demasiado grande o pequeño en el dispositivo, dependiendo de su tamaño y resolución. Puede ajustar el alto hasta un máximo de dos tercios el alto de la pantalla. Cualquier valor que no esté dentro del intervalo se sujetará en el intervalo. Dado que se especifica como un valor de punto flotante, permite la precisión de nivel de píxel. Simplemente aplique la fórmula siguiente para calcular el porcentaje:

percentage = (100 * <desired_pixel_height>) / <screen_height>

Por ejemplo, para cambiar el alto a 56,783 %, establecería el siguiente valor del Registro:

set OskRootKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK
reg.exe ADD "%OskRootKey%" /v MaxHeightPercentage /t REG_SZ /d "56.783" /f

o desde PowerShell:

set OskRootKey "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK"
cd $OskRootKey
Set-ItemProperty -Path . -Name MaxHeightPercentage -Type String -Value 56.783

Nota

El tipo de valor del Registro debe ser string (REG_SZ), de modo que los valores fraccionarios se puedan representar con. un separador decimal. El uso de DWord (REG_DWORD) no funcionará, incluso para porcentajes de números enteros.

Preferencias adicionales

El conjunto restante de preferencias es Valores de cadena en la subclave Preferencias:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK\Preferences
Valor del Registro Valor predeterminado Descripción
AudioFeedback_Disabled "0" "0" permite que la tecla haga clic en comentarios de audio; "1" lo deshabilita.
Dictation_Disabled "1" "0" muestra el botón de dictado (reconocimiento de voz); "1" lo oculta. (vea la nota a continuación)
KeyboardModeEnabled_full "0" "0" deshabilita el modo de teclado completo; "1" lo habilita.
KeyboardModeEnabled_narrow "1" "0" deshabilita el modo de teclado estrecho; "1" lo habilita.
KeyboardModeEnabled_wide "1" "0" deshabilita el modo de teclado ancho; "1" lo habilita.
ModeOrder "wide;narrow;full" El orden (de izquierda a derecha) en el que se muestran los modos en el menú desplegable modo, si está habilitado.
SettingsMenuKey_Collapsed "0" Oculta el menú desplegable modo. Establézcalo en "1" si solo está habilitado un modo.
Paste_Disabled "0" "0" muestra el botón Pegar; "1" lo oculta. El cambio surte efecto después del reinicio.
CloseButton_Disabled "0" "0" muestra el botón Cerrar; "1" oculta el botón Cerrar. El cambio surte efecto después del reinicio.
EmojiKeyEnabled "0" "0" oculta la tecla Emoji; "1" lo muestra, lo que permite al usuario escribir caracteres emoji.

Nota

El modo de dictado requiere que se instale un paquete de voz para el idioma de entrada seleccionado, así como un dispositivo de entrada de audio. Si no se instalan paquetes de voz coincidentes, no se mostrará el botón dictado.

Todas las imágenes incluyen el idioma de voz en-US. Otros paquetes de voz se instalan como características opcionales. Para más información sobre las características de IoT, consulte la guía de fabricación de IoT Core y la lista de características de IoT Core.

Por ejemplo, para habilitar solo wide el modo de teclado, en PowerShell podría hacer lo siguiente:

set OskRootKey "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\OSK"
cd $OskRootKey
mkdir Preferences
cd Preferences
Set-ItemProperty . -Name KeyboardModeEnabled_full -Value "0"      # Optional, since the default is "0"
Set-ItemProperty . -Name KeyboardModeEnabled_narrow -Value "0"
Set-ItemProperty . -Name KeyboardModeEnabled_wide -Value "1"      # Optional, since the default is "1"
Set-ItemProperty . -Name SettingsMenuKey_Collapsed -Value "1"