chrome.input.ime

Description

Utilisez l'API chrome.input.ime afin d'implémenter un IME personnalisé pour Chrome OS. Votre extension pourra ainsi gérer les frappes au clavier, définir la composition et gérer la fenêtre candidate.

Autorisations

input

Pour utiliser l'API input.ime, vous devez déclarer l'autorisation "input" dans le fichier manifeste de l'extension. Exemple :

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

Garantie de disponibilité

ChromeOS uniquement

Exemples

Le code suivant crée un IME qui convertit les lettres saisies en majuscules.

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;
    }
  }
);

Types

AssistiveWindowButton

Chrome 85 ou version ultérieure

ID des boutons dans la fenêtre d'assistance.

Enum

"addToDictionary"

AssistiveWindowProperties

Chrome 85 ou version ultérieure

Propriétés de la fenêtre d'assistance.

Propriétés

  • announceString

    chaîne facultatif

    Chaînes annoncées par ChromeVox.

  • Type

  • visible

    boolean

    Définit "true" pour afficher AssistiveWindow, et "false" pour masquer.

AssistiveWindowType

Chrome 85 ou version ultérieure

Type de fenêtre d'assistance.

Valeur

AutoCapitalizeType

Chrome 69 ou version ultérieure

Type de mise en majuscules automatique du champ de texte.

Enum

"sentences"

InputContext

Décrit un contexte d'entrée

Propriétés

  • autoCapitalize
    Chrome 69 ou version ultérieure

    Type de mise en majuscules automatique du champ de texte.

  • autoComplete

    boolean

    Indique si la saisie semi-automatique est activée pour le champ de texte.

  • autoCorrect

    boolean

    Indique si le champ de texte doit être corrigé automatiquement.

  • contextID

    Nombre

    Utilisé pour spécifier les cibles des opérations sur les champs de texte. Cet ID n'est plus valide dès que la méthode onBlur est appelée.

  • shouldDoLearning

    boolean

    Chrome 68 ou version ultérieure

    Indique si le texte saisi dans le champ de texte doit être utilisé pour améliorer les suggestions de saisie pour l'utilisateur.

  • spellCheck

    boolean

    Indique si le champ de texte nécessite un correcteur orthographique.

  • Type de la valeur modifiée par ce champ de texte (texte, nombre, URL, etc.)

InputContextType

Chrome 44 ou version ultérieure

Type de la valeur modifiée par ce champ de texte (texte, nombre, URL, etc.)

Enum

"tel"

"url"

"number"

"null"

KeyboardEvent

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

Propriétés

  • altKey

    Booléen facultatif

    Indique si la touche ALT est activée ou non.

  • altgrKey

    Booléen facultatif

    Chrome 79 ou version ultérieure

    Indique si la touche ALTGR est enfoncée ou non.

  • capsLock

    Booléen facultatif

    Indique si le paramètre CAPS_LOCK est activé ou non.

  • code

    chaîne

    Valeur de la touche physique sur laquelle l'utilisateur appuie. La disposition du clavier ou l'état du modificateur n'ont aucune incidence sur la valeur.

  • ctrlKey

    Booléen facultatif

    Indique si la touche CTRL est enfoncée ou non.

  • extensionId

    chaîne facultatif

    ID d'extension de l'expéditeur de cet événement clé.

  • clé

    chaîne

    Valeur de la touche sur laquelle vous appuyez

  • keyCode

    numéro facultatif

    KeyCode HTML obsolète. Il s'agit d'un code numérique dépendant du système et de l'implémentation, indiquant l'identifiant non modifié associé à la touche appuyée.

  • requestId

    chaîne facultatif

    (Obsolète) Identifiant de la requête. Utilisez plutôt le paramètre requestId de l'événement onKeyEvent.

  • shiftKey

    Booléen facultatif

    Indique si la touche MAJ est enfoncée.

  • Keyup ou keydown.

KeyboardEventType

Chrome 44 ou version ultérieure

Enum

"keyup"

"keydown"

MenuItem

Élément de menu utilisé par un mode de saisie pour interagir avec l'utilisateur à partir du menu de langue.

