Descrizione
Utilizza l'API chrome.input.ime
per implementare un IME personalizzato per ChromeOS. In questo modo l'estensione può gestire le sequenze di tasti, impostare la composizione e gestire la finestra candidata.
Autorizzazioni
input
Per utilizzare l'API input.ime, devi dichiarare l'autorizzazione "input" nel manifest dell'estensione. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Esempi
Il codice che segue crea un IME che converte le lettere digitate in lettere maiuscole.
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;
}
}
);
Tipi
AssistiveWindowButton
ID dei pulsanti nella finestra assistiva.
Enum
"addToDictionary"
AssistiveWindowProperties
Proprietà della finestra assistiva.
Proprietà
-
announceString
stringa facoltativo
Stringhe per l'annuncio di ChromeVox.
-
tipo
-
visibile
boolean
Imposta il valore true per mostrare AssistiveWindow, imposta il valore false per nascondere.
AssistiveWindowType
Tipo di finestra assistiva.
Valore
AutoCapitalizeType
Il tipo di maiuscola automatica del campo di testo.
Enum
InputContext
Descrive un contesto di input
Proprietà
-
autoCapitalizeChrome 69 e versioni successive
Il tipo di maiuscola automatica del campo di testo.
-
autoComplete
boolean
Indica se il campo di testo richiede il completamento automatico.
-
autoCorrect
boolean
Indica se il campo di testo richiede la correzione automatica.
-
contextID
numero
Viene utilizzato per specificare i target delle operazioni sui campi di testo. Questo ID non sarà più valido quando viene chiamato onBlur.
-
shouldDoLearning
boolean
Chrome 68 e versioni successiveConsente di indicare se il testo inserito nel campo di testo deve essere utilizzato per migliorare i suggerimenti di digitazione per l'utente.
-
spellCheck
boolean
Indica se il campo di testo richiede il controllo ortografico.
-
tipo
Tipo di valore modificato da questo campo di testo (testo, numero, URL e così via).
InputContextType
Tipo di valore modificato da questo campo di testo (testo, numero, URL e così via).
Enum
"tel"
"url"
"email"
"password"
"null"
KeyboardEvent
Visita la pagina http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
Proprietà
-
altKey
booleano facoltativo
Indica se il tasto ALT è stato premuto o meno.
-
altgrKey
booleano facoltativo
Chrome 79 e versioni successiveIndica se il tasto ALTGR è stato premuto o meno.
-
capsLock
booleano facoltativo
Indica se CAPS_LOCK è abilitato o meno.
-
codice
stringa
Valore del tasto fisico premuto. Il valore non è interessato dal layout di tastiera o dallo stato di modifica correnti.
-
ctrlKey
booleano facoltativo
Indica se è stato premuto o meno il tasto Ctrl.
-
extensionId
stringa facoltativo
L'ID estensione del mittente di questo evento chiave.
-
chiave
stringa
Valore del tasto premuto
-
keyCode
numero facoltativo
Il keyCode HTML obsoleto, ovvero un codice numerico dipendente dal sistema e dall'implementazione che indica l'identificatore non modificato associato al tasto premuto.
-
requestId
stringa facoltativo
(Deprecato) L'ID della richiesta. Utilizza invece il parametro
requestId
dell'eventoonKeyEvent
. -
shiftKey
booleano facoltativo
Consente di stabilire se premere o meno il tasto Maiusc.
-
tipo
Uno dei tasti su o giù.
KeyboardEventType
Enum
"keyup"
"keydown"
MenuItem
Una voce di menu utilizzata da un metodo di inserimento per interagire con l'utente dal menu della lingua.
Proprietà
-
selezionato
booleano facoltativo
Indica che questo elemento deve essere tracciato con un segno di spunta.
-
abilitata
booleano facoltativo
Indica che questo elemento è attivato.
-
id
stringa
Stringa che verrà passata ai callback che fanno riferimento a questa voce di menu.
-
etichetta
stringa facoltativo
Testo visualizzato nel menu di questo elemento.
-
stile
MenuItemStyle facoltativo
Il tipo di voce del menu.
-
visibile
booleano facoltativo
Indica che l'elemento è visibile.
MenuItemStyle
Il tipo di voce del menu. I pulsanti di opzione tra i separatori vengono considerati raggruppati.
Enum
"check"
"radio"
MenuParameters
Proprietà
-
engineID
stringa
ID del motore da utilizzare.
-
items
MenuItem[]
Voci di menu da aggiungere o aggiornare. Verranno aggiunti nell'ordine in cui esistono nell'array.
MouseButton
Su quali pulsanti del mouse è stato fatto clic.
Enum
ScreenType
Il tipo di schermata in cui l'IME è attivato.
Enum
UnderlineStyle
Il tipo di sottolineatura per modificare questo segmento.
Enum
WindowPosition
Dove visualizzare la finestra candidata. Se impostato su "cursor", la finestra segue il cursore. Se impostata su "Composizione", la finestra viene bloccata all'inizio della composizione.
Enum
Metodi
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
callback?: function,
)
Cancella la composizione attuale. Se questa estensione non è proprietaria dell'IME attivo, l'operazione non riesce.
Parametri
-
Parametri
oggetto
-
contextID
numero
ID del contesto in cui verrà cancellata la composizione
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean)=>void
-
operazione riuscita
boolean
-
Ritorni
-
Promise<boolean>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
commitText()
chrome.input.ime.commitText(
parameters: object,
callback?: function,
)
Esegue il commit del testo fornito nell'input corrente.
Parametri
-
Parametri
oggetto
-
contextID
numero
ID del contesto in cui verrà eseguito il commit del testo
-
testo
stringa
Il testo da confermare
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean)=>void
-
operazione riuscita
boolean
-
Ritorni
-
Promise<boolean>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
callback?: function,
)
Consente di eliminare il testo intorno al cursore di testo.
Parametri
-
Parametri
oggetto
-
contextID
numero
ID del contesto in cui verrà eliminato il testo circostante.
-
engineID
stringa
ID del motore che riceve l'evento.
-
length
numero
Il numero di caratteri da eliminare
-
offset
numero
L'offset dalla posizione del cursore di testo in cui inizia l'eliminazione. Questo valore può essere negativo.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:()=>void
Ritorni
-
Promise<void>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
hideInputView()
chrome.input.ime.hideInputView()
Nasconde la finestra della visualizzazione dell'input, che viene visualizzata automaticamente dal sistema. Se la finestra di visualizzazione dell'input è già nascosta, questa funzione non eseguirà alcuna operazione.
keyEventHandled()
chrome.input.ime.keyEventHandled(
requestId: string,
response: boolean,
)
Indica che viene gestito l'evento chiave ricevuto da onKeyEvent. Questa funzione deve essere chiamata solo se il listener onKeyEvent è asincrono.
Parametri
-
requestId
stringa
ID richiesta dell'evento che è stato gestito. Deve provenire da keyEvent.requestId
-
risposta
boolean
True se la sequenza di tasti è stata gestita, false in caso contrario
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
callback?: function,
)
Invia gli eventi chiave. Questa funzione dovrebbe essere utilizzata dalle tastiere virtuali. Quando un utente premono i tasti di una tastiera virtuale, questa funzione viene utilizzata per propagare l'evento al sistema.
Parametri
-
Parametri
oggetto
-
contextID
numero
ID del contesto in cui verranno inviati gli eventi chiave oppure zero per inviare eventi chiave al campo non di input.
-
keyData
Dati sull'evento chiave.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:()=>void
Ritorni
-
Promise<void>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
callback?: function,
)
Evidenzia/Rimuovi l'evidenziazione un pulsante in una finestra di assistenza.
Parametri
-
Parametri
oggetto
-
announceString
stringa facoltativo
Il testo dell'annuncio dello screen reader.
-
buttonID
L'ID del pulsante
-
contextID
numero
ID del contesto proprietario della finestra assistiva.
-
in evidenza
boolean
Indica se il pulsante deve essere evidenziato.
-
windowType
Il tipo di finestra a cui appartiene il pulsante.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:()=>void
Ritorni
-
Promise<void>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
callback?: function,
)
Mostra/nasconde una finestra assistiva con le proprietà specificate.
Parametri
-
Parametri
oggetto
-
contextID
numero
ID del contesto proprietario della finestra assistiva.
-
proprietà
Proprietà della finestra assistiva.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean)=>void
-
operazione riuscita
boolean
-
Ritorni
-
Promise<boolean>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
callback?: function,
)
Imposta l'elenco di candidati corrente. L'operazione non riesce se questa estensione non appartiene all'IME attivo
Parametri
-
Parametri
oggetto
-
candidati
oggetto[]
Elenco di candidati da mostrare nella finestra dei candidati
-
annotazione
stringa facoltativo
Testo aggiuntivo che descrive il candidato
-
candidato
stringa
Il candidato
-
id
numero
L'ID del candidato
-
etichetta
stringa facoltativo
Breve stringa visualizzata accanto al candidato, spesso il tasto scorciatoia o l'indice.
-
parentId
numero facoltativo
L'ID per aggiungere questi candidati
-
utilizzo
oggetto facoltativo
L'utilizzo o la descrizione dettagliata della parola.
-
body
stringa
La stringa del corpo della descrizione dettagliata.
-
title
stringa
La stringa del titolo della descrizione dei dettagli.
-
-
-
contextID
numero
ID del contesto proprietario della finestra candidata.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean)=>void
-
operazione riuscita
boolean
-
Ritorni
-
Promise<boolean>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
callback?: function,
)
Imposta le proprietà della finestra candidata. L'operazione non riesce se l'estensione non possiede l'IME attivo
Parametri
-
Parametri
oggetto
-
engineID
stringa
ID del motore su cui impostare le proprietà.
-
proprietà
oggetto
-
auxiliaryText
stringa facoltativo
Testo visualizzato nella parte inferiore della finestra candidata.
-
auxiliaryTextVisible
booleano facoltativo
True per visualizzare il testo ausiliario, false per nasconderlo.
-
currentCandidateIndex
numero facoltativo
Chrome 84 e versioni successiveL'indice del candidato attualmente scelto sul totale dei candidati.
-
cursorVisible
booleano facoltativo
True per mostrare il cursore, false per nasconderlo.
-
pageSize
numero facoltativo
Il numero di candidati da visualizzare per ogni pagina.
-
totalCandidates
numero facoltativo
Chrome 84 e versioni successiveIl numero totale di candidati per la finestra dei candidati.
-
verticale
booleano facoltativo
True se la finestra candidata deve essere visualizzata in verticale, false per renderla orizzontale.
-
visibile
booleano facoltativo
True per mostrare la finestra Candidato, false per nasconderla.
-
windowPosition
WindowPosition facoltativo
Dove visualizzare la finestra candidata.
-
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean)=>void
-
operazione riuscita
boolean
-
Ritorni
-
Promise<boolean>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
setComposition()
chrome.input.ime.setComposition(
parameters: object,
callback?: function,
)
Imposta la composizione attuale. Se questa estensione non è proprietaria dell'IME attivo, l'operazione non riesce.
Parametri
-
Parametri
oggetto
-
contextID
numero
ID del contesto in cui verrà impostato il testo della composizione
-
cursore
numero
Posizionati nel testo del cursore.
-
segmenti simili
oggetto[] facoltativo
Elenco dei segmenti e dei tipi associati.
-
termina
numero
Indice del carattere che segue la fine di questo segmento.
-
start
numero
Indice del carattere da cui iniziare il segmento
-
stile
Il tipo di sottolineatura per modificare questo segmento.
-
-
selectionEnd
numero facoltativo
Posizione all'interno del testo in cui termina la selezione.
-
selectionStart
numero facoltativo
Posizione all'interno del testo da cui inizia la selezione.
-
testo
stringa
Testo da impostare
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean)=>void
-
operazione riuscita
boolean
-
Ritorni
-
Promise<boolean>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
callback?: function,
)
Imposta la posizione del cursore nella finestra candidata. Si tratta di un metodo autonomo se l'estensione non appartiene all'IME attivo.
Parametri
-
Parametri
oggetto
-
candidateID
numero
ID del candidato da selezionare.
-
contextID
numero
ID del contesto proprietario della finestra candidata.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean)=>void
-
operazione riuscita
boolean
-
Ritorni
-
Promise<boolean>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
setMenuItems()
chrome.input.ime.setMenuItems(
parameters: MenuParameters,
callback?: function,
)
Aggiunge le voci di menu fornite al menu della lingua quando questo IME è attivo.
Parametri
-
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:()=>void
Ritorni
-
Promise<void>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
callback?: function,
)
Aggiorna lo stato delle voci di menu specificate
Parametri
-
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:()=>void
Ritorni
-
Promise<void>
Chrome 111 e versioni successiveLe promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
Eventi
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
Questo evento viene inviato quando viene attivato un IME. Segnala che l'IME riceverà eventi onKeyPress.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(engineID: string,screen: ScreenType)=>void
-
engineID
stringa
-
schermo
-
onAssistiveWindowButtonClicked
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
Questo evento viene inviato quando si fa clic su un pulsante in una finestra assistiva.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object)=>void
-
dettagli
oggetto
-
buttonID
L'ID del pulsante selezionato.
-
windowType
Il tipo di finestra assistiva.
-
-
onBlur
chrome.input.ime.onBlur.addListener(
callback: function,
)
Questo evento viene inviato quando lo stato attivo esce da una casella di testo. Viene inviato a tutte le estensioni che ascoltano questo evento e attivato dall'utente.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(contextID: number)=>void
-
contextID
numero
-
onCandidateClicked
chrome.input.ime.onCandidateClicked.addListener(
callback: function,
)
Questo evento viene inviato se questa estensione è proprietaria dell'IME attivo.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(engineID: string,candidateID: number,button: MouseButton)=>void
-
engineID
stringa
-
candidateID
numero
-
pulsante
-
onDeactivated
chrome.input.ime.onDeactivated.addListener(
callback: function,
)
Questo evento viene inviato quando un IME viene disattivato. Segnala che l'IME non riceverà più eventi onKeyPress.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(engineID: string)=>void
-
engineID
stringa
-
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
Questo evento viene inviato quando lo stato attivo entra in una casella di testo. Viene inviato a tutte le estensioni che ascoltano questo evento e attivato dall'utente.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(context: InputContext)=>void
-
context
-
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
Questo evento viene inviato quando le proprietà dell'InputContext corrente cambiano, ad esempio il tipo. Viene inviato a tutte le estensioni che ascoltano questo evento e attivato dall'utente.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(context: InputContext)=>void
-
context
-
onKeyEvent
chrome.input.ime.onKeyEvent.addListener(
callback: function,
)
Attivato quando un evento chiave viene inviato dal sistema operativo. L'evento verrà inviato all'estensione se quest'ultima è proprietaria dell'IME attivo. La funzione listener deve restituire true se l'evento è stato gestito false, in caso contrario. Se l'evento viene valutato in modo asincrono, questa funzione deve restituire un elemento indefinito e l'IME deve chiamare in un secondo momento keyEventHandled() con il risultato.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(engineID: string,keyData: KeyboardEvent,requestId: string)=>boolean|undefined
-
engineID
stringa
-
keyData
-
requestId
stringa
-
returns
boolean|undefined
-
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Richiamato quando l'utente seleziona una voce di menu
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(engineID: string,name: string)=>void
-
engineID
stringa
-
nome
stringa
-
onReset
chrome.input.ime.onReset.addListener(
callback: function,
)
Questo evento viene inviato quando Chrome termina la sessione di inserimento testo in corso.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(engineID: string)=>void
-
engineID
stringa
-
onSurroundingTextChanged
chrome.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
Richiamato quando la stringa modificabile intorno al cursore di testo viene modificata o quando la posizione del cursore viene spostata. La lunghezza del testo è limitata a 100 caratteri per direzione avanti e indietro.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(engineID: string,surroundingInfo: object)=>void
-
engineID
stringa
-
surroundingInfo
oggetto
-
anchor
numero
La posizione iniziale della selezione. Questo valore indica la posizione del cursore di testo se non viene effettuata alcuna selezione.
-
obiettivo
numero
La posizione finale della selezione. Questo valore indica la posizione del cursore di testo se non viene effettuata alcuna selezione.
-
offset
numero
Chrome 46 e versioni successiveLa posizione di offset di
text
. Poichétext
include solo un sottoinsieme di testo intorno al cursore, l'offset indica la posizione assoluta del primo carattere ditext
. -
testo
stringa
Il testo intorno al cursore. Si tratta solo di un sottoinsieme di tutto il testo nel campo di immissione.
-
-