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
inputVous 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é
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
ID des boutons dans la fenêtre d'assistance.
Énumération
"undo"
"addToDictionary"
AssistiveWindowProperties
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
Type de fenêtre d'assistance.
Valeur
"undo"
AutoCapitalizeType
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
-
autoCapitalizeChrome 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 148Indique 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
Type de valeur que ce champ de texte modifie (texte, nombre, URL, etc.)
InputContextType
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 148Indique 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
requestIdde l'événementonKeyEvent. -
shiftKey
boolean 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 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
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
Propriétés
-
engineID
chaîne
ID du moteur à utiliser.
-
éléments
MenuItem[]
MenuItems à ajouter ou à mettre à jour. Ils seront ajoutés dans l'ordre dans lequel ils existent dans le tableau.
MouseButton
Le bouton de la souris sur lequel l'utilisateur a cliqué.
Énumération
"left"
"middle"
"right"
ScreenType
Type d'écran sous lequel l'IME est activé.
Énumération
"normal"
"login"
"lock"
"secondary-login"
UnderlineStyle
Type de soulignement pour modifier ce segment.
Énumération
"underline"
"doubleUnderline"
"noUnderline"
WindowPosition
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 148Se 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 148Se 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 148Se 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 148Se résout lorsque l'opération est terminée.
setAssistiveWindowButtonHighlighted()
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.
-
buttonID
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 148Se résout lorsque l'opération est terminée. En cas d'échec, la promesse sera rejetée.
setAssistiveWindowProperties()
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
Propriétés de la fenêtre d'assistance.
-
Renvoie
-
Promise<boolean>
Chrome 111 ou version ultérieure browser.* depuis Chrome 148Se 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 148Se 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 148Index 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 148Nombre 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 148Se 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
-
style
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 148Se 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 148Se 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
-
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
-
paramètres
Renvoie
-
Promise<void>
Chrome 111 ou version ultérieure browser.* depuis Chrome 148Se 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
callbackse présente comme suit :(engineID: string, screen: ScreenType) => void
-
engineID
chaîne
-
écran
-
onAssistiveWindowButtonClicked
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
callbackse présente comme suit :(details: object) => void
-
détails
objet
-
buttonID
ID du bouton sur lequel l'utilisateur a cliqué.
-
windowType
Type de la fenêtre d'assistance.
-
-
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
callbackse 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
callbackse 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
callbackse 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
callbackse présente comme suit :(context: InputContext) => void
-
context
-
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
callbackse présente comme suit :(context: InputContext) => void
-
context
-
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
callbackse présente comme suit :(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
chaîne
-
keyData
-
requestId
chaîne
-
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
callbackse 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
callbackse 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
callbackse 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 148Position de décalage de
text. Étant donné quetextn'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 tout le texte du champ de saisie.
-
-