browser.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 frappes, de définir la composition et de gérer la fenêtre des candidats.

Autorisations

input

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

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

Disponibilité

ChromeOS uniquement

Exemples

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

var context_id = -1;

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

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

Types

AssistiveWindowButton

Chrome 85+ browser.* depuis Chrome 148

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

Énumération

"undo"

"addToDictionary"

AssistiveWindowProperties

Chrome 85+ browser.* depuis Chrome 148

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

Propriétés

  • announceString

    chaîne facultatif

    Chaînes à annoncer par ChromeVox.

  • type

    "undo"

  • visible

    booléen

    Définissez la valeur sur "true" pour afficher AssistiveWindow, ou sur "false" pour la masquer.

AssistiveWindowType

Chrome 85+ browser.* depuis Chrome 148

Type de fenêtre d'assistance.

Valeur

"undo"

AutoCapitalizeType

Chrome 69+ browser.* depuis Chrome 148

Type de mise en majuscule automatique du champ de texte.

Énumération

"characters"

"words"

"sentences"

InputContext

Décrit un contexte d'entrée.

Propriétés

  • autoCapitalize
    Chrome 69+ browser.* depuis Chrome 148

    Type de mise en majuscule automatique du champ de texte.

  • autoComplete

    booléen

    Indique si le champ de texte souhaite utiliser la saisie semi-automatique.

  • autoCorrect

    booléen

    Indique si le champ de texte nécessite une correction automatique.

  • contextID

    nombre

    Cela permet de spécifier les cibles des opérations sur les champs de texte. Cet ID devient non valide dès que onBlur est appelé.

  • shouldDoLearning

    booléen

    Chrome 68+ browser.* depuis Chrome 148

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

  • spellCheck

    booléen

    Indique si le champ de texte nécessite une vérification orthographique.

  • Type de valeur que ce champ de texte modifie (texte, nombre, URL, etc.)

InputContextType

Chrome 44+ browser.* depuis Chrome 148

Type de valeur que ce champ de texte modifie (texte, nombre, URL, etc.)

Énumération

"text"

"search"

"tel"

"url"

"email"

"number"

"password"

"null"

KeyboardEvent

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

Propriétés

  • altKey

    boolean facultatif

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

  • altgrKey

    boolean facultatif

    Chrome 79 et versions ultérieures browser.* depuis Chrome 148

    Indique si la touche ALTGR est enfoncée.

  • capsLock

    boolean facultatif

    Indique si la touche CAPS_LOCK est activée.

  • code

    chaîne

    Valeur de la touche physique enfoncée. La valeur n'est pas affectée par la disposition actuelle du clavier ni par l'état des touches de modification.

  • ctrlKey

    boolean facultatif

    Indique si la touche Ctrl est enfoncée.

  • extensionId

    chaîne facultatif

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

  • clé

    chaîne

    Valeur de la touche enfoncée

  • keyCode

    number facultatif

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

  • requestId

    chaîne facultatif

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

  • shiftKey

    boolean facultatif

    Indique si la touche Maj est enfoncée.

  • "keyup" ou "keydown".

KeyboardEventType

Chrome 44+ browser.* depuis Chrome 148

Énumération

"keyup"

"keydown"

MenuItem

Élément de menu utilisé par une méthode de saisie pour interagir avec l'utilisateur à partir du menu de langue.

Propriétés

  • coché

    boolean facultatif

    Indique que cet élément doit être dessiné avec une coche.

  • activé

    boolean facultatif

    Indique que cet élément est activé.

  • id

    chaîne

    Chaîne qui sera transmise aux rappels faisant référence à 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

    boolean facultatif

    Indique que cet élément est visible.

MenuItemStyle

Chrome 44+ browser.* depuis Chrome 148

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

Énumération

"check"

"radio"

"separator"

MenuParameters

Chrome 88+ browser.* depuis Chrome 148

Propriétés

  • engineID

    chaîne

    ID du moteur à utiliser.

  • éléments

    MenuItems à ajouter ou à mettre à jour. Ils seront ajoutés dans l'ordre dans lequel ils existent dans le tableau.

MouseButton

Chrome 44+ browser.* depuis Chrome 148

Le bouton de la souris sur lequel l'utilisateur a cliqué.

Énumération

"left"

"middle"

"right"

ScreenType

Chrome 44+ browser.* depuis Chrome 148

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

Énumération

"normal"

"login"

"lock"

"secondary-login"

UnderlineStyle

Chrome 44+ browser.* depuis Chrome 148

Type de soulignement pour modifier ce segment.

Énumération

"underline"

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44+ browser.* depuis Chrome 148

Emplacement d'affichage de la fenêtre des candidats. Si la valeur est définie sur "cursor", la fenêtre suit le curseur. Si la valeur est définie sur "composition", la fenêtre est verrouillée au début de la composition.

Énumération

"cursor"

"composition"

Méthodes

clearComposition()

browser.input.ime.clearComposition(
  parameters: object,
)
: Promise<boolean>

Effacer la composition actuelle. Si cette extension ne possède pas l'IME actif, l'opération échoue.

Paramètres

  • paramètres

    objet

    • contextID

      nombre

      ID du contexte dans lequel la composition sera effacée

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération se termine par une valeur booléenne indiquant si le texte a été accepté ou non. En cas d'échec, la promesse sera rejetée.

commitText()

browser.input.ime.commitText(
  parameters: object,
)
: Promise<boolean>

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

Paramètres

  • paramètres

    objet

    • contextID

      nombre

      ID du contexte dans lequel le texte sera validé

    • texte

      chaîne

      Texte à valider

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération se termine par une valeur booléenne indiquant si le texte a été accepté ou non. En cas d'échec, la promesse sera rejetée.

deleteSurroundingText()

browser.input.ime.deleteSurroundingText(
  parameters: object,
)
: Promise<void>

Supprime le texte autour du curseur de saisie.

Paramètres

  • paramètres

    objet

    • contextID

      nombre

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

    • engineID

      chaîne

      ID du moteur recevant l'événement.

    • longueur

      nombre

      Nombre de caractères à supprimer

    • offset

      nombre

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

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération est terminée.

hideInputView()

browser.input.ime.hideInputView(): void

Masque la fenêtre de vue de saisie, 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'aura aucun effet.

keyEventHandled()

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

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 qui a été traité. Il doit provenir de keyEvent.requestId.

  • réponse

    booléen

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

sendKeyEvents()

browser.input.ime.sendKeyEvents(
  parameters: object,
)
: Promise<void>

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

Paramètres

  • paramètres

    objet

    • contextID

      nombre

      ID du contexte où les événements de touche seront envoyés, ou zéro pour envoyer des événements de touche à un champ qui n'est pas un champ de saisie.

    • keyData

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

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération est terminée.

setAssistiveWindowButtonHighlighted()

Chrome 86 et versions ultérieures browser.* depuis Chrome 148
browser.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
)
: Promise<void>

Met en surbrillance ou supprime 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

      booléen

      Indique si le bouton doit être mis en surbrillance.

    • windowType

      "undo"

      Type de fenêtre auquel le bouton appartient.

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération est terminée. En cas d'échec, la promesse sera rejetée.

setAssistiveWindowProperties()

Chrome 85+ browser.* depuis Chrome 148
browser.input.ime.setAssistiveWindowProperties(
  parameters: object,
)
: Promise<boolean>

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.

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération est terminée.

setCandidates()

browser.input.ime.setCandidates(
  parameters: object,
)
: Promise<boolean>

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

Paramètres

  • paramètres

    objet

    • candidats

      object[]

      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

        number 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.

        • titre

          chaîne

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

    • contextID

      nombre

      ID du contexte auquel appartient la fenêtre de candidats.

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération est terminée.

setCandidateWindowProperties()

browser.input.ime.setCandidateWindowProperties(
  parameters: object,
)
: Promise<boolean>

Définit les propriétés de la fenêtre de suggestions. 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.

    • propriétés

      objet

      • auxiliaryText

        chaîne facultatif

        Texte affiché en bas de la fenêtre des candidats.

      • auxiliaryTextVisible

        boolean facultatif

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

      • currentCandidateIndex

        number facultatif

        Chrome 84+ browser.* depuis Chrome 148

        Index du candidat actuellement choisi parmi l'ensemble des candidats.

      • cursorVisible

        boolean facultatif

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

      • pageSize

        number facultatif

        Nombre de candidats à afficher par page.

      • totalCandidates

        number facultatif

        Chrome 84+ browser.* depuis Chrome 148

        Nombre total de candidats pour la fenêtre de candidats.

      • verticale

        boolean facultatif

        "True" si la fenêtre des candidats doit être affichée à la verticale, "false" pour l'afficher à l'horizontale.

      • visible

        boolean facultatif

        "True" pour afficher la fenêtre des candidats, "false" pour la masquer.

      • windowPosition

        WindowPosition facultatif

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

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération est terminée.

setComposition()

browser.input.ime.setComposition(
  parameters: object,
)
: Promise<boolean>

Définissez la composition actuelle. Si cette extension ne possède pas 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 du curseur dans le texte.

    • similaires

      object[] facultatif

      Liste des segments et de leurs types associés.

      • end

        nombre

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

      • start

        nombre

        Index du caractère à partir duquel commencer ce segment

      • Type de soulignement pour modifier ce segment.

    • selectionEnd

      number facultatif

      Position dans le texte où se termine la sélection.

    • selectionStart

      number facultatif

      Position dans le texte où commence la sélection.

    • texte

      chaîne

      Texte à définir

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération se termine par une valeur booléenne indiquant si le texte a été accepté ou non. En cas d'échec, la promesse sera rejetée.

setCursorPosition()

browser.input.ime.setCursorPosition(
  parameters: object,
)
: Promise<boolean>

Définissez la position du curseur dans la fenêtre des candidats. Cette opération est sans effet si cette extension ne possède pas 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 de candidats.

Renvoie

  • Promise<boolean>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération se termine

setMenuItems()

browser.input.ime.setMenuItems(
  parameters: MenuParameters,
)
: Promise<void>

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

Paramètres

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

updateMenuItems()

browser.input.ime.updateMenuItems(
  parameters: MenuParameters,
)
: Promise<void>

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

Paramètres

Renvoie

  • Promise<void>

    Chrome 111 ou version ultérieure browser.* depuis Chrome 148

    Se résout lorsque l'opération se termine

Événements

onActivate

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

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

Paramètres

  • callback

    fonction

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

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

onAssistiveWindowButtonClicked

Chrome 85+ browser.* depuis Chrome 148
browser.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

  • callback

    fonction

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

    (details: object) => void

onBlur

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

Cet événement est envoyé lorsque la sélection quitte une zone de texte. Il est envoyé à toutes les extensions qui écoutent cet événement et qui sont activées par l'utilisateur.

Paramètres

  • callback

    fonction

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

    (contextID: number) => void

    • contextID

      nombre

onCandidateClicked

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

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

Paramètres

  • callback

    fonction

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

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

    • engineID

      chaîne

    • candidateID

      nombre

    • bouton

onDeactivated

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

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

Paramètres

  • callback

    fonction

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

    (engineID: string) => void

    • engineID

      chaîne

onFocus

browser.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 qui sont activées par l'utilisateur.

Paramètres

  • callback

    fonction

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

    (context: InputContext) => void

onInputContextUpdate

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

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

Paramètres

  • callback

    fonction

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

    (context: InputContext) => void

onKeyEvent

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

Déclenché lorsqu'un événement de touche 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 "true" si l'événement a été traité, ou "false" dans le cas contraire. 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

  • callback

    fonction

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

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

    • Renvoie

      boolean | undefined

onMenuItemActivated

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

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

Paramètres

  • callback

    fonction

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

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

    • engineID

      chaîne

    • nom

      chaîne

onReset

browser.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

  • callback

    fonction

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

    (engineID: string) => void

    • engineID

      chaîne

onSurroundingTextChanged

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

Appelé 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 pour chaque direction (aller et retour).

Paramètres

  • callback

    fonction

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

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

    • engineID

      chaîne

    • surroundingInfo

      objet

      • anchor

        nombre

        Position de début de la sélection. Cette valeur indique la position du curseur de saisie s'il n'y a pas de sélection.

      • domaine

        nombre

        Position de fin de la sélection. Cette valeur indique la position du curseur de saisie s'il n'y a pas de sélection.

      • offset

        nombre

        Chrome 46 ou version ultérieure browser.* depuis Chrome 148

        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.

      • texte

        chaîne

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