Editores de métodos de entrada de terceros

Plataformas

Clientes: servidores Windows 8: Windows Server 2012

Descripción

Los editores de métodos de entrada (IME) son componentes de software que permiten al usuario escribir texto en un idioma que tenga más caracteres de los que se pueden representar en un teclado. (Esto es común, pero no limitado a, idiomas asiáticos orientales). En lugar de cada carácter que aparece en una sola tecla, los usuarios escriben combinaciones de teclas que el IME interpreta. El IME genera el carácter que coincide con el conjunto de trazos de tecla, a veces presentando al usuario una lista de posibles caracteres entre los que elegir y, a continuación, inserta el carácter en la ventana de control de edición de la aplicación del usuario.

En el pasado, Windows ha permitido que las IME de terceros se ejecuten en el sistema Windows y esta funcionalidad continúa por Windows 8. Los usuarios pueden instalar un IME de terceros y usarlo. Además, estamos endureciendo el sistema y los procesos para evitar imE malintencionados, mejorar la seguridad y mejorar la experiencia del usuario.

En Windows 8, encontrará:

  • Compatibilidad con IME de terceros para teclados de hardware y teclados táctiles
  • Los proveedores de IME de terceros deben seguir las directrices de Microsoft para desarrollar sus IME para Windows 8
  • Los IME de terceros deben estar firmados digitalmente
  • Los IME de terceros deben ser compatibles con Text Services Framework (TSF) y las marcas IME adecuadas deben establecerse para que se ejecuten correctamente en Windows 8
  • Las IME de terceros heredadas podrán ejecutarse en aplicaciones de escritorio, pero se bloquearán en aplicaciones de la Tienda Windows.
  • Los IME de terceros pueden usar el diseño de teclado táctil proporcionado por Windows para vincular su IME, de modo que los usuarios puedan usar su IME con teclados táctiles. Sin embargo, ciertas funciones de IME en caja para teclados táctiles no estarán disponibles para imE de terceros
  • Windows Defender quitará las IME malintencionadas del sistema Windows.

Manifestación

Cambios en el idioma de entrada y el cambio del método de entrada

En lugar de mostrar todos los iconos del modo IME junto con el icono de personalización de marca IME, solo se muestra un icono de modo IME junto con el icono de personalización de marca IME. Las dos figuras siguientes muestran el control flotante de entrada Windows 8 y el control flotante IME, con IME japonés como método de entrada actual. Si hace clic en el icono de personalización de marca IME, puede cambiar los métodos de entrada.

cambiar métodos de entrada

Si hace clic en el icono del modo IME, puede cambiar a otro modo IME.

switch ime modes

Si un IME se basa en la barra de idioma para mostrar sus iconos de modo en Windows 7, el IME debe cambiarse para mostrar su icono de personalización de marca y su icono de modo en el indicador de entrada en Windows 8.

Nota:

Los detalles sobre cómo un IME puede mostrar su icono de personalización de marca y su icono de modo en SysTray en la barra de tareas de escritorio se documentarán y publicarán públicamente en las directrices de IME de Windows 8.

Nuevo entorno de Windows

El entorno de Windows 8 cambia el entorno de imEs. Los conceptos de las aplicaciones de la Tienda Windows, los contenedores de aplicaciones de contexto local y las restricciones de API en imEs no estaban presentes en Windows 7. Algunos IME de Windows 7 existentes dejan de responder cuando se ejecutan dentro de una aplicación de la Tienda Windows y, por lo tanto, no permiten que las MIE heredadas se ejecuten dentro de las aplicaciones de la Tienda Windows. Además, asegúrese de que se validan las nuevas versiones de IME para asegurarse de que son compatibles con el nuevo entorno de interfaz de usuario antes de que se ejecuten dentro de las aplicaciones de la Tienda Windows.

Mitigación

Puede usar un IME compatible con el escritorio en el sistema. Esta podría ser la mejor opción si usa principalmente aplicaciones de escritorio y desea seguir usando un IME heredado preferido para la entrada. Se recomienda usar un IME de Windows 8 y dejar de usar IME heredados o no certificados. Tanto el CPL de lenguaje como el conmutador de entrada proporcionan notificaciones para advertirle de los efectos de usar un IME compatible con el escritorio.

