chrome.input.ime

Descripción

Usa la API de chrome.input.ime para implementar un IME personalizado para ChromeOS. Esto permite que tu extensión controle las pulsaciones de teclas, establezca la composición y administre la ventana candidata.

Permisos

input

Debes declarar el permiso de “entrada” en el manifiesto de extensión para usar la API de input.ime. Por ejemplo:

{
  "name": "My extension",
  ...
  "permissions": [
    "input"
  ],
  ...
}

Ejemplos

El siguiente código crea un IME que convierte letras escritas en mayúsculas.

var context_id = -1;

chrome.input.ime.onFocus.addListener(function(context) {
  context_id = context.contextID;
});

chrome.input.ime.onKeyEvent.addListener(
  function(engineID, keyData) {
    if (keyData.type == "keydown" && keyData.key.match(/^[a-z]$/)) {
      chrome.input.ime.commitText({"contextID": context_id,
                                    "text": keyData.key.toUpperCase()});
      return true;
    } else {
      return false;
    }
  }
);

Tipos

AssistiveWindowButton

Chrome 85 y versiones posteriores

ID de los botones en la ventana asistiva.

Enum

"addToDictionary"

AssistiveWindowProperties

Chrome 85 y versiones posteriores

Propiedades de la ventana asistiva.

Propiedades

  • announceString

    cadena opcional

    Cadenas que se deben anunciar en ChromeVox.

  • tipo

  • visible

    boolean

    Establece el valor verdadero para mostrar AssistiveWindow y establece el valor falso para ocultarlo.

AssistiveWindowType

Chrome 85 y versiones posteriores

Tipo de ventana asistiva.

Valor

AutoCapitalizeType

Chrome 69 y versiones posteriores

Indica el tipo de mayúsculas automáticas del campo de texto.

Enum

InputContext

Describe un contexto de entrada

Propiedades

  • autoCapitalize
    Chrome 69 y versiones posteriores

    Indica el tipo de mayúsculas automáticas del campo de texto.

  • autoComplete

    boolean

    Si el campo de texto desea autocompletar.

  • autoCorrect

    boolean

    Si el campo de texto desea la autocorrección

  • contextID

    número

    Se usa para especificar los objetivos de las operaciones de campos de texto. Este ID deja de ser válido en cuanto se llama a onBlur.

  • shouldDoLearning

    boolean

    Chrome 68 y versiones posteriores

    Si el texto ingresado en el campo de texto debe usarse para mejorar las sugerencias de escritura para el usuario.

  • spellCheck

    boolean

    Si el campo de texto desea corregir la ortografía

  • Tipo de valor que edita este campo de texto (texto, número, URL, etcétera)

InputContextType

Chrome 44 y versiones posteriores

Tipo de valor que edita este campo de texto (texto, número, URL, etcétera)

Enum

"tel"

"url"

"null"

KeyboardEvent

Consultar http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent

Propiedades

  • altKey

    booleano opcional

    Indica si se presiona o no la tecla ALT.

  • altgrKey

    booleano opcional

    Chrome 79 y versiones posteriores

    Indica si se presiona o no la tecla ALTGR.

  • capsLock

    booleano opcional

    Indica si CAPS_LOCK está habilitado o no.

  • código

    cadena

    Valor de la tecla física que se presiona. El valor no se ve afectado por el diseño actual del teclado ni el estado del modificador.

  • ctrlKey

    booleano opcional

    Indica si se presiona o no la tecla CTRL.

  • extensionId

    cadena opcional

    El ID de extensión del remitente de este evento clave.

  • clave

    cadena

    Valor de la tecla que se presiona

  • keyCode

    número opcional

    El keyCode de HTML obsoleto, que es un código numérico que depende del sistema y de la implementación, y que indica el identificador no modificado asociado con la tecla presionada.

  • requestId

    cadena opcional

    El ID de la solicitud (obsoleto). En su lugar, usa el parámetro requestId del evento onKeyEvent.

  • shiftKey

    booleano opcional

    Indica si se presiona o no la tecla MAYÚSCULA.

  • Puede ser keyup o keydown.

KeyboardEventType

Chrome 44 y versiones posteriores

Enum

MenuItem

Un elemento de menú que un método de entrada usa para interactuar con el usuario desde el menú de idioma.

Propiedades

  • elemento marcado

    booleano opcional

    Indica que este elemento se debe dibujar con una marca de verificación.

  • habilitado

    booleano opcional

    Indica que este elemento está habilitado.

  • id

    cadena

    Es la cadena que se pasará a las devoluciones de llamada que hacen referencia a este MenuItem.

  • etiqueta

    cadena opcional

    Texto que se muestra en el menú de este elemento.

  • estilo

    MenuItemStyle opcional

    Es el tipo de elemento del menú.

  • visible

    booleano opcional

    Indica que este elemento es visible.

MenuItemStyle

Chrome 44 y versiones posteriores

Es el tipo de elemento del menú. Los botones de selección entre separadores se consideran agrupados.

Enum

"radio"

MenuParameters

Chrome 88 y versiones posteriores

Propiedades

  • engineID

    cadena

    ID del motor que se usará.

  • items

    MenuItems para agregar o actualizar Se agregarán en el orden en que existen en el array.

MouseButton

Chrome 44 y versiones posteriores

Los botones del mouse se hicieron clic.

Enum

"left"

ScreenType

Chrome 44 y versiones posteriores

El tipo de pantalla en el que se activa el IME.

Enum

"secondary-login"

UnderlineStyle

Chrome 44 y versiones posteriores

El tipo de subrayado para modificar este segmento.

Enum

"underline"

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44 y versiones posteriores

Dónde mostrar la ventana de candidatos. Si se configura como “cursor”, la ventana sigue el cursor. Si se establece en “composition”, la ventana se bloquea al comienzo de la composición.

Enum

"cursor"

Métodos

clearComposition()

Promesa
chrome.input.ime.clearComposition(
  parameters: object,
  callback?: function,
)

Borra la composición actual. Si esta extensión no es propietaria del IME activo, se producirá un error.

Parámetros

  • Parámetros

    objeto

    • contextID

      número

      ID del contexto en el que se borrará la composición

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (success: boolean)=>void

    • correcto

      boolean

Devuelve

  • Promise<boolean>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

commitText()

Promesa
chrome.input.ime.commitText(
  parameters: object,
  callback?: function,
)

Confirma el texto proporcionado en la entrada actual.

Parámetros

  • Parámetros

    objeto

    • contextID

      número

      ID del contexto en el que se confirmará el texto

    • text

      cadena

      El texto que se confirmará

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (success: boolean)=>void

    • correcto

      boolean

Devuelve

  • Promise<boolean>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

deleteSurroundingText()

Promesa
chrome.input.ime.deleteSurroundingText(
  parameters: object,
  callback?: function,
)

Borra el texto alrededor del signo de intercalación.

Parámetros

  • Parámetros

    objeto

    • contextID

      número

      ID del contexto en el que se borrará el texto que lo rodea.

    • engineID

      cadena

      ID del motor que recibe el evento.

    • length

      número

      La cantidad de caracteres que se borrarán

    • offset

      número

      El desplazamiento desde la posición del signo de intercalación donde comenzará la eliminación. Este valor puede ser negativo.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    ()=>void

Devuelve

  • Promise<void>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

hideInputView()

chrome.input.ime.hideInputView()

Oculta la ventana de vista de entrada, que el sistema abre automáticamente. Si la ventana de vista de entrada ya está oculta, esta función no realizará ninguna acción.

keyEventHandled()

chrome.input.ime.keyEventHandled(
  requestId: string,
  response: boolean,
)

Indica que se controla el evento clave que recibió onKeyEvent. Solo se debe llamar a este método si el objeto de escucha onKeyEvent es asíncrono.

Parámetros

  • requestId

    cadena

    Es el ID de solicitud del evento que se controló. Debe provenir de keyEvent.requestId.

  • respuesta

    boolean

    Es verdadero si se manejó la combinación de teclas y falso si no lo hizo.

sendKeyEvents()

Promesa
chrome.input.ime.sendKeyEvents(
  parameters: object,
  callback?: function,
)

Envía los eventos de tecla. Se espera que los teclados virtuales utilicen esta función. Cuando un usuario presiona las teclas de un teclado virtual, esta función se usa para propagar ese evento al sistema.

Parámetros

  • Parámetros

    objeto

    • contextID

      número

      ID del contexto al que se enviarán los eventos de tecla, o cero para enviar los eventos de tecla al campo sin entrada.

    • keyData

      Datos sobre el evento clave

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    ()=>void

Devuelve

  • Promise<void>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

setAssistiveWindowButtonHighlighted()

Promesa Chrome 86 y versiones posteriores
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
  callback?: function,
)

Destaca o deja de destacar un botón en una ventana asistiva.

Parámetros

  • Parámetros

    objeto

    • announceString

      cadena opcional

      Es el texto que debe anunciar el lector de pantalla.

    • El ID del botón

    • contextID

      número

      ID del contexto propietario de la ventana de asistencia.

    • destacado

      boolean

      Si el botón debe destacarse.

    • windowType

      El tipo de ventana al que pertenece el botón

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    ()=>void

Devuelve

  • Promise<void>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

setAssistiveWindowProperties()

Promesa Chrome 85 y versiones posteriores
chrome.input.ime.setAssistiveWindowProperties(
  parameters: object,
  callback?: function,
)

Muestra u oculta una ventana asistiva con las propiedades determinadas.

Parámetros

  • Parámetros

    objeto

    • contextID

      número

      ID del contexto propietario de la ventana de asistencia.

    • Propiedades de la ventana asistiva.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (success: boolean)=>void

    • correcto

      boolean

Devuelve

  • Promise<boolean>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

setCandidates()

Promesa
chrome.input.ime.setCandidates(
  parameters: object,
  callback?: function,
)

Establece la lista de candidatos actuales. Esta acción falla si la extensión no tiene el IME activo

Parámetros

  • Parámetros

    objeto

    • candidatos

      objeto

      Lista de candidatos para mostrar en la ventana de candidatos

      • anotación

        cadena opcional

        Texto adicional que describe al candidato

      • candidato

        cadena

        El candidato

      • id

        número

        ID del candidato

      • etiqueta

        cadena opcional

        Cadena corta que se muestra junto a la variante, a menudo la combinación de teclas o el índice

      • parentId

        número opcional

        El ID en el que se agregarán estos candidatos

      • uso

        objeto opcional

        Es la descripción de uso o detalle de la palabra.

        • body

          cadena

          Es la cadena de cuerpo de la descripción detallada.

        • title

          cadena

          Es la cadena de título de la descripción de detalles.

    • contextID

      número

      ID del contexto que posee la ventana de candidatos.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (success: boolean)=>void

    • correcto

      boolean

Devuelve

  • Promise<boolean>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

setCandidateWindowProperties()

Promesa
chrome.input.ime.setCandidateWindowProperties(
  parameters: object,
  callback?: function,
)

Establece las propiedades de la ventana de candidatos. Esta acción falla si la extensión no tiene el IME activo

Parámetros

  • Parámetros

    objeto

    • engineID

      cadena

      ID del motor en el que se configurarán las propiedades.

    • properties

      objeto

      • auxiliaryText

        cadena opcional

        Texto que se muestra en la parte inferior de la ventana de candidatos.

      • auxiliaryTextVisible

        booleano opcional

        El valor es verdadero para mostrar el texto auxiliar y el valor falso para ocultarlo.

      • currentCandidateIndex

        número opcional

        Chrome 84 y versiones posteriores

        Es el índice del candidato elegido actual del total de candidatos.

      • cursorVisible

        booleano opcional

        El valor es verdadero para mostrar el cursor y falso para ocultarlo.

      • pageSize

        número opcional

        Es la cantidad de candidatos que se muestran por página.

      • totalCandidates

        número opcional

        Chrome 84 y versiones posteriores

        Es la cantidad total de candidatos para el período de candidatos.

      • vertical

        booleano opcional

        Es verdadero si la ventana de candidata se debe renderizar en vertical. También es falso para que sea horizontal.

      • visible

        booleano opcional

        Si esta preferencia se muestra como verdadero, se muestra la ventana Candidate y el valor es falso, para ocultarla.

      • windowPosition

        WindowPosition opcional

        Dónde mostrar la ventana de candidatos.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (success: boolean)=>void

    • correcto

      boolean

Devuelve

  • Promise<boolean>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

setComposition()

Promesa
chrome.input.ime.setComposition(
  parameters: object,
  callback?: function,
)

Establece la composición actual. Si esta extensión no es propietaria del IME activo, se producirá un error.

Parámetros

  • Parámetros

    objeto

    • contextID

      número

      ID del contexto en el que se establecerá el texto de composición

    • cursor

      número

      Posición en el texto del cursor.

    • segmentos similares

      objeto[] opcional

      Lista de segmentos y sus tipos asociados.

      • end

        número

        Índice del carácter después del que finaliza este segmento.

      • start

        número

        Índice del carácter en el que comienza este segmento

      • El tipo de subrayado para modificar este segmento.

    • selectionEnd

      número opcional

      Posición en el texto en el que finaliza la selección.

    • selectionStart

      número opcional

      Posición en el texto en el que comienza la selección.

    • text

      cadena

      Texto para definir

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (success: boolean)=>void

    • correcto

      boolean

Devuelve

  • Promise<boolean>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

setCursorPosition()

Promesa
chrome.input.ime.setCursorPosition(
  parameters: object,
  callback?: function,
)

Establece la posición del cursor en la ventana de candidatos. Esta es una no-op si la extensión no posee el IME activo.

Parámetros

  • Parámetros

    objeto

    • candidateID

      número

      ID del candidato a seleccionar.

    • contextID

      número

      ID del contexto que posee la ventana de candidatos.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (success: boolean)=>void

    • correcto

      boolean

Devuelve

  • Promise<boolean>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

setMenuItems()

Promesa
chrome.input.ime.setMenuItems(
  parameters: MenuParameters,
  callback?: function,
)

Agrega los elementos de menú proporcionados al menú de idiomas cuando este IME está activo.

Parámetros

  • Parámetros
  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    ()=>void

Devuelve

  • Promise<void>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

updateMenuItems()

Promesa
chrome.input.ime.updateMenuItems(
  parameters: MenuParameters,
  callback?: function,
)

Actualiza el estado de los MenuItems especificados

Parámetros

  • Parámetros
  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    ()=>void

Devuelve

  • Promise<void>

    Chrome 111 y versiones posteriores

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.

Eventos

onActivate

chrome.input.ime.onActivate.addListener(
  callback: function,
)

Este evento se envía cuando se activa un IME. Indica que el IME recibirá eventos de onKeyPress.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (engineID: string,screen: ScreenType)=>void

onAssistiveWindowButtonClicked

Chrome 85 y versiones posteriores
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
  callback: function,
)

Este evento se envía cuando se hace clic en un botón de una ventana asistiva.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (details: object)=>void

onBlur

chrome.input.ime.onBlur.addListener(
  callback: function,
)

Este evento se envía cuando el enfoque sale de un cuadro de texto. Se envía a todas las extensiones que escuchan este evento y el usuario lo habilita.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (contextID: number)=>void

    • contextID

      número

onCandidateClicked

chrome.input.ime.onCandidateClicked.addListener(
  callback: function,
)

Este evento se envía si la extensión es propietaria del IME activo.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (engineID: string,candidateID: number,button: MouseButton)=>void

    • engineID

      cadena

    • candidateID

      número

    • botón

onDeactivated

chrome.input.ime.onDeactivated.addListener(
  callback: function,
)

Este evento se envía cuando se desactiva un IME. Indica que el IME ya no recibirá eventos onKeyPress.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (engineID: string)=>void

    • engineID

      cadena

onFocus

chrome.input.ime.onFocus.addListener(
  callback: function,
)

Este evento se envía cuando el foco ingresa a un cuadro de texto. Se envía a todas las extensiones que escuchan este evento y el usuario lo habilita.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (context: InputContext)=>void

onInputContextUpdate

chrome.input.ime.onInputContextUpdate.addListener(
  callback: function,
)

Este evento se envía cuando cambian las propiedades del InputContext actual, como el tipo. Se envía a todas las extensiones que escuchan este evento y el usuario lo habilita.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (context: InputContext)=>void

onKeyEvent

chrome.input.ime.onKeyEvent.addListener(
  callback: function,
)

Se activa cuando se envía un evento clave desde el sistema operativo. El evento se enviará a la extensión si esta es propietaria del IME activo. La función de escucha debe mostrar "true" si el evento se controló como "false" de lo contrario. Si el evento se evalúa de forma asíncrona, esta función debe mostrar un valor indefinido y el IME debe llamar más tarde a keyEventHandled() con el resultado.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (engineID: string,keyData: KeyboardEvent,requestId: string)=>boolean|undefined

    • resultados

      boolean|undefined

onMenuItemActivated

chrome.input.ime.onMenuItemActivated.addListener(
  callback: function,
)

Se llama cuando el usuario selecciona un elemento de menú.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (engineID: string,name: string)=>void

    • engineID

      cadena

    • name

      cadena

onReset

chrome.input.ime.onReset.addListener(
  callback: function,
)

Este evento se envía cuando Chrome finaliza la sesión de entrada de texto en curso.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (engineID: string)=>void

    • engineID

      cadena

onSurroundingTextChanged

chrome.input.ime.onSurroundingTextChanged.addListener(
  callback: function,
)

Se llama cuando se cambia la cadena editable alrededor del signo de intercalación o cuando se mueve la posición del signo de intercalación. La longitud del texto se limita a 100 caracteres en cada dirección de ida y vuelta.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (engineID: string,surroundingInfo: object)=>void

    • engineID

      cadena

    • surroundingInfo

      objeto

      • ancla

        número

        Es la posición inicial de la selección. Este valor indica la posición del signo de intercalación si no hay selección.

      • enfoque

        número

        Es la posición final de la selección. Este valor indica la posición del signo de intercalación si no hay selección.

      • offset

        número

        Chrome 46 y versiones posteriores

        La posición de desplazamiento de text. Dado que text solo incluye un subconjunto de texto alrededor del cursor, el desplazamiento indica la posición absoluta del primer carácter de text.

      • text

        cadena

        El texto que rodea el cursor. Esto es solo un subconjunto de todo el texto del campo de entrada.