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
Vous devez déclarer l'entrée autorisation dans le fichier manifeste de l'extension d'utiliser l'API input.ime. Exemple :
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Disponibilité
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
ID des boutons dans la fenêtre d'assistance.
Énumération
"annuler"
"addToDictionary"
AssistiveWindowProperties
Propriétés de la fenêtre d'assistance.
Propriétés
-
announceString
chaîne facultatif
Chaînes annoncées par ChromeVox.
-
type
"annuler"
-
visible
booléen
Définit "true" pour afficher AssistiveWindow, et "false" pour masquer.
AssistiveWindowType
Type de fenêtre d'assistance.
Valeur
"annuler"
AutoCapitalizeType
Type de mise en majuscules automatique du champ de texte.
Énumération
"caractères"
"mots"
"sentences"
InputContext
Décrit un contexte d'entrée
Propriétés
-
autoCapitalizeChrome (version 69 ou ultérieure)
Type de mise en majuscules automatique du champ de texte.
-
autoComplete
booléen
Indique si la saisie semi-automatique est activée pour le champ de texte.
-
autoCorrect
booléen
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
booléen
Chrome (version 68 ou 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
booléen
Indique si le champ de texte nécessite un correcteur orthographique.
-
type
Type de la valeur modifiée par ce champ de texte (texte, nombre, URL, etc.)
InputContextType
Type de la valeur modifiée par ce champ de texte (texte, nombre, URL, etc.)
Énumération
"texte"
"recherche"
"tel"
"url"
"e-mail"
"number"
"mot de passe"
"vide"
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 et versions ultérieuresIndique 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énementonKeyEvent
. -
shiftKey
Booléen facultatif
Indique si la touche MAJ est enfoncée.
-
type
Keyup ou keydown.
KeyboardEventType
Énumération
"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
Type d'élément de menu. Les cases d'option entre les séparateurs sont considérées comme regroupées.
Énumération
"check"
"radio"
"séparateur"
MenuParameters
Propriétés
-
engineID
chaîne
ID du moteur à utiliser.
-
éléments
MenuItem[]
Éléments de menu à ajouter ou à mettre à jour. Elles seront ajoutées dans l'ordre dans lequel elles existent dans le tableau.
MouseButton
les boutons de la souris sur lesquels les utilisateurs ont cliqué ;
Énumération
"gauche"
"milieu"
"droite"
ScreenType
Type d'écran sous lequel l'IME est activé.
Énumération
"normal"
"login"
"verrou"
"secondary-login"
UnderlineStyle
Type de soulignement à modifier pour ce segment.
Énumération
"souligner"
"doubleunderline"
"nounderline"
WindowPosition
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.
Énumération
"curseur"
"composition"
Méthodes
clearComposition()
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
se présente comme suit:(success: boolean) => void
-
success
booléen
-
Renvoie
-
Promise<boolean>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
commitText()
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é
-
texte
chaîne
Texte à valider
-
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(success: boolean) => void
-
success
booléen
-
Renvoie
-
Promise<boolean>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
deleteSurroundingText()
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.
-
longueur
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
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La 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
booléen
"True" si la frappe a été traitée, "false" dans le cas contraire
sendKeyEvents()
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
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
setAssistiveWindowButtonHighlighted()
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.
-
buttonID
ID du bouton
-
contextID
Nombre
ID du contexte propriétaire de la fenêtre d'assistance.
-
en surbrillance
booléen
Mettre le bouton en surbrillance ou non
-
windowType
"annuler"
Type de fenêtre auquel appartient le bouton.
-
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
setAssistiveWindowProperties()
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.
-
du bucket
Propriétés de la fenêtre d'assistance.
-
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(success: boolean) => void
-
success
booléen
-
Renvoie
-
Promise<boolean>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
setCandidates()
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
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
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.
-
titre
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
se présente comme suit:(success: boolean) => void
-
success
booléen
-
Renvoie
-
Promise<boolean>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
setCandidateWindowProperties()
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érieureIndice 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érieureNombre 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
se présente comme suit:(success: boolean) => void
-
success
booléen
-
Renvoie
-
Promise<boolean>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
setComposition()
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.
-
start
Nombre
Index du caractère auquel commencer ce segment
-
style
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.
-
texte
chaîne
Texte à définir
-
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(success: boolean) => void
-
success
booléen
-
Renvoie
-
Promise<boolean>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
setCursorPosition()
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
se présente comme suit:(success: boolean) => void
-
success
booléen
-
Renvoie
-
Promise<boolean>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
setMenuItems()
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
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La la promesse est résolue avec le même type que celui transmis au rappel.
updateMenuItems()
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
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 111 ou version ultérieureLes promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La 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
fonction
Le paramètre
callback
se présente comme suit:(engineID: string, screen: ScreenType) => void
-
engineID
chaîne
-
écran
-
onAssistiveWindowButtonClicked
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
fonction
Le paramètre
callback
se présente comme suit:(details: object) => void
-
détails
objet
-
buttonID
ID du bouton sur lequel l'utilisateur a cliqué.
-
windowType
Type de fenêtre d'assistance.
-
-
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
fonction
Le paramètre
callback
se présente comme suit:(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
fonction
Le paramètre
callback
se présente comme suit:(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
fonction
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
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(context: InputContext) => void
-
context
-
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
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(context: InputContext) => void
-
context
-
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
fonction
Le paramètre
callback
se présente comme suit:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
chaîne
-
keyData
-
requestId
chaîne
-
retours
boolean | indéfinie
-
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Appelée lorsque l'utilisateur sélectionne un élément de menu
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(engineID: string, name: string) => void
-
engineID
chaîne
-
nom
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
fonction
Le paramètre
callback
se présente comme suit:(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
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. 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 (version 46 ou ultérieure)Position du décalage de
text
. Étant donné quetext
n'inclut qu'un sous-ensemble de texte autour du curseur, le décalage indique la position absolue du premier caractère detext
. -
texte
chaîne
Texte autour du curseur. Il ne s'agit que d'un sous-ensemble de l'ensemble du texte du champ de saisie.
-
-