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
Devi dichiarare l'input nel manifest dell'estensione per utilizzare l'API input.ime. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Disponibilità
Esempi
Il codice riportato di seguito crea un IME che converte le lettere digitate in 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 di assistenza.
Enum
"annulla"
"addToDictionary"
AssistiveWindowProperties
Proprietà della finestra assistiva.
Proprietà
-
announceString
stringa facoltativo
Stringhe che ChromeVox deve annunciare.
-
tipo
"annulla"
-
visibile
booleano
Imposta true per mostrare AssistiveWindow, imposta false per nascondere.
AssistiveWindowType
Tipo di periodo di assistenza.
Valore
"annulla"
AutoCapitalizeType
Il tipo di maiuscola automatica del campo di testo.
Enum
"characters"
"parole"
"frasi"
InputContext
Descrive un contesto di input
Proprietà
-
autoCapitalizeChrome 69 e versioni successive .
Il tipo di maiuscola automatica del campo di testo.
-
autoComplete
booleano
Indica se il campo di testo vuole il completamento automatico.
-
autoCorrect
booleano
Indica se il campo di testo richiede la correzione automatica.
-
contextID
numero
Viene utilizzato per specificare i target delle operazioni sul campo di testo. Questo ID non è più valido non appena viene chiamato onBlur.
-
shouldDoLearning
booleano
Chrome 68 e versioni successive .Indica se il testo inserito nel campo di testo deve essere utilizzato per migliorare i suggerimenti di digitazione per l'utente.
-
spellCheck
booleano
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
"testo"
"ricerca"
"tel"
"url"
"email"
"numero"
"password"
"null"
KeyboardEvent
Visita la pagina http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
Proprietà
-
altKey
booleano facoltativo
Se il tasto ALT viene premuto o meno.
-
altgrKey
booleano facoltativo
Chrome 79 e versioni successive .Se il tasto ALTGR viene premuto o meno.
-
capsLock
booleano facoltativo
Indica se CAPS_LOCK è attivato o meno.
-
codice
stringa
Valore del tasto fisico che viene premuto. Il valore non è influenzato dal layout di tastiera o dallo stato del tasto di modifica corrente.
-
ctrlKey
booleano facoltativo
Se il tasto Ctrl viene premuto o meno.
-
extensionId
stringa facoltativo
L'ID estensione del mittente di questo evento chiave.
-
chiave
stringa
Valore del tasto che viene premuto
-
keyCode
numero facoltativo
Il keyCode HTML deprecato, che è un codice numerico dipendente dal sistema e dall'implementazione che rappresenta 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
Se il tasto MAIUSC viene premuto o meno.
-
tipo
Key-up o keydown.
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 questa voce.
-
stile
MenuItemStyle facoltativo
Il tipo di voce di menu.
-
visibile
booleano facoltativo
Indica che questo elemento è visibile.
MenuItemStyle
Il tipo di voce di menu. I pulsanti di opzione tra i separatori sono considerati raggruppati.
Enum
"segno di spunta"
"radio"
"separatore"
MenuParameters
Proprietà
-
engineID
stringa
ID del motore da utilizzare.
-
elementi
MenuItem[]
Voci di menu da aggiungere o aggiornare. Verranno aggiunti nell'ordine in cui sono presenti nell'array.
MouseButton
I pulsanti del mouse su cui è stato fatto clic.
Enum
"left"
"centro"
"destra"
ScreenType
Il tipo di schermata in cui viene attivato l'IME.
Enum
"normale"
"login"
"blocco"
"accesso-secondario"
UnderlineStyle
Il tipo di sottolineatura per modificare questo segmento.
Enum
"underline"
"doubleunderline"
"nounderline"
WindowPosition
Dove visualizzare la finestra dei candidati. Se impostato su "cursore", la finestra segue il cursore. Se impostato su "composizione", la finestra è bloccata all'inizio della composizione.
Enum
"cursore"
"composizione"
Metodi
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
callback?: function,
)
Cancella la composizione corrente. Se questa estensione non possiede l'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
booleano
-
Resi
-
Promise<boolean>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato 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 di cui eseguire il commit
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean) => void
-
operazione riuscita
booleano
-
Resi
-
Promise<boolean>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
callback?: function,
)
Elimina il testo attorno al cursore.
Parametri
-
Parametri
oggetto
-
contextID
numero
ID del contesto in cui verrà eliminato il testo circostante.
-
engineID
stringa
ID del motore che riceve l'evento.
-
lunghezza
numero
Il numero di caratteri da eliminare
-
offset
numero
L'offset dalla posizione del cursore in cui inizierà l'eliminazione. Questo valore può essere negativo.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
hideInputView()
chrome.input.ime.hideInputView()
Nasconde la finestra di visualizzazione degli input che viene visualizzata automaticamente dal sistema. Se la finestra di visualizzazione input è già nascosta, questa funzione non farà nulla.
keyEventHandled()
chrome.input.ime.keyEventHandled(
requestId: string,
response: boolean,
)
Indica che viene gestito l'evento chiave ricevuto da onKeyEvent. Questa opzione deve essere chiamata solo se il listener onKeyEvent è asincrono.
Parametri
-
requestId
stringa
ID richiesta dell'evento gestito. Deve provenire da keyEvent.requestId
-
risposta
booleano
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 preme uno o più 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 o zero per inviare eventi chiave a un campo non di input.
-
keyData
Dati sull'evento chiave.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
callback?: function,
)
Consente di evidenziare/rimuovere un pulsante in una finestra di assistenza.
Parametri
-
Parametri
oggetto
-
announceString
stringa facoltativo
Il testo che lo screen reader deve annunciare.
-
buttonID
L'ID del pulsante
-
contextID
numero
ID del contesto proprietario della finestra assistiva.
-
in evidenza
booleano
Indica se il pulsante deve essere evidenziato.
-
windowType
"annulla"
Il tipo di finestra a cui appartiene il pulsante.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato 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
booleano
-
Resi
-
Promise<boolean>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
callback?: function,
)
Consente di impostare l'elenco di candidati corrente. L'operazione non riesce se l'estensione non possiede l'IME attivo
Parametri
-
Parametri
oggetto
-
candidati
object[]
Elenco di candidati da mostrare nella finestra dei candidati
-
annotazione
stringa facoltativo
Testo aggiuntivo che descrive il candidato
-
candidato
stringa
Il candidato
-
id
numero
ID del candidato
-
etichetta
stringa facoltativo
Breve stringa visualizzata accanto al candidato, spesso la scorciatoia da tastiera o l'indice
-
parentId
numero facoltativo
L'ID in cui aggiungere questi candidati
-
utilizzo
oggetto facoltativo
L'utilizzo o la descrizione dettagliata della parola.
-
corpo
stringa
La stringa del corpo della descrizione dettagliata.
-
titolo
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
booleano
-
Resi
-
Promise<boolean>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato 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 dei candidati.
-
auxiliaryTextVisible
booleano facoltativo
True per visualizzare il testo ausiliario, false per nasconderlo.
-
currentCandidateIndex
numero facoltativo
Chrome 84 e versioni successive .L'indice dell'attuale candidato rispetto al totale dei candidati.
-
cursorVisible
booleano facoltativo
True per mostrare il cursore, false per nasconderlo.
-
pageSize
numero facoltativo
Il numero di candidati da visualizzare per pagina.
-
totalCandidates
numero facoltativo
Chrome 84 e versioni successive .Il 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 Candidate, false per nasconderla.
-
windowPosition
WindowPosition facoltativo
Dove visualizzare la finestra dei candidati.
-
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(success: boolean) => void
-
operazione riuscita
booleano
-
Resi
-
Promise<boolean>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
setComposition()
chrome.input.ime.setComposition(
parameters: object,
callback?: function,
)
Imposta la composizione corrente. Se questa estensione non possiede l'IME attivo, l'operazione non riesce.
Parametri
-
Parametri
oggetto
-
contextID
numero
ID del contesto in cui verrà impostato il testo della composizione
-
cursore
numero
Posizione nel testo del cursore.
-
segmenti simili
oggetto[] facoltativo
Elenco di segmenti e tipi associati.
-
termina
numero
Indice del carattere dopo il quale terminare questo segmento.
-
start
numero
Indice del carattere da cui iniziare questo segmento
-
stile
Il tipo di sottolineatura per modificare questo segmento.
-
-
selectionEnd
numero facoltativo
Posiziona il testo nel punto in cui termina la selezione.
-
selectionStart
numero facoltativo
Posiziona nel 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
booleano
-
Resi
-
Promise<boolean>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
callback?: function,
)
Imposta la posizione del cursore nella finestra candidata. Questa è un'operazione autonoma se l'estensione non possiede l'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
booleano
-
Resi
-
Promise<boolean>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato 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
Resi
-
Promesso<void>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato 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
Resi
-
Promesso<void>
Chrome 111 e versioni successive .Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.
Eventi
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
Questo evento viene inviato quando viene attivato un IME. Indica che l'IME riceverà gli 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 viene fatto clic su un pulsante in una finestra di assistenza.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
buttonID
L'ID del pulsante su cui è stato fatto clic.
-
windowType
Il tipo di finestra assistiva.
-
-
onBlur
chrome.input.ime.onBlur.addListener(
callback: function,
)
Questo evento viene inviato quando lo stato attivo lascia una casella di testo. Viene inviato a tutte le estensioni che ascoltano questo evento e viene 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 l'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 viene disattivato un IME. Indica 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 inserisce una casella di testo. Viene inviato a tutte le estensioni che ascoltano questo evento e viene attivato dall'utente.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(context: InputContext) => void
-
contesto
-
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
Questo evento viene inviato quando le proprietà dell'elemento InputContext corrente cambiano, ad esempio il tipo. Viene inviato a tutte le estensioni che ascoltano questo evento e viene attivato dall'utente.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(context: InputContext) => void
-
contesto
-
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 questa è proprietaria dell'IME attivo. La funzione listener deve restituire true se l'evento è stato gestito come false in caso contrario. Se l'evento verrà valutato in modo asincrono, questa funzione deve restituire un valore indefinito e l'IME deve chiamare in seguito 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 | non definito
-
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 immissione 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 viene modificata la stringa modificabile intorno al cursore o quando viene spostata la posizione del cursore. La lunghezza del testo è limitata a 100 caratteri per ciascuna direzione.
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 se non è presente alcuna selezione.
-
obiettivo
numero
La posizione finale della selezione. Questo valore indica la posizione del cursore se non è presente alcuna selezione.
-
offset
numero
Chrome 46 e versioni successive .La posizione di offset di
text
. Poichétext
include solo un sottoinsieme di testo attorno al cursore, l'offset indica la posizione assoluta del primo carattere ditext
. -
testo
stringa
Il testo attorno al cursore. Si tratta solo di un sottoinsieme di tutto il testo nel campo di immissione.
-
-