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 dei candidati.

Autorizzazioni

input

Per utilizzare l'API input.ime, devi dichiarare l'autorizzazione "input" nel manifest dell'estensione. Ad esempio:

{
  "name": "My extension",
  ...
  "permissions": [
    "input"
  ],
  ...
}

Disponibilità

Solo ChromeOS

Esempi

Il seguente codice crea un IME che converte le lettere digitate in maiuscolo.

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+

ID dei pulsanti nella finestra di assistenza.

Enum

"annulla"

"addToDictionary"

AssistiveWindowProperties

Chrome 85+

Proprietà della finestra di assistenza.

Proprietà

  • announceString

    stringa facoltativa

    Stringhe che ChromeVox deve annunciare.

  • tipo

    "annulla"

  • visibile

    booleano

    Imposta true per mostrare AssistiveWindow e false per nasconderla.

AssistiveWindowType

Chrome 85+

Tipo di finestra assistiva.

Valore

"annulla"

AutoCapitalizeType

Chrome 69+

Il tipo di maiuscole automatiche del campo di testo.

Enum

"characters"

"parole"

"frasi"

InputContext

Descrive un contesto di input

Proprietà

  • autoCapitalize
    Chrome 69+

    Il tipo di maiuscole automatiche del campo di testo.

  • autoComplete

    booleano

    Indica se il campo di testo richiede 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 sui campi di testo. Questo ID non è più valido non appena viene chiamato onBlur.

  • shouldDoLearning

    booleano

    Chrome 68+

    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+

Tipo di valore modificato da questo campo di testo (Testo, Numero, URL e così via)

Enum

"text"

"search"

"tel"

"url"

"email"

"number"

"password"

"null"

KeyboardEvent

Consulta la pagina http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent

Proprietà

  • altKey

    booleano facoltativo

    Indica se il tasto ALT è premuto o meno.

  • altgrKey

    booleano facoltativo

    Chrome 79+

    Indica se il tasto ALTGR è premuto o meno.

  • capsLock

    booleano facoltativo

    Indica se BLOC MAIUSC è attivo o meno.

  • codice

    stringa

    Valore del tasto fisico premuto. Il valore non è influenzato dal layout della tastiera corrente o dallo stato del tasto modificatore.

  • ctrlKey

    booleano facoltativo

    Indica se il tasto CTRL è premuto o meno.

  • extensionId

    stringa facoltativa

    L'ID estensione del mittente di questo evento chiave.

  • chiave

    stringa

    Valore del tasto premuto

  • keyCode

    number (facoltativo)

    Il keyCode HTML ritirato, ovvero il codice numerico dipendente dal sistema e dall'implementazione che indica l'identificatore non modificato associato al tasto premuto.

  • requestId

    stringa facoltativa

    (Deprecato) L'ID della richiesta. Utilizza invece il parametro requestId dell'evento onKeyEvent.

  • shiftKey

    booleano facoltativo

    Indica se il tasto MAIUSC è premuto o meno.

  • Uno tra keyup o keydown.

KeyboardEventType

Chrome 44+

Enum

"keyup"

"keydown"

MenuItem

Una voce di menu utilizzata da un metodo di input per interagire con l'utente dal menu della lingua.

Proprietà

  • selezionato

    booleano facoltativo

    Indica che questo elemento deve essere disegnato con un segno di spunta.

  • attivato

    booleano facoltativo

    Indica che questo elemento è abilitato.

  • id

    stringa

    Stringa che verrà passata ai callback che fanno riferimento a questo MenuItem.

  • etichetta

    stringa facoltativa

    Testo visualizzato nel menu per questo elemento.

  • stile

    MenuItemStyle facoltativo

    Il tipo di voce di menu.

  • visibile

    booleano facoltativo

    Indica che questo elemento è visibile.

MenuItemStyle

Chrome 44+

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

Enum

"check"

"radio"

"separator"

MenuParameters

Chrome 88+

Proprietà

  • engineID

    stringa

    ID del motore da utilizzare.

  • elementi

    MenuItems da aggiungere o aggiornare. Verranno aggiunti nell'ordine in cui sono presenti nell'array.

MouseButton

Chrome 44+

Quali tasti del mouse sono stati premuti.

Enum

"sinistra"

"middle"

"destra"

ScreenType

Chrome 44+

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

Enum

"normal"

"login"

"lock"

"secondary-login"

UnderlineStyle

Chrome 44+

Il tipo di sottolineatura per modificare questo segmento.

