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

Disponibilità

Solo ChromeOS

Manifest

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

"addToDictionary"

AssistiveWindowProperties

Chrome 85 e versioni successive

Proprietà della finestra assistiva.

Proprietà

  • announceString

    stringa facoltativo

    Stringhe che ChromeVox deve annunciare.

  • Tipo

  • visibile

    boolean

    Imposta true per mostrare AssistiveWindow, imposta false per nascondere.

AssistiveWindowType

Chrome 85 e versioni successive

Tipo di periodo di assistenza.

Valore

AutoCapitalizeType

Chrome 69 e versioni successive

Il tipo di maiuscola automatica del campo di testo.

Enum

"characters"

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 vuole 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 sul campo di testo. Questo ID non è più valido non appena viene chiamato onBlur.

  • shouldDoLearning

    boolean

    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

    boolean

    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

    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.

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

"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 sono presenti nell'array.

MouseButton

Chrome 44 e versioni successive

I pulsanti del mouse su cui è stato fatto clic.

Enum

"left"

ScreenType

Chrome 44 e versioni successive

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

Enum

"login"

UnderlineStyle

Chrome 44 e versioni successive

Il tipo di sottolineatura per modificare questo segmento.

Enum

"underline"

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

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 un aspetto simile al seguente:

    (success: boolean) => void

    • operazione riuscita

      boolean

Valori restituiti

  • Promise<boolean>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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 un aspetto simile al seguente:

    (success: boolean) => void

    • operazione riuscita

      boolean

Valori restituiti

  • Promise<boolean>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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.

    • length

      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 un aspetto simile al seguente:

    () => void

Valori restituiti

  • Promise<void>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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

    boolean

    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 un aspetto simile al seguente:

    () => void

Valori restituiti

  • Promise<void>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

setAssistiveWindowButtonHighlighted()

Prometti Chrome 86 o 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

      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 un aspetto simile al seguente:

    () => void

Valori restituiti

  • Promise<void>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

setAssistiveWindowProperties()

Prometti Chrome 85 o 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 un aspetto simile al seguente:

    (success: boolean) => void

    • operazione riuscita

      boolean

Valori restituiti

  • Promise<boolean>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

setCandidates()

Promesso
chrome.input.ime.setCandidates(
  parameters: object,
  callback?: function,
)

Imposta l'elenco di candidati corrente. L'operazione non riesce se l'estensione non possiede l'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

        ID del candidato

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

        • body

          stringa

          La stringa del corpo della descrizione dettagliata.

        • qualifica

          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 un aspetto simile al seguente:

    (success: boolean) => void

    • operazione riuscita

      boolean

Valori restituiti

  • Promise<boolean>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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 un aspetto simile al seguente:

    (success: boolean) => void

    • operazione riuscita

      boolean

Valori restituiti

  • Promise<boolean>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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.

      • inizio

        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 un aspetto simile al seguente:

    (success: boolean) => void

    • operazione riuscita

      boolean

Valori restituiti

  • Promise<boolean>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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 un aspetto simile al seguente:

    (success: boolean) => void

    • operazione riuscita

      boolean

Valori restituiti

  • Promise<boolean>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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 un aspetto simile al seguente:

    () => void

Valori restituiti

  • Promise<void>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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 un aspetto simile al seguente:

    () => void

Valori restituiti

  • Promise<void>

    Chrome 111 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i 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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

    (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 un aspetto simile al seguente:

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