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
ID des boutons dans la fenêtre d'assistance.
Enum
"addToDictionary"
AssistiveWindowProperties
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
Type de fenêtre d'assistance.
Valeur
AutoCapitalizeType
Type de majuscule automatique dans le champ de texte.
Enum
"characters"
"words"
"sentences"
InputContext
Décrit un contexte d'entrée
Propriétés
-
autoCapitalizeChrome 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érieuresIndique 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
Type de valeur modifiée par ce champ de texte (texte, nombre, URL, etc.)
InputContextType
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érieuresIndique 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énementonKeyEvent
. -
shiftKey
Booléen facultatif
Indique si l'utilisateur appuie ou non sur la touche MAJ.
-
type
Keyup ou keydown.
KeyboardEventType
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
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
Propriétés
-
engineID
chaîne
ID du moteur à utiliser.
-
items
MenuItem[]
MenuItems à 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é ;
Enum
"right"
ScreenType
Type d'écran sous lequel l'IME est activé.
Enum
"normal"
"login"
UnderlineStyle
Type de soulignement pour modifier ce segment.
Enum
"doubleUnderline"
"noUnderline"
WindowPosition
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()
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érieuresLes 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()
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érieuresLes 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()
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érieuresLes 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()
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érieuresLes 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()
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.
-
buttonID
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érieuresLes 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()
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.
-
du bucket
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érieuresLes 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()
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érieuresLes 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()
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érieuresIndice 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érieuresNombre 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érieuresLes 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()
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
-
style
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érieuresLes 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()
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érieuresLes 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()
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érieuresLes 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()
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érieuresLes 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
-
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
function
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
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
-
rappel
function
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 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
-
rappel
function
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é 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
-
engineID
chaîne
-
keyData
-
requestId
chaîne
-
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érieurePosition de 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
. -
text
chaîne
Texte autour du curseur. Il ne s'agit que d'un sous-ensemble du texte du champ de saisie.
-
-