Beschrijving
Gebruik de chrome.input.ime API om een aangepaste IME voor Chrome OS te implementeren. Hiermee kan uw extensie toetsaanslagen verwerken, de compositie instellen en het kandidaatvenster beheren.
Toestemmingen
inputOm de input.ime API te kunnen gebruiken, moet u de "input"-toestemming in het extensiemanifest declareren. Bijvoorbeeld:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Beschikbaarheid
Voorbeelden
De volgende code creëert een IME die getypte letters omzet naar hoofdletters.
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;
}
}
);
Soorten
AssistiveWindowButton
ID van de knoppen in het hulpvenster.
Enum
"ongedaan maken" "addToDictionary"
AssistiveWindowProperties
Eigenschappen van het hulpvenster.
Eigenschappen
- announceString
string optioneel
Teksten die ChromeVox kan aankondigen.
- type
"ongedaan maken"
- zichtbaar
booleaans
Stelt 'true' in om het AssistiveWindow weer te geven, stelt 'false' in om het te verbergen.
AssistiveWindowType
Type hulpvenster.
Waarde
"ongedaan maken"
AutoCapitalizeType
Het type tekstveld dat automatisch met een hoofdletter begint.
Enum
"personages" "woorden" "zinnen"
InputContext
Beschrijft een invoercontext
Eigenschappen
- autoCapitalizeChrome 69+
Het type tekstveld dat automatisch met een hoofdletter begint.
- automatisch aanvullen
booleaans
Of het tekstveld automatische aanvulling moet ondersteunen.
- autoCorrectie
booleaans
Of het tekstveld automatische correctie moet inschakelen.
- contextID
nummer
Dit wordt gebruikt om de doelen van tekstveldbewerkingen te specificeren. Deze ID wordt ongeldig zodra onBlur wordt aangeroepen.
- shouldDoLearning
booleaans
Chrome 68+Of de tekst die in het tekstveld wordt ingevoerd, gebruikt moet worden om de typsuggesties voor de gebruiker te verbeteren.
- spellingcontrole
booleaans
Of het tekstveld spellingcontrole nodig heeft.
- type
Het type waarde dat dit tekstveld bewerkt (tekst, getal, URL, enz.).
InputContextType
Het type waarde dat dit tekstveld bewerkt (tekst, getal, URL, enz.).
Enum
"tekst" "zoekopdracht" "tel" "url" "e-mail" "nummer" "wachtwoord" "null"
KeyboardEvent
Zie http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
Eigenschappen
- altKey
boolean optioneel
Ongeacht of de ALT-toets is ingedrukt of niet.
- altgrKey
boolean optioneel
Chrome 79+Ongeacht of de ALTGR-toets is ingedrukt of niet.
- capsLock
boolean optioneel
Of de CAPS_LOCK-toets is ingeschakeld of niet.
- code
snaar
De waarde van de fysieke toets die wordt ingedrukt. Deze waarde wordt niet beïnvloed door de huidige toetsenbordindeling of de status van de modificatietoetsen.
- Ctrl-toets
boolean optioneel
Ongeacht of de CTRL-toets is ingedrukt of niet.
- extensie-ID
string optioneel
De extensie-ID van de afzender van deze toetsaanslag.
- sleutel
snaar
Waarde van de ingedrukte toets
- sleutelcode
nummer optioneel
De verouderde HTML-keyCode is een systeem- en implementatieafhankelijke numerieke code die de ongewijzigde identificatiecode aangeeft die is gekoppeld aan de ingedrukte toets.
- verzoek-ID
string optioneel
(Verouderd) De ID van het verzoek. Gebruik in plaats daarvan de parameter
requestIdvan deonKeyEventgebeurtenis. - shiftKey
boolean optioneel
Ongeacht of de SHIFT-toets is ingedrukt of niet.
- type
Een van de twee: keyup of keydown.
KeyboardEventType
Enum
"toets ingedrukt" "toets ingedrukt"
MenuItem
Een menu-item dat door een invoermethode wordt gebruikt om vanuit het taalmenu met de gebruiker te communiceren.
Eigenschappen
- gecontroleerd
boolean optioneel
Geeft aan dat dit item met een cheque moet worden afgeschreven.
- ingeschakeld
boolean optioneel
Geeft aan dat dit item is ingeschakeld.
- id
snaar
De tekenreeks die wordt doorgegeven aan callbacks die naar dit menu-item verwijzen.
- label
string optioneel
De tekst die in het menu voor dit item wordt weergegeven.
- stijl
MenuItemStyle optioneel
Het type menu-item.
- zichtbaar
boolean optioneel
Geeft aan dat dit item zichtbaar is.
MenuItemStyle
Het type menu-item. Keuzerondjes tussen scheidingslijnen worden als gegroepeerd beschouwd.
Enum
"rekening" "radio" "scheidingsteken"
MenuParameters
Eigenschappen
- engineID
snaar
ID van de te gebruiken engine.
- items
MenuItem []
Menu-items die moeten worden toegevoegd of bijgewerkt. Ze worden toegevoegd in de volgorde waarin ze in de array voorkomen.
MouseButton
Welke muisknop werd ingedrukt?
Enum
"links" "midden" "rechts"
ScreenType
Het schermtype waaronder de IME wordt geactiveerd.
Enum
"normaal" "login" "slot" "secundaire login"
UnderlineStyle
Het type onderstreping waarmee dit segment wordt aangepast.
Enum
"onderstrepen" "dubbele onderstreping" "geen onderstreping"
WindowPosition
Waar moet het kandidaatvenster worden weergegeven? Indien ingesteld op 'cursor', volgt het venster de cursor. Indien ingesteld op 'compositie', wordt het venster vastgezet aan het begin van de compositie.
Enum
"cursor" "samenstelling"
Methoden
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
): Promise<boolean>
Wis de huidige samenstelling. Als deze extensie niet de eigenaar is van de actieve IME, mislukt dit.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarin de compositie zal worden gewist
Retourneert
Belofte<boolean>
Chrome 111+De promise wordt opgelost wanneer de bewerking is voltooid en retourneert een booleanwaarde die aangeeft of de tekst is geaccepteerd of niet. Bij een fout wordt de promise afgewezen.
commitText()
chrome.input.ime.commitText(
parameters: object,
): Promise<boolean>
Voegt de opgegeven tekst toe aan het huidige invoerveld.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarin de tekst zal worden opgeslagen
- tekst
snaar
De tekst die je moet vastleggen
Retourneert
Belofte<boolean>
Chrome 111+De promise wordt opgelost wanneer de bewerking is voltooid en retourneert een booleanwaarde die aangeeft of de tekst is geaccepteerd of niet. Bij een fout wordt de promise afgewezen.
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
): Promise<void>
Verwijdert de tekst rondom de cursor.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarin de omringende tekst wordt verwijderd.
- engineID
snaar
ID van de engine die de gebeurtenis ontvangt.
- lengte
nummer
Het aantal tekens dat verwijderd moet worden
- verschuiving
nummer
De offset vanaf de cursorpositie waar de verwijdering zal beginnen. Deze waarde kan negatief zijn.
Retourneert
Promise<void>
Chrome 111+Wordt opgelost zodra de bewerking is voltooid.
hideInputView()
chrome.input.ime.hideInputView(): void
Verbergt het invoervenster dat automatisch door het systeem wordt geopend. Als het invoervenster al verborgen is, doet deze functie niets.
keyEventHandled()
chrome.input.ime.keyEventHandled(
requestId: string,
response: boolean,
): void
Geeft aan dat de toetsaanslag die door onKeyEvent is ontvangen, is verwerkt. Deze functie mag alleen worden aangeroepen als de onKeyEvent-listener asynchroon is.
Parameters
- verzoek-ID
snaar
De aanvraag-ID van de verwerkte gebeurtenis. Deze moet afkomstig zijn van keyEvent.requestId.
- antwoord
booleaans
Waar als de toetsaanslag is verwerkt, onwaar als dat niet het geval is.
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
): Promise<void>
Verzendt de toetsaanslagen. Deze functie is bedoeld voor gebruik door virtuele toetsenborden. Wanneer een gebruiker een of meer toetsen op een virtueel toetsenbord indrukt, wordt deze functie gebruikt om die gebeurtenis naar het systeem door te geven.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarnaar de toetsaanslagen worden verzonden, of nul om toetsaanslagen naar een niet-invoerveld te verzenden.
- sleutelgegevens
Gegevens over de belangrijkste gebeurtenis.
Retourneert
Promise<void>
Chrome 111+Wordt opgelost zodra de bewerking is voltooid.
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
Hiermee kunt u een knop in een hulpvenster markeren/demarkeren.
Parameters
- parameters
voorwerp
- announceString
string optioneel
De tekst die de schermlezer moet voorlezen.
- knopID
De ID van de knop
- contextID
nummer
ID van de context waartoe het hulpvenster behoort.
- gemarkeerd
booleaans
Of de knop gemarkeerd moet worden.
- venstertype
"ongedaan maken"
Het venstertype waartoe de knop behoort.
Retourneert
Promise<void>
Chrome 111+De status wordt bepaald zodra de bewerking is voltooid. Bij een fout wordt de belofte afgewezen.
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
Toont/verbergt een hulpvenster met de opgegeven eigenschappen.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waartoe het hulpvenster behoort.
- eigenschappen
Eigenschappen van het hulpvenster.
Retourneert
Belofte<boolean>
Chrome 111+Wordt opgelost zodra de bewerking is voltooid.
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
): Promise<boolean>
Stelt de huidige kandidatenlijst in. Dit mislukt als deze extensie niet de actieve IME bezit.
Parameters
- parameters
voorwerp
- kandidaten
voorwerp[]
Lijst met kandidaten die in het kandidatenvenster worden weergegeven.
- annotatie
string optioneel
Aanvullende tekst ter beschrijving van de kandidaat
- kandidaat
snaar
De kandidaat
- id
nummer
Het ID van de kandidaat
- label
string optioneel
Korte tekenreeks die naast de kandidaat wordt weergegeven, vaak de sneltoets of index.
- ouder-ID
nummer optioneel
De ID waaraan deze kandidaten moeten worden toegevoegd
- gebruik
object optioneel
Het gebruik of de gedetailleerde beschrijving van een woord.
- lichaam
snaar
De hoofdtekst van de gedetailleerde beschrijving.
- titel
snaar
De titel van de detailbeschrijving.
- contextID
nummer
ID van de context die eigenaar is van het kandidaatvenster.
Retourneert
Belofte<boolean>
Chrome 111+Wordt opgelost zodra de bewerking is voltooid.
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
): Promise<boolean>
Hiermee worden de eigenschappen van het kandidaatvenster ingesteld. Dit mislukt als de extensie niet de eigenaar is van de actieve IME.
Parameters
- parameters
voorwerp
- engineID
snaar
ID van de engine waarvan de eigenschappen moeten worden ingesteld.
- eigenschappen
voorwerp
- hulptekst
string optioneel
Tekst die onderaan het kandidatenvenster wordt weergegeven.
- auxiliaryTextVisible
boolean optioneel
Als de hulptekst wordt weergegeven (true), moet deze worden verborgen (false).
- huidigeKandidaatIndex
nummer optioneel
Chrome 84+De index van de huidige gekozen kandidaat ten opzichte van het totale aantal kandidaten.
- cursorzichtbaar
boolean optioneel
True om de cursor weer te geven, false om hem te verbergen.
- paginagrootte
nummer optioneel
Het aantal kandidaten dat per pagina moet worden weergegeven.
- totaal aantal kandidaten
nummer optioneel
Chrome 84+Het totale aantal kandidaten voor de kandidatenperiode.
- verticaal
boolean optioneel
Retourneer True als het kandidaatvenster verticaal moet worden weergegeven, en False om het horizontaal te maken.
- zichtbaar
boolean optioneel
Als je het kandidatenvenster wilt weergeven (true), moet je het verbergen (false).
- vensterpositie
WindowPosition optioneel
Waar moet het kandidaatvenster worden weergegeven?
Retourneert
Belofte<boolean>
Chrome 111+Wordt opgelost zodra de bewerking is voltooid.
setComposition()
chrome.input.ime.setComposition(
parameters: object,
): Promise<boolean>
Stel de huidige compositie in. Als deze extensie niet de actieve IME beheert, mislukt dit.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarin de compositietekst wordt geplaatst.
- cursor
nummer
Positie van de cursor in de tekst.
- segmenten
object[] optioneel
Lijst met segmenten en de bijbehorende typen.
- einde
nummer
Index van het teken waarna dit segment moet eindigen.
- begin
nummer
Index van het teken waarmee dit segment moet beginnen.
- stijl
Het type onderstreping waarmee dit segment wordt aangepast.
- selectieEinde
nummer optioneel
De positie in de tekst waar de selectie eindigt.
- selectieStart
nummer optioneel
De positie in de tekst waar de selectie begint.
- tekst
snaar
Tekst om in te stellen
Retourneert
Belofte<boolean>
Chrome 111+De promise wordt opgelost wanneer de bewerking is voltooid en retourneert een booleanwaarde die aangeeft of de tekst is geaccepteerd of niet. Bij een fout wordt de promise afgewezen.
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
Stel de cursorpositie in het kandidaatvenster in. Deze actie is zinloos als deze extensie niet de actieve IME beheert.
Parameters
- parameters
voorwerp
- kandidaat-ID
nummer
ID van de te selecteren kandidaat.
- contextID
nummer
ID van de context die eigenaar is van het kandidaatvenster.
Retourneert
Belofte<boolean>
Chrome 111+Wordt opgelost wanneer de bewerking is voltooid.
setMenuItems()
chrome.input.ime.setMenuItems(
parameters: MenuParameters,
): Promise<void>
Voegt de opgegeven menu-items toe aan het taalmenu wanneer deze IME actief is.
Parameters
- parameters
Retourneert
Promise<void>
Chrome 111+
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
Werkt de status van de opgegeven menu-items bij.
Parameters
- parameters
Retourneert
Promise<void>
Chrome 111+Wordt opgelost wanneer de bewerking is voltooid.
Evenementen
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer een IME wordt geactiveerd. Het geeft aan dat de IME onKeyPress-gebeurtenissen zal ontvangen.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(engineID: string, screen: ScreenType) => void
- engineID
snaar
- scherm
onAssistiveWindowButtonClicked
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer er op een knop in een hulpvenster wordt geklikt.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- knopID
De ID van de aangeklikte knop.
- venstertype
Het type hulpvenster.
onBlur
chrome.input.ime.onBlur.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer de focus een tekstvak verlaat. De gebeurtenis wordt verzonden naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn ingeschakeld.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(contextID: number) => void
- contextID
nummer
onCandidateClicked
chrome.input.ime.onCandidateClicked.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden als deze extensie de actieve IME beheert.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(engineID: string, candidateID: number, button: MouseButton) => void
- engineID
snaar
- kandidaat-ID
nummer
- knop
onDeactivated
chrome.input.ime.onDeactivated.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer een IME wordt gedeactiveerd. Het geeft aan dat de IME geen onKeyPress-gebeurtenissen meer zal ontvangen.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(engineID: string) => void
- engineID
snaar
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer de focus in een tekstvak komt. De gebeurtenis wordt verzonden naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn ingeschakeld.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(context: InputContext) => void
- context
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer de eigenschappen van de huidige InputContext veranderen, zoals het type. De gebeurtenis wordt verzonden naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn ingeschakeld.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(context: InputContext) => void
- context
onKeyEvent
chrome.input.ime.onKeyEvent.addListener(
callback: function,
)
Deze functie wordt geactiveerd wanneer een toetsaanslag vanuit het besturingssysteem wordt verzonden. De toetsaanslag wordt naar de extensie verzonden als deze de actieve IME beheert. De luisterfunctie moet true retourneren als de toetsaanslag is verwerkt en false als dit niet het geval is. Als de toetsaanslag asynchroon wordt verwerkt, moet deze functie undefined retourneren en moet de IME later keyEventHandled() aanroepen met het resultaat.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
- engineID
snaar
- sleutelgegevens
- verzoek-ID
snaar
- retourneert
boolean | niet gedefinieerd
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Wordt aangeroepen wanneer de gebruiker een menu-item selecteert.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(engineID: string, name: string) => void
- engineID
snaar
- naam
snaar
onReset
chrome.input.ime.onReset.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer Chrome een lopende tekstinvoersessie beëindigt.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(engineID: string) => void
- engineID
snaar
onSurroundingTextChanged
chrome.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
Deze functie wordt aangeroepen wanneer de bewerkbare tekst rond de cursor wordt gewijzigd of wanneer de cursorpositie wordt verplaatst. De tekstlengte is beperkt tot 100 tekens voor zowel de heen- als de terugrichting.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(engineID: string, surroundingInfo: object) => void
- engineID
snaar
- omgevingsinfo
voorwerp
- anker
nummer
De beginpositie van de selectie. Deze waarde geeft de cursorpositie aan als er geen selectie is.
- focus
nummer
De eindpositie van de selectie. Deze waarde geeft de cursorpositie aan als er geen selectie is.
- verschuiving
nummer
Chrome 46+De offsetpositie van
text. Omdattextslechts een deel van de tekst rond de cursor omvat, geeft de offset de absolute positie van het eerste teken vantextaan. - tekst
snaar
De tekst rond de cursor. Dit is slechts een deelverzameling van alle tekst in het invoerveld.