chrome.input.ime

Description

Utilisez l'API chrome.input.ime pour implémenter un IME personnalisé pour Chrome OS. Cela permet à votre extension de gérer les combinaisons de touches, de définir la composition et de gérer la fenêtre de sélection.

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"
  ],
  ...
}

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 et versions ultérieures

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

Enum

"addToDictionary"

AssistiveWindowProperties

Chrome 85 et versions ultérieures

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

Propriétés

  • announceString

    string facultatif

    Chaînes à annoncer par ChromeVox.

  • type

  • visible

    boolean

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

AssistiveWindowType

Chrome 85 et versions ultérieures

Type de fenêtre d'assistance.

Valeur

AutoCapitalizeType

Chrome 69 ou version ultérieure

Type de majuscule automatique dans le champ de texte.

Enum

"characters"

"words"

"sentences"

InputContext

Décrit un contexte d'entrée

Propriétés

  • autoCapitalize
    Chrome 69 ou version ultérieure

    Type de majuscule automatique dans le champ de texte.

  • autoComplete

    boolean

    Indique si le champ de texte souhaite bénéficier de la saisie semi-automatique.

  • autoCorrect

    boolean

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

  • contextID

    number

    Permet de spécifier les cibles des opérations dans les champs de texte. Cet ID devient non valide dès qu'onBlur est appelé.

  • shouldDoLearning

    boolean

    Chrome 68 et versions ultérieures

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

  • spellCheck

    boolean

    Indique si le champ de texte souhaite vérifier l'orthographe.

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

InputContextType

Chrome 44 ou version ultérieure

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

Enum

"search"

"tel"

"url"

"email"

"number"

"password"

"null"

KeyboardEvent

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

Propriétés

  • altKey

    Booléen facultatif

    Indique si l'utilisateur appuie ou non sur la touche ALT.

  • altgrKey

    Booléen facultatif

    Chrome 79 et versions ultérieures

    Indique si l'utilisateur appuie ou non sur la touche ALTGR.

  • capsLock

    Booléen facultatif

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

  • code

    chaîne

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

  • ctrlKey

    Booléen facultatif

    Indique si l'utilisateur appuie ou non sur la touche CTRL.

  • extensionId

    string facultatif

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

  • clé

    chaîne

    Valeur de la touche sur laquelle l'utilisateur appuie

  • keyCode

    numéro facultatif

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

  • requestId

    string facultatif

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

  • shiftKey

    Booléen facultatif

    Indique si l'utilisateur appuie ou non sur la touche MAJ.

  • 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 l'élément doit être dessiné avec une coche.

  • activé

    Booléen facultatif

    Indique que cet élément est activé.

  • id

    chaîne

    Chaîne qui sera transmise aux rappels faisant référence à cet élément MenuItem.

  • étiquette

    string 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 situées entre les séparateurs sont considérées comme regroupées.

Enum

"check"

"radio"

"separator"

MenuParameters

Chrome 88 et versions ultérieures

Propriétés

  • engineID

    chaîne

    ID du moteur à utiliser.

  • items

    MenuItems à 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

"right"

ScreenType

Chrome 44 ou version ultérieure

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

Enum

"normal"

"login"

UnderlineStyle

Chrome 44 ou version ultérieure

Type de soulignement pour modifier ce segment.

Enum

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44 ou version ultérieure

Où afficher la fenêtre candidate. Si elle est définie sur "curseur", la fenêtre suit le curseur. Si elle est définie sur "Composition", la fenêtre est verrouillée au début de la composition.

Enum

"cursor"

"composition"

Méthodes

clearComposition()

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

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

Paramètres

  • paramètres

    objet

    • contextID

      number

      ID du contexte dans lequel la composition sera effacée

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (success: boolean)=>void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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

      number

      ID du contexte dans lequel le texte sera validé

    • text

      chaîne

      Texte à valider

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (success: boolean)=>void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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 situé autour du curseur de saisie.

Paramètres

  • paramètres

    objet

    • contextID

      number

      ID du contexte dans lequel le texte environnant sera supprimé.

    • engineID

      chaîne

      ID du moteur recevant l'événement.

    • length

      number

      Nombre de caractères à supprimer

    • offset

      number

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

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    ()=>void

Renvoie

  • Promise<void>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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 d'affichage de la saisie, qui est affichée automatiquement par le système. Si la fenêtre de la vue d'entrée 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 de touche 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

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

  • réponse

    boolean

    "True" si la frappe a été effectué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. Lorsqu'un utilisateur appuie sur les touches d'un clavier virtuel, cette fonction permet de propager cet événement au système.

Paramètres

  • paramètres

    objet

    • contextID

      number

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

    • keyData

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

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    ()=>void

Renvoie

  • Promise<void>

    Chrome 111 et versions ultérieures

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

setAssistiveWindowButtonHighlighted()

Promettre Chrome 86 et versions ultérieures
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
  callback?: function,
)

Met en surbrillance ou désactive un bouton dans une fenêtre d'assistance.

Paramètres

  • paramètres

    objet

    • announceString

      string facultatif

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

    • ID du bouton

    • contextID

      number

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

    • en surbrillance

      boolean

      Indique si le bouton doit être mis en surbrillance.

    • windowType

      Type de fenêtre auquel le bouton appartient.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    ()=>void

Renvoie

  • Promise<void>

    Chrome 111 et versions ultérieures

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

setAssistiveWindowProperties()

Promesse Chrome 85 et versions ultérieures
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

      number

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

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

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (success: boolean)=>void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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 de candidats actuelle. Cette opération échoue 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

        string facultatif

        Texte supplémentaire décrivant le candidat

      • candidat

        chaîne

        Le candidat

      • id

        number

        ID du candidat

      • étiquette

        string facultatif

        Chaîne courte affichée à côté de la suggestion, 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

          Chaîne du corps de la description détaillée.

        • title

          chaîne

          Chaîne de titre de la description des détails.

    • contextID

      number

      ID du contexte qui possède la fenêtre du candidat.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (success: boolean)=>void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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

        string facultatif

        Texte qui s'affiche en bas de la fenêtre des suggestions.

      • auxiliaryTextVisible

        Booléen facultatif

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

      • currentCandidateIndex

        numéro facultatif

        Chrome 84 et versions ultérieures

        Indice des candidats actuellement sélectionnés 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 suggestions à afficher par page.

      • totalCandidates

        numéro facultatif

        Chrome 84 et versions ultérieures

        Nombre total de candidats pour le créneau des candidats.

      • verticale

        Booléen facultatif

        "True" si la fenêtre candidate doit s'afficher verticalement, "false" pour qu'elle soit horizontale.

      • visible

        Booléen facultatif

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

      • windowPosition

        WindowPosition facultatif

        Où afficher la fenêtre candidate.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (success: boolean)=>void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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, cette opération échoue.

Paramètres

  • paramètres

    objet

    • contextID

      number

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

    • cursor

      number

      Position dans le texte du curseur.

    • similaires

      objet[] facultatif

      Liste des segments et des types associés.

      • end

        number

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

      • start

        number

        Index du caractère à partir duquel commencer ce segment

      • Type de soulignement pour modifier ce segment.

    • selectionEnd

      numéro facultatif

      Position dans le texte à laquelle la sélection se termine.

    • selectionStart

      numéro facultatif

      Position à laquelle la sélection commence dans le texte.

    • text

      chaîne

      Texte à définir

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (success: boolean)=>void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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 candidate. 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

      number

      ID du candidat à sélectionner.

    • contextID

      number

      ID du contexte qui possède la fenêtre du candidat.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (success: boolean)=>void

    • success

      boolean

Renvoie

  • Promise<boolean>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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

    fonction facultative

    Le paramètre callback se présente comme suit :

    ()=>void

Renvoie

  • Promise<void>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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 MenuItems spécifiés.

Paramètres

  • paramètres
  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    ()=>void

Renvoie

  • Promise<void>

    Chrome 111 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans 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é. Il indique que l'IME recevra les événements onKeyPress.

Paramètres

  • rappel

    function

    Le paramètre callback se présente comme suit :

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

onAssistiveWindowButtonClicked

Chrome 85 et versions ultérieures
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 se présente comme suit :

    (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 se présente comme suit :

    (contextID: number)=>void

    • contextID

      number

onCandidateClicked

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

Cet événement est envoyé si cette extension est propriétaire de l'IME actif.

Paramètres

  • rappel

    function

    Le paramètre callback se présente comme suit :

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

    • engineID

      chaîne

    • candidateID

      number

    • bouton

onDeactivated

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

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

Paramètres

  • rappel

    function

    Le paramètre callback se présente comme suit :

    (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 du contexte InputContext actuel changent, comme 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é par le système d'exploitation L'événement sera envoyé à l'extension si celle-ci est propriétaire de l'IME actif. La fonction d'écouteur doit renvoyer la valeur "true" si l'événement a été traité "false" si ce n'est pas le cas. Si l'événement doit être évalué de manière asynchrone, cette fonction doit renvoyer un résultat non défini et l'IME doit ensuite appeler keyEventHandled() avec le résultat.

Paramètres

  • rappel

    function

    Le paramètre callback se présente comme suit :

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

    • retours

      boolean|undefined

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 se présente comme suit :

    (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 se présente comme suit :

    (engineID: string)=>void

    • engineID

      chaîne

onSurroundingTextChanged

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

Appelée lorsque la chaîne modifiable autour du curseur de saisie est modifiée ou lorsque la position du curseur de saisie est déplacée. La longueur du texte est limitée à 100 caractères dans les deux sens.

Paramètres

  • rappel

    function

    Le paramètre callback se présente comme suit :

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

    • engineID

      chaîne

    • surroundingInfo

      objet

      • anchor

        number

        Position de début de la sélection. Cette valeur indique la position du curseur de saisie en l'absence de sélection.

      • concentration

        number

        Position de fin de la sélection. Cette valeur indique la position du curseur de saisie en l'absence de sélection.

      • offset

        number

        Chrome 46 ou version ultérieure

        Position de 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 du texte du champ de saisie.