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

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

Chrome 85 e versioni successive

ID dei pulsanti nella finestra assistiva.

Enum

"addToDictionary"

AssistiveWindowProperties

Chrome 85 e versioni successive

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

Chrome 85 e versioni successive

Tipo di finestra assistiva.

Valore

AutoCapitalizeType

Chrome 69 e versioni successive

Il tipo di maiuscola automatica del campo di testo.

Enum

InputContext

Descrive un contesto di input

Proprietà

  • autoCapitalize
    Chrome 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 successive

    Consente 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 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

"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 successive

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

  • shiftKey

    booleano facoltativo

    Consente di stabilire se premere o meno il tasto Maiusc.

  • Uno dei tasti su o giù.

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.

  • o l'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

Chrome 44 e versioni successive

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

Enum

"check"

"radio"

MenuParameters

Chrome 88 e versioni successive

Proprietà

  • engineID

    stringa

    ID del motore da utilizzare.

  • items

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

MouseButton

Chrome 44 e versioni successive

Su quali pulsanti del mouse è stato fatto clic.

Enum

ScreenType

Chrome 44 e versioni successive

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

Enum

UnderlineStyle

Chrome 44 e versioni successive

Il tipo di sottolineatura per modificare questo segmento.

Enum

WindowPosition

Chrome 44 e versioni successive

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

Promessa
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 successive

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

Promessa
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 successive

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

Promessa
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 successive

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

Promessa
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 successive

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

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

    • 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 successive

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

Promessa 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

      boolean

Ritorni

  • Promise<boolean>

    Chrome 111 e versioni successive

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

Promessa
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

      • o l'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 successive

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

Promessa
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 successive

        L'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 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 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 successive

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

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

      • inizio

        numero

        Indice del carattere da cui iniziare il segmento

      • 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 successive

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

Promessa
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 successive

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

Promessa
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 successive

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

Promessa
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 successive

    Le 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

onAssistiveWindowButtonClicked

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

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

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

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

    • returns

      booleano | 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 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 successive

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

      • testo

        stringa

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