Verá cualquiera de los comportamientos siguientes si un IME compatible con el escritorio no funciona en todo el sistema:

  • La interfaz de usuario de CPL de lenguaje etiqueta imEs compatibles con el escritorio y muestra un mensaje que indica que los IME no compatibles solo funcionan en aplicaciones de escritorio.
  • El control flotante de entrada grisiza las IME compatibles con el escritorio cuando el usuario está dentro de las aplicaciones de la Tienda Windows. Esto indica que el IME no funciona en esta aplicación. (En el escritorio, los IME compatibles con el escritorio no están atenuados). Si cambias a aplicaciones de la Tienda Windows con un IME no compatible y te das cuenta de que el IME está desactivado, usa el indicador de entrada para cambiar a un IME compatible con las aplicaciones de la Tienda Windows.

Las imE compatibles con el escritorio o heredadas se limitan a estas condiciones:

  • Actualización de Windows 7 a Windows 8, con IME de terceros en el sistema
  • El proveedor no ha publicado una versión compatible con Windows 8 y el usuario intenta usar una versión existente de Windows 7 mientras tanto.

Solución

General

Usa la infraestructura existente del marco de servicios de texto (TSF) para implementar la lógica IME y los controles comunes de la aplicación de la Tienda Windows para las interfaces de usuario. Cree ventanas propias para hospedar la interfaz de usuario.

Se agregan nuevas API de búsqueda para mejorar la predicción de búsqueda y proporcionar una experiencia de búsqueda más limpia en la interfaz de usuario.

También se agregan API para notificar a los IME de terceros cuando se invoca un teclado táctil para proteger la interfaz de usuario de estar cubierta por el teclado táctil. Un diseño de teclado táctil clásico predeterminado se carga automáticamente para imE de terceros. No se necesita ningún trabajo adicional para integrarse con este diseño de teclado táctil clásico. Sin embargo, los IME de terceros podrán solicitar un diseño táctil alternativo.

Familiarícese con las directrices Windows 8 IME para que pueda promover los principios clave de experiencia del usuario de la aplicación de la Tienda Windows en su IME. Las IME que cumplen las directrices deben establecer una marca para indicar que el IME es compatible con el diseño de Microsoft. Windows 8 impide que todas las IME compatibles con el escritorio se ejecuten en aplicaciones de la Tienda Windows.

La firma digital, además de la revocación por Windows Defender, impide que se instalen imE malintencionados en el sistema de Windows 8. Tras la verificación de identidad, el .dll de un IME de terceros está firmado digitalmente. Solo los IME que tienen esta firma digital se pueden instalar en el sistema sin tener un mensaje de advertencia crítico que aparezca al usuario. Los usuarios pueden notificar imE malintencionados. Una vez que se ha determinado que un IME es malintencionado, Windows Defender lo quita del sistema Windows.

Text Services Framework (TSF)

El IME debe ser compatible con TSF para poder ejecutarse en Windows 8. Windows 8 impide que las IME no compatibles con TSF se ejecuten en aplicaciones de la Tienda Windows. Cuando se inicia una aplicación, TSF carga el .dll IME para el IME que el usuario ha seleccionado en el proceso de la aplicación.

Nota:

Para proporcionar funcionalidad o interfaces de usuario independientes entre aplicaciones de la Tienda Windows y aplicaciones de escritorio, el .dll cargado por TSF puede comprobar en qué tipo de aplicación se está cargando. El IME llama al método ITfThreadMgrEx::GetActiveFlags y comprueba la marca de TF_TMF_IMMERSIVEMODE y puede desencadenar una lógica de aplicación diferente según el resultado.

Cuando se carga un IME en una aplicación de la Tienda Windows, está sujeto a las mismas restricciones de contenedor de aplicaciones que la propia aplicación. Este comportamiento garantiza que los IME no puedan infringir los contratos de seguridad de aplicaciones de la Tienda Windows, a pesar de tener acceso al SDK de escritorio (porque no están distribuidos o certificados por la Tienda Windows). Algunas funciones que los IME realizan actualmente se ven afectadas dentro de un contenedor de aplicaciones. Estas funciones incluyen:

  • Archivos de diccionario
  • Actualización de Internet
  • Aprendizaje sobre la marcha
  • Compartir información entre procesos

Consulta las directrices de IME de Windows 8 para obtener más información. Las IME heredadas no funcionan en aplicaciones de la Tienda Windows para evitar el potencial de experiencias de usuario incorrectas, incluidas las detenciones del sistema. Las IME que son compatibles con las aplicaciones de la Tienda Windows deben declararse automáticamente estableciendo una marca que indique esta compatibilidad. Esta marca la proporciona TSF en la estructura TF_INPUTPROCESSORPROFILE. Los detalles sobre cómo usar esta marca para declarar un IME de terceros como compatible con la aplicación de la Tienda Windows se documentarán y publicarán públicamente en las directrices de IME de Windows 8.

Los IME que son compatibles con las aplicaciones de la Tienda Windows pueden ejecutarse en aplicaciones de escritorio o aplicaciones de la Tienda Windows. Las IME que no son compatibles solo se pueden ejecutar en procesos de escritorio.

Interfaz de usuario

Aunque los IME de terceros tienen acceso a las API de ventanas de escritorio, deben seguir las mismas restricciones de API de ventana que la aplicación en la que se ejecutan. Por ejemplo, un IME no puede dibujar sobre una aplicación de la Tienda Windows mientras está activa en una aplicación de escritorio. Las restricciones de API están destinadas a evitar estos escenarios:

  • Aplicaciones de escritorio que se centran en las aplicaciones de la Tienda Windows
  • Aplicaciones de escritorio que se dibujan en la aplicación de la Tienda Windows
  • Aplicaciones de escritorio que interfieren con las aplicaciones de la Tienda Windows

Compatibilidad con teclado táctil

Aunque la compatibilidad con teclado táctil (TKB) sigue estando disponible para proveedores IME de terceros, no se proporciona una experiencia de teclado táctil totalmente personalizable e integrada en Windows 8. Sin embargo, los IME de terceros pueden asignar sus IME con el diseño de teclado optimizado para la función táctil. El Panel de entrada temporal de Windows (SIP) proporciona un diseño de teclado clásico de forma predeterminada para imE de terceros. Dado que el teclado clásico genera eventos clave similares a como hace un teclado de hardware, actualmente no hay ningún requisito de implementación especial para que los IME de terceros funcionen con un teclado táctil. El control de entrada para los eventos de clave de hardware también controlará los eventos clave de los diseños táctiles clásicos.

Nota:

Es posible que los IME necesiten comenzar a controlar los eventos de entrada Unicode si la compatibilidad con TKB también se amplía para incluir diseños de teclado optimizados.

Un IME de terceros puede optar por usar el diseño de teclado optimizado para su IME. Consulta la guía de IME de terceros para obtener más información.

Asegúrese de que la interfaz de usuario del panel candidato (y otros elementos de la interfaz de usuario) no se dibujan debajo del teclado táctil. En la mayoría de los casos, la aplicación debe cambiar el tamaño de su ventana para tener en cuenta el teclado táctil. Sin embargo, si una aplicación no lo hace, las IME pueden seguir usando la API InputPaneFramework para aprender la posición del teclado táctil. Las IME de terceros pueden usar esta API para obtener el espacio de pantalla consumido por el teclado táctil antes de dibujar interfaces de usuario candidatas (u otras) y cambiar su interfaz de usuario para evitar dibujar debajo del teclado táctil.

Buscando

En Windows 8, las aplicaciones de la Tienda Windows pueden proporcionar fácilmente a sus usuarios características de búsqueda mediante la implementación del contrato de búsqueda y la integración con el panel Búsqueda. El panel Búsqueda es una ubicación central para que los usuarios realicen búsquedas en todas sus aplicaciones. Windows ayuda a las aplicaciones que usan el panel De búsqueda a obtener a sus usuarios donde quieren ir lo más rápido posible. En concreto, para los usuarios de IME, proporciona una experiencia de búsqueda única que permite que los IME compatibles se integren con el Windows 8 para una mayor eficiencia y facilidad de uso.

Un IME es compatible con la experiencia de búsqueda integrada si cumple estos criterios:

  • Es compatible con el entorno de aplicaciones de la Tienda Windows
  • Implementa las API de modo UILess de TFS.
  • Implementa las API de integración de búsqueda de TFS:
    • ItfSearchCandidateProvider
    • ItfSearchHardwareKeyboardBehaviors

Cuando se activa en el panel Buscar, el IME compatible se coloca en modo UILess y no puede mostrar su interfaz de usuario. En su lugar, envía candidatos de conversión a Windows, que luego los mostrará en el control de lista candidata insertada. El IME también envía candidatos de Windows que se deben usar para ejecutar la búsqueda actual: estos candidatos podrían ser los mismos que los candidatos de conversión o pueden adaptarse para la búsqueda. Los buenos candidatos de búsqueda cumplen estos criterios:

  • No se superpone ningún prefijo
  • Sin candidato de predicción (solo finalización)

Las IME que no cumplen los criterios y no son compatibles con la búsqueda se muestran de la misma manera que en otros controles de aplicación de la Tienda Windows y no pueden aprovechar las ventajas de la integración de la interfaz de usuario y los candidatos de búsqueda. (Las aplicaciones reciben consultas solo después de que el usuario haya terminado de redactar). Cuando una aplicación que admite el contrato de búsqueda recibe una consulta, el evento de consulta incluirá una matriz "queryTextAlternatives" que contiene todas las alternativas conocidas, clasificadas de la más relevante (probablemente) a menos relevante (improbable). Siempre que se proporcionan alternativas, la aplicación debe tratar cada alternativa como consulta y devolver todos los resultados que coincidan con cualquiera de las alternativas (como si el usuario hubiera emitido varias consultas al mismo tiempo), esencialmente emitiendo una consulta "o" al servicio proporcionando los resultados. Para mejorar el rendimiento, las aplicaciones a menudo limitarán la coincidencia con las 10 alternativas más relevantes.

Firma digital IME

Todos los IME de terceros deben estar firmados digitalmente para poder instalarse en el sistema Windows 8 como IME. Con SmartScreen, los usuarios pueden ver un mensaje de advertencia al descargar un IME sin firmar desde la web. Para obtener un certificado y firmar los archivos:

  • Usar una firma Authenticode para firmar digitalmente programas
    • Obtener un certificado de firma de código Authenticode válido de una de las muchas entidades de certificación compatibles con Windows
    • Uso de herramientas de desarrollo (como signtool.exe) para firmar las aplicaciones antes de la distribución
    • Para obtener más información y una descripción paso a paso del proceso de firma de código, consulte la entrada de blog Todo lo que necesita saber sobre la firma de código Authenticode .
  • Asegúrese de que las descargas no se detectan como malware.
    • Los programas descargados detectados y confirmados como malware afectan tanto a la reputación de la descarga como a la reputación del certificado digital usado para firmar ese archivo.
  • Solicitar certificación de Windows
    • Visite la página Certificación de aplicaciones de Windows en MSDN.

Para obtener más información, consulte estos artículos sobre firmas digitales y firma de código:

Si no se firma un IME, el usuario recibe este mensaje de advertencia cuando intenta descargar el IME:

ime no está firmado mensaje de advertencia

Si se firma un IME, los usuarios verán este mensaje en su lugar:

ime es un mensaje firmado

En función de estas notificaciones, los usuarios pueden elegir si desea eliminar el archivo o omitir la advertencia y ejecutar el programa descargado.

Revocación de IME

Los IME malintencionados o que no siguen las directrices de IME de Windows 8 se pueden quitar del sistema mediante Windows Defender. Para obtener más información sobre los IME malintencionados, consulta el artículo sobre IME de terceros en Windows 8.

Recursos