Propriétés

  • coché

    Booléen facultatif

    Indique que cet élément doit être coché.

  • activé

    Booléen facultatif

    Indique que cet élément est activé.

  • id

    chaîne

    Chaîne qui sera transmise aux rappels référençant ce MenuItem.

  • étiquette

    chaîne facultatif

    Texte affiché dans le menu pour cet élément.

  • style

    MenuItemStyle facultatif

    Type d'élément de menu.

  • visible

    Booléen facultatif

    Indique que cet élément est visible.

MenuItemStyle

Chrome 44 ou version ultérieure

Type d'élément de menu. Les cases d'option entre les séparateurs sont considérées comme regroupées.

Enum

"check"

"radio"

MenuParameters

Chrome 88 ou version ultérieure

Propriétés

  • engineID

    chaîne

    ID du moteur à utiliser.

  • items

    Éléments de menu à ajouter ou à mettre à jour. Elles seront ajoutées dans l'ordre dans lequel elles existent dans le tableau.

MouseButton

Chrome 44 ou version ultérieure

les boutons de la souris sur lesquels les utilisateurs ont cliqué ;

Enum

ScreenType

Chrome 44 ou version ultérieure

Type d'écran sous lequel l'IME est activé.

Enum

"normal"

"login"

"secondary-login"

UnderlineStyle

Chrome 44 ou version ultérieure

Type de soulignement à modifier pour ce segment.

Enum

WindowPosition

Chrome 44 ou version ultérieure

Emplacement d'affichage de la fenêtre des candidats. S'il est défini sur "cursor", la fenêtre suit le curseur. S'il est défini sur "Composition", la fenêtre est verrouillée au début de la composition.

Enum

"composition"

Méthodes

clearComposition()

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

Effacez la composition actuelle. Si cette extension n'est pas propriétaire de l'IME actif, l'opération échoue.

Paramètres

  • paramètres

    objet

    • contextID

      Nombre

      ID du contexte dans lequel la composition sera effacée

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    (success: boolean) => void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

commitText()

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

Valide le texte fourni dans l'entrée actuelle.

Paramètres

  • paramètres

    objet

    • contextID

      Nombre

      ID du contexte dans lequel le texte sera validé

    • text

      chaîne

      Texte à valider

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    (success: boolean) => void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

deleteSurroundingText()

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

Supprime le texte autour du curseur de saisie.

Paramètres

  • paramètres

    objet

    • contextID

      Nombre

      ID du contexte dans lequel le texte qui l'entoure sera supprimé.

    • engineID

      chaîne

      ID du moteur recevant l'événement.

    • length

      Nombre

      Le nombre de caractères à supprimer

    • offset

      Nombre

      Décalage par rapport à la position du curseur de saisie à partir de laquelle la suppression commencera. Cette valeur peut être négative.

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    () => void

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

hideInputView()

chrome.input.ime.hideInputView()

Masque la fenêtre de vue des entrées, qui s'affiche automatiquement par le système. Si la fenêtre de la vue de saisie est déjà masquée, cette fonction n'a aucun effet.

keyEventHandled()

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

Indique que l'événement clé reçu par onKeyEvent est géré. Cette méthode ne doit être appelée que si l'écouteur onKeyEvent est asynchrone.

Paramètres

  • requestId

    chaîne

    Identifiant de la requête de l'événement géré. Il doit provenir de keyEvent.requestId.

  • réponse

    boolean

    "True" si la frappe a été traitée, "false" dans le cas contraire

sendKeyEvents()

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

Envoie les événements clés. Cette fonction est censée être utilisée par les claviers virtuels. Lorsque l'utilisateur appuie sur une ou plusieurs touches d'un clavier virtuel, cette fonction permet de propager cet événement au système.

Paramètres

  • paramètres

    objet

    • contextID

      Nombre

      ID du contexte dans lequel les événements clés seront envoyés, ou "zéro" pour les envoyer dans un champ autre que de saisie.

    • keyData

      Données sur l'événement clé.

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    () => void

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

setAssistiveWindowButtonHighlighted()

Promise Chrome 86 ou version ultérieure
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
  callback?: function,
)

Met en surbrillance/annule la mise en surbrillance d'un bouton dans une fenêtre d'assistance.

Paramètres

  • paramètres

    objet

    • announceString

      chaîne facultatif

      Texte que le lecteur d'écran doit énoncer.

    • ID du bouton

    • contextID

      Nombre

      ID du contexte propriétaire de la fenêtre d'assistance.

    • en surbrillance

      boolean

      Mettre le bouton en surbrillance ou non

    • windowType

      Type de fenêtre auquel appartient le bouton.

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    () => void

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

setAssistiveWindowProperties()

Promise Chrome 85 ou version ultérieure
chrome.input.ime.setAssistiveWindowProperties(
  parameters: object,
  callback?: function,
)

Affiche/Masque une fenêtre d'assistance avec les propriétés données.

Paramètres

  • paramètres

    objet

    • contextID

      Nombre

      ID du contexte propriétaire de la fenêtre d'assistance.

    • Propriétés de la fenêtre d'assistance.

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    (success: boolean) => void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

setCandidates()

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

Définit la liste actuelle des candidats. Échec de l'opération si cette extension n'est pas propriétaire de l'IME actif

Paramètres

  • paramètres

    objet

    • candidats

      objet[]

      Liste des candidats à afficher dans la fenêtre des candidats

      • annotation

        chaîne facultatif

        Texte supplémentaire décrivant le candidat

      • candidat

        chaîne

        Le candidat

      • id

        Nombre

        ID du candidat

      • étiquette

        chaîne facultatif

        Chaîne courte affichée à côté du candidat, souvent la touche de raccourci ou l'index

      • parentId

        numéro facultatif

        ID sous lequel ajouter ces candidats

      • utilisation

        objet facultatif

        Utilisation ou description détaillée du mot.

        • body

          chaîne

          Corps de la chaîne de la description détaillée.

        • title

          chaîne

          Chaîne de titre de la description détaillée.

    • contextID

      Nombre

      ID du contexte auquel appartient la fenêtre candidate.

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    (success: boolean) => void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

setCandidateWindowProperties()

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

Définit les propriétés de la fenêtre candidate. Cette opération échoue si l'extension n'est pas propriétaire de l'IME actif.

Paramètres

  • paramètres

    objet

    • engineID

      chaîne

      ID du moteur sur lequel définir les propriétés.

    • du bucket

      objet

      • auxiliaryText

        chaîne facultatif

        Texte affiché en bas de la fenêtre du candidat.

      • auxiliaryTextVisible

        Booléen facultatif

        "True" pour afficher le texte auxiliaire, "false" pour le masquer.

      • currentCandidateIndex

        numéro facultatif

        Chrome 84 ou version ultérieure

        Indice du candidat actuellement sélectionné par rapport au nombre total de candidats.

      • cursorVisible

        Booléen facultatif

        "True" pour afficher le curseur, "false" pour le masquer.

      • pageSize

        numéro facultatif

        Nombre de propositions à afficher par page.

      • totalCandidates

        numéro facultatif

        Chrome 84 ou version ultérieure

        Nombre total de candidats pour la période des candidats.

      • verticale

        Booléen facultatif

        "True" si la fenêtre candidate doit être affichée verticalement, "false" pour la rendre horizontale.

      • visible

        Booléen facultatif

        "True" pour afficher la fenêtre "Candidate" et sur "false" pour la masquer.

      • windowPosition

        WindowPosition facultatif

        Emplacement d'affichage de la fenêtre des candidats.

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    (success: boolean) => void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

setComposition()

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

Définissez la composition actuelle. Si cette extension n'est pas propriétaire de l'IME actif, l'opération échoue.

Paramètres

  • paramètres

    objet

    • contextID

      Nombre

      ID du contexte dans lequel le texte de composition sera défini

    • cursor

      Nombre

      Position dans le texte du curseur.

    • similaires

      objet[] facultatif

      Liste des segments et des types associés.

      • end

        Nombre

        Index du caractère après lequel ce segment doit se terminer.

      • Départ

        Nombre

        Index du caractère auquel commencer ce segment

      • Type de soulignement à modifier pour ce segment.

    • selectionEnd

      numéro facultatif

      Position dans le texte auquel la sélection se termine.

    • selectionStart

      numéro facultatif

      Position dans le texte à partir duquel la sélection commence.

    • text

      chaîne

      Texte à définir

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    (success: boolean) => void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

setCursorPosition()

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

Définissez la position du curseur dans la fenêtre des propositions. Il s'agit d'une opération no-op si cette extension n'est pas propriétaire de l'IME actif.

Paramètres

  • paramètres

    objet

    • candidateID

      Nombre

      ID du candidat à sélectionner.

    • contextID

      Nombre

      ID du contexte auquel appartient la fenêtre candidate.

  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    (success: boolean) => void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

setMenuItems()

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

Ajoute les éléments de menu fournis au menu de langue lorsque cet IME est actif.

Paramètres

  • paramètres
  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    () => void

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

updateMenuItems()

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

Met à jour l'état des éléments MenuItems spécifiés

Paramètres

  • paramètres
  • rappel

    function facultatif

    Le paramètre callback ressemble à ceci :

    () => void

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure

    Les promesses sont compatibles avec Manifest V3 et versions ultérieures, mais les rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

Événements

onActivate

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

Cet événement est envoyé lorsqu'un IME est activé. Cela indique que l'IME recevra des événements onKeyPress.

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

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

onAssistiveWindowButtonClicked

Chrome 85 ou version ultérieure
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
  callback: function,
)

Cet événement est envoyé lorsqu'un utilisateur clique sur un bouton dans une fenêtre d'assistance.

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

    (details: object) => void

onBlur

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

Cet événement est envoyé lorsque le curseur quitte une zone de texte. Il est envoyé à toutes les extensions qui écoutent cet événement et activé par l'utilisateur.

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

    (contextID: number) => void

    • contextID

      Nombre

onCandidateClicked

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

Cet événement est envoyé si cette extension possède l'IME actif.

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

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

    • engineID

      chaîne

    • candidateID

      Nombre

    • bouton

onDeactivated

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

Cet événement est envoyé lorsqu'un IME est désactivé. Cela indique que l'IME ne recevra plus d'événements onKeyPress.

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

    (engineID: string) => void

    • engineID

      chaîne

onFocus

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

Cet événement est envoyé lorsque le curseur entre dans une zone de texte. Il est envoyé à toutes les extensions qui écoutent cet événement et activé par l'utilisateur.

Paramètres

onInputContextUpdate

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

Cet événement est envoyé lorsque les propriétés de l'InputContext actuelle changent, telles que le type. Il est envoyé à toutes les extensions qui écoutent cet événement et activé par l'utilisateur.

Paramètres

onKeyEvent

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

Déclenché lorsqu'un événement clé est envoyé depuis le système d'exploitation. L'événement sera envoyé à l'extension si celle-ci possède l'IME actif. Dans le cas contraire, la fonction d'écouteur doit renvoyer la valeur "true" si l'événement a été traité comme "false". Si l'événement est évalué de manière asynchrone, cette fonction doit renvoyer "undefined", et l'IME doit ensuite appeler keyEventHandled() avec le résultat.

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

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

    • retours

      Booléen | Non défini

onMenuItemActivated

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

Appelée lorsque l'utilisateur sélectionne un élément de menu

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

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

    • engineID

      chaîne

    • name

      chaîne

onReset

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

Cet événement est envoyé lorsque Chrome met fin à la session de saisie de texte en cours.

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

    (engineID: string) => void

    • engineID

      chaîne

onSurroundingTextChanged

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

Appelé lorsque la chaîne modifiable autour du curseur de saisie est modifiée ou lorsque le curseur de saisie est déplacé. La longueur du texte est limitée à 100 caractères dans chaque sens de va-et-vient.

Paramètres

  • rappel

    function

    Le paramètre callback ressemble à ceci :

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

    • engineID

      chaîne

    • surroundingInfo

      objet

      • anchor

        Nombre

        Position de début de la sélection. En l'absence de sélection, cette valeur indique la position du curseur de saisie.

      • concentration

        Nombre

        Position de fin de la sélection. En l'absence de sélection, cette valeur indique la position du curseur de saisie.

      • offset

        Nombre

        Chrome 46 ou version ultérieure

        Position du décalage de text. Étant donné que text n'inclut qu'un sous-ensemble de texte autour du curseur, le décalage indique la position absolue du premier caractère de text.

      • text

        chaîne

        Texte autour du curseur. Il ne s'agit que d'un sous-ensemble de l'ensemble du texte du champ de saisie.