chrome.input.ime

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à

Solo ChromeOS .

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

Chrome 85 e versioni successive .

ID dei pulsanti nella finestra di assistenza.

Enum

"annulla"

"addToDictionary"

AssistiveWindowProperties

Chrome 85 e versioni successive .

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

Chrome 85 e versioni successive .

Tipo di periodo di assistenza.

Valore

"annulla"

AutoCapitalizeType

Chrome 69 e versioni successive .

Il tipo di maiuscola automatica del campo di testo.

Enum

"characters"

"parole"

"frasi"

InputContext

Descrive un contesto di input

Proprietà

  • autoCapitalize
    Chrome 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 di valore modificato da questo campo di testo (Testo, Numero, URL e così via)

InputContextType

Chrome 44 e versioni successive .

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'evento onKeyEvent.

  • shiftKey

    booleano facoltativo

    Se il tasto MAIUSC viene premuto o meno.

  • Key-up o keydown.

KeyboardEventType

Chrome 44 e versioni successive .

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

Chrome 44 e versioni successive .

Il tipo di voce di menu. I pulsanti di opzione tra i separatori sono considerati raggruppati.

Enum

"segno di spunta"

"radio"

"separatore"

MenuParameters

Chrome 88 e versioni successive .

Proprietà

  • engineID

    stringa

    ID del motore da utilizzare.

  • elementi

    Voci di menu da aggiungere o aggiornare. Verranno aggiunti nell'ordine in cui sono presenti nell'array.

MouseButton

Chrome 44 e versioni successive .

I pulsanti del mouse su cui è stato fatto clic.

Enum

"left"

"centro"

"destra"

ScreenType

Chrome 44 e versioni successive .

Il tipo di schermata in cui viene attivato l'IME.

Enum

"normale"

"login"

"blocco"

"accesso-secondario"

UnderlineStyle

Chrome 44 e versioni successive .

Il tipo di sottolineatura per modificare questo segmento.

Enum

"underline"

"doubleunderline"

"nounderline"

WindowPosition

Chrome 44 e versioni successive .

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()

Promesso .
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()

Promesso .
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()

Promesso .
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()

Promesso .
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()

Promesso Chrome 86 e versioni successive
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.

    • 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()

Promesso Chrome 85 e versioni successive
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à della finestra assistiva.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (success: boolean) => void

    • operazione riuscita

      booleano

Resi

  • Promise&lt;boolean&gt;

    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()

Promesso .
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&lt;boolean&gt;

    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()

Promesso .
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&lt;boolean&gt;

    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()

Promesso .
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

      • 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&lt;boolean&gt;

    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()

Promesso .
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&lt;boolean&gt;

    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()

Promesso .
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()

Promesso .
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

onAssistiveWindowButtonClicked

Chrome 85 e versioni successive .
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

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

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

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

    • 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 di text.

      • testo

        stringa

        Il testo attorno al cursore. Si tratta solo di un sottoinsieme di tutto il testo nel campo di immissione.