Enum

"underline"

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44+

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

"cursor"

"composition"

Metodi

clearComposition()

chrome.input.ime.clearComposition(
  parameters: object,
)
: Promise<boolean>

Cancella la composizione attuale. Se questa estensione non è proprietaria dell'IME attivo, l'operazione non va a buon fine.

Parametri

  • Parametri

    oggetto

    • contextID

      numero

      ID del contesto in cui verrà cancellata la composizione

Resi

  • Promise<boolean>

    Chrome 111+

commitText()

chrome.input.ime.commitText(
  parameters: object,
)
: Promise<boolean>

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 inviare

Resi

  • Promise<boolean>

    Chrome 111+

deleteSurroundingText()

chrome.input.ime.deleteSurroundingText(
  parameters: object,
)
: Promise<void>

Elimina il testo intorno al cursore.

Parametri

  • Parametri

    oggetto

    • contextID

      numero

      ID del contesto in cui verrà eliminato il testo circostante.

    • engineID

      stringa

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

Resi

  • Promise<void>

    Chrome 111+

hideInputView()

chrome.input.ime.hideInputView(): void

Nasconde la finestra della visualizzazione input, visualizzata automaticamente dal sistema. Se la finestra della visualizzazione dell'input è già nascosta, questa funzione non farà nulla.

keyEventHandled()

chrome.input.ime.keyEventHandled(
  requestId: string,
  response: boolean,
)
: void

Indica che l'evento chiave ricevuto da onKeyEvent è gestito. Questo metodo deve essere chiamato solo se il listener onKeyEvent è asincrono.

Parametri

  • requestId

    stringa

    ID richiesta dell'evento gestito. Questo valore deve provenire da keyEvent.requestId

  • risposta

    booleano

    Vero se la sequenza di tasti è stata gestita, falso in caso contrario

sendKeyEvents()

chrome.input.ime.sendKeyEvents(
  parameters: object,
)
: Promise<void>

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 inviarli a un campo non di input.

    • keyData

      Dati sull'evento chiave.

Resi

  • Promise<void>

    Chrome 111+

setAssistiveWindowButtonHighlighted()

Chrome 86+
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
)
: Promise<void>

Evidenzia/Annulla l'evidenziazione di un pulsante in una finestra di assistenza.

Parametri

  • Parametri

    oggetto

    • announceString

      stringa facoltativa

      Il testo che lo screen reader deve annunciare.

    • L'ID del pulsante

    • contextID

      numero

      ID del contesto proprietario della finestra di assistenza.

    • in evidenza

      booleano

      Indica se il pulsante deve essere evidenziato.

    • windowType

      "annulla"

      Il tipo di finestra a cui appartiene il pulsante.

Resi

  • Promise<void>

    Chrome 111+

setAssistiveWindowProperties()

Chrome 85+
chrome.input.ime.setAssistiveWindowProperties(
  parameters: object,
)
: Promise<boolean>

Mostra/Nasconde una finestra di assistenza con le proprietà specificate.

Parametri

  • Parametri

    oggetto

    • contextID

      numero

      ID del contesto proprietario della finestra di assistenza.

    • Proprietà della finestra di assistenza.

Resi

  • Promise<boolean>

    Chrome 111+

setCandidates()

chrome.input.ime.setCandidates(
  parameters: object,
)
: Promise<boolean>

Imposta l'elenco dei candidati corrente. L'operazione non va a buon fine se l'estensione non è proprietaria del metodo di input attivo

Parametri

  • Parametri

    oggetto

    • candidati

      object[]

      Elenco dei candidati da mostrare nella finestra dei candidati

      • annotazione

        stringa facoltativa

        Testo aggiuntivo che descrive il candidato

      • candidato

        stringa

        Il candidato

      • id

        numero

        L'ID del candidato

      • etichetta

        stringa facoltativa

        Breve stringa visualizzata accanto al candidato, spesso il tasto di scelta rapida o l'indice

      • parentId

        number (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 del candidato.

Resi

  • Promise<boolean>

    Chrome 111+

setCandidateWindowProperties()

chrome.input.ime.setCandidateWindowProperties(
  parameters: object,
)
: Promise<boolean>

Imposta le proprietà della finestra del candidato. L'operazione non va a buon fine se l'estensione non è proprietaria dell'IME attivo

Parametri

  • Parametri

    oggetto

    • engineID

      stringa

      ID del motore su cui impostare le proprietà.

    • proprietà

      oggetto

      • auxiliaryText

        stringa facoltativa

        Il testo visualizzato nella parte inferiore della finestra del candidato.

      • auxiliaryTextVisible

        booleano facoltativo

        Se il valore è vero, il testo ausiliario viene visualizzato; se è falso, viene nascosto.

      • currentCandidateIndex

        number (facoltativo)

        Chrome 84 e versioni successive

        L'indice del candidato scelto attualmente sul totale dei candidati.

      • cursorVisible

        booleano facoltativo

        True per mostrare il cursore, false per nasconderlo.

      • pageSize

        number (facoltativo)

        Il numero di candidati da visualizzare per pagina.

      • totalCandidates

        number (facoltativo)

        Chrome 84 e versioni successive

        Il numero totale di candidati per la finestra dei candidati.

      • verticale

        booleano facoltativo

        Vero se la finestra del candidato deve essere visualizzata in verticale, falso per visualizzarla in orizzontale.

      • visibile

        booleano facoltativo

        True per mostrare la finestra del candidato, false per nasconderla.

      • windowPosition

        WindowPosition facoltativo

        Dove visualizzare la finestra dei candidati.

Resi

  • Promise<boolean>

    Chrome 111+

setComposition()

chrome.input.ime.setComposition(
  parameters: object,
)
: Promise<boolean>

Imposta la composizione attuale. Se questa estensione non è proprietaria dell'IME attivo, l'operazione non va a buon fine.

Parametri

  • Parametri

    oggetto

    • contextID

      numero

      ID del contesto in cui verrà impostato il testo della composizione

    • cursore

      numero

      Posizione del cursore nel testo.

    • segmenti simili

      object[] facoltativo

      Elenco dei segmenti e dei relativi 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

      number (facoltativo)

      Posizione nel testo in cui termina la selezione.

    • selectionStart

      number (facoltativo)

      Posizione nel testo in cui inizia la selezione.

    • testo

      stringa

      Testo da impostare

Resi

  • Promise<boolean>

    Chrome 111+

setCursorPosition()

chrome.input.ime.setCursorPosition(
  parameters: object,
)
: Promise<boolean>

Imposta la posizione del cursore nella finestra del candidato. Si tratta di un'operazione nulla se questa estensione non è proprietaria dell'IME attivo.

Parametri

  • Parametri

    oggetto

    • candidateID

      numero

      ID del candidato da selezionare.

    • contextID

      numero

      ID del contesto proprietario della finestra del candidato.

Resi

  • Promise<boolean>

    Chrome 111+

setMenuItems()

chrome.input.ime.setMenuItems(
  parameters: MenuParameters,
)
: Promise<void>

Aggiunge le voci di menu fornite al menu della lingua quando questo IME è attivo.

Parametri

Resi

  • Promise<void>

    Chrome 111+

updateMenuItems()

chrome.input.ime.updateMenuItems(
  parameters: MenuParameters,
)
: Promise<void>

Aggiorna lo stato delle voci di menu specificate

Parametri

Resi

  • Promise<void>

    Chrome 111+

Eventi

onActivate

chrome.input.ime.onActivate.addListener(
  callback: function,
)

Questo evento viene inviato quando viene attivato un IME. Indica che l'IME riceverà eventi onKeyPress.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (engineID: string, screen: ScreenType) => void

onAssistiveWindowButtonClicked

Chrome 85+
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
  callback: function,
)

Questo evento viene inviato quando si fa 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 il focus esce da una casella di testo. Viene inviato a tutte le estensioni che sono in ascolto di questo evento e che sono state attivate 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 un IME viene disattivato. 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 il focus entra in una casella di testo. Viene inviato a tutte le estensioni che sono in ascolto di questo evento e che sono state attivate 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 cambiano le proprietà dell'InputContext corrente, ad esempio il tipo. Viene inviato a tutte le estensioni che sono in ascolto di questo evento e che sono state attivate 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 e false in caso contrario. Se l'evento verrà valutato in modo asincrono, questa funzione deve restituire undefined 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

      boolean | undefined

onMenuItemActivated

chrome.input.ime.onMenuItemActivated.addListener(
  callback: function,
)

Chiamato 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 di 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,
)

Chiamato quando la stringa modificabile intorno al cursore viene modificata o quando la posizione del cursore viene spostata. La lunghezza del testo è limitata a 100 caratteri per ogni direzione di andata e ritorno.

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 o 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. Questo è solo un sottoinsieme di tutto il testo nel campo di input.