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.
Machtigingen
input
U moet de machtiging 'input' in het extensiemanifest declareren om de input.ime API te gebruiken. Bijvoorbeeld:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Beschikbaarheid
Voorbeelden
De volgende code maakt een IME die getypte letters omzet in 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;
}
}
);
Typen
AssistiveWindowButton
ID van knoppen in het hulpvenster.
Enum
"ongedaan maken" "toevoegen aan woordenboek"
AssistiveWindowProperties
Eigenschappen van het ondersteuningsvenster.
Eigenschappen
- aankondigString
string optioneel
Strings die ChromeVox moet aankondigen.
- type
"ongedaan maken"
- zichtbaar
Booleaanse
Stel true in om AssistiveWindow weer te geven en stel false in om te verbergen.
AssistiveWindowType
Soort hulpmiddel.
Waarde
"ongedaan maken"
AutoCapitalizeType
Het type automatische hoofdlettergebruik van het tekstveld.
Enum
"personages" "woorden" "zinnen"
InputContext
Beschrijft een invoercontext
Eigenschappen
- autoCapitalizeChroom 69+
Het type automatische hoofdlettergebruik van het tekstveld.
- automatisch aanvullen
Booleaanse
Of het tekstveld automatisch aangevuld moet worden.
- autoCorrectie
Booleaanse
Of het tekstveld automatisch gecorrigeerd moet worden.
- contextID
nummer
Dit wordt gebruikt om de doelen van tekstveldbewerkingen te specificeren. Deze ID wordt ongeldig zodra onBlur wordt aangeroepen.
- moetDoenLeren
Booleaanse
Chroom 68+Of de tekst die in het tekstveld wordt ingevoerd, moet worden gebruikt om de typsuggesties voor de gebruiker te verbeteren.
- spellingscontrole
Booleaanse
Of er een spellingscontrole voor het tekstveld nodig is.
- type
Type waarde dat dit tekstveld bewerkt (Tekst, Getal, URL, etc.)
InputContextType
Type waarde dat dit tekstveld bewerkt (Tekst, Getal, URL, etc.)
Enum
"tekst" "zoekopdracht" "tel" "url" "e-mail" "nummer" "wachtwoord" "nul"
KeyboardEvent
Zie http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
Eigenschappen
- altKey
boolean optioneel
Of de ALT-toets wel of niet is ingedrukt.
- altgrKey
boolean optioneel
Chroom 79+Of de ALTGR-toets wel of niet is ingedrukt.
- capsLock
boolean optioneel
Of CAPS_LOCK is ingeschakeld.
- code
snaar
Waarde van de fysieke toets die wordt ingedrukt. De waarde wordt niet beïnvloed door de huidige toetsenbordindeling of modifierstatus.
- ctrl-toets
boolean optioneel
Of de CTRL-toets wel of niet is ingedrukt.
- extensie-ID
string optioneel
De extensie-ID van de verzender van deze keyevent.
- sleutel
snaar
Waarde van de ingedrukte toets
- sleutelcode
nummer optioneel
De verouderde HTML keyCode, een systeem- en implementatie-afhankelijke numerieke code die de ongewijzigde identificatiecode aangeeft die is gekoppeld aan de ingedrukte toets.
- aanvraag-ID
string optioneel
(Verouderd) De ID van de aanvraag. Gebruik in plaats daarvan de parameter
requestId
van de gebeurtenisonKeyEvent
. - shiftKey
boolean optioneel
Of de SHIFT-toets wel of niet is ingedrukt.
Één van keyup en keydown.
KeyboardEventType
Enum
"keyup" "toets ingedrukt"
MenuItem
Een menu-item dat door een invoermethode wordt gebruikt om met de gebruiker te communiceren vanuit het taalmenu.
Eigenschappen
- gecontroleerd
boolean optioneel
Geeft aan dat dit item met een vinkje moet worden getrokken.
- ingeschakeld
boolean optioneel
Geeft aan dat dit item is ingeschakeld.
- id
snaar
String die wordt doorgegeven aan callbacks die naar dit MenuItem verwijzen.
- label
string optioneel
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 scheidingstekens worden als gegroepeerd beschouwd.
Enum
"rekening" "radio" "scheidingsteken"
MenuParameters
Eigenschappen
- motor-ID
snaar
ID van de te gebruiken engine.
- artikelen
Menu -item []
MenuItems die moeten worden toegevoegd of bijgewerkt. Ze worden toegevoegd in de volgorde waarin ze in de array voorkomen.
MouseButton
Op welke muisknoppen is geklikt?
Enum
"links" "midden" "rechts"
ScreenType
Het schermtype waaronder de IME is geactiveerd.
Enum
"normaal" "login" "slot" "secundaire login"
UnderlineStyle
Het type onderstreping waarmee dit segment wordt gewijzigd.
Enum
"onderstrepen" "dubbele onderstreping" "geen onderstreping"
WindowPosition
Waar het kandidaatvenster moet worden weergegeven. Indien ingesteld op 'cursor', volgt het venster de cursor. Indien ingesteld op 'compositie', wordt het venster vergrendeld aan het begin van de compositie.
Enum
"cursor" "samenstelling"
Methoden
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
): Promise<boolean>
Wis de huidige compositie. Als deze extensie niet de actieve IME bezit, mislukt dit.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarin de compositie zal worden gewist
Retourneren
Belofte<boolean>
Chroom 111+
commitText()
chrome.input.ime.commitText(
parameters: object,
): Promise<boolean>
De opgegeven tekst wordt aan de huidige invoer toegewezen.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarin de tekst zal worden vastgelegd
- tekst
snaar
De tekst om te committeren
Retourneren
Belofte<boolean>
Chroom 111+
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
): Promise<void>
Verwijdert de tekst rondom het tekstinvoegteken.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarin de omringende tekst wordt verwijderd.
- motor-ID
snaar
ID van de engine die de gebeurtenis ontvangt.
- lengte
nummer
Het aantal tekens dat moet worden verwijderd
- offset
nummer
De offset vanaf de positie van de invoegmarkering waar het verwijderen begint. Deze waarde kan negatief zijn.
Retourneren
Belofte<leegte>
Chroom 111+
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 sleutelgebeurtenis die door onKeyEvent is ontvangen, wordt verwerkt. Dit mag alleen worden aangeroepen als de onKeyEvent-listener asynchroon is.
Parameters
- aanvraag-ID
snaar
Verzoek-ID van de gebeurtenis die is afgehandeld. Deze moet afkomstig zijn van keyEvent.requestId
- antwoord
Booleaanse
True als de toetsaanslag is verwerkt, false als dat niet het geval is
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
): Promise<void>
Verstuurt de toetsgebeurtenissen. Deze functie wordt gebruikt door virtuele toetsenborden. Wanneer een gebruiker een toets op een virtueel toetsenbord indrukt, wordt deze functie gebruikt om die gebeurtenis naar het systeem te versturen.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waar de sleutelgebeurtenissen naartoe worden verzonden, of nul om sleutelgebeurtenissen naar een niet-invoerveld te verzenden.
- sleutelgegevens
Gegevens over de belangrijke gebeurtenis.
Retourneren
Belofte<leegte>
Chroom 111+
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
Markeert/demarkeert een knop in een hulpvenster.
Parameters
- parameters
voorwerp
- aankondigString
string optioneel
De tekst die de schermlezer moet aankondigen.
- knopID
De ID van de knop
- contextID
nummer
ID van de context die eigenaar is van het hulpvenster.
- gemarkeerd
Booleaanse
Of de knop gemarkeerd moet worden.
- vensterType
"ongedaan maken"
Het venstertype waartoe de knop behoort.
Retourneren
Belofte<leegte>
Chroom 111+
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
Toont/verbergt een ondersteuningsvenster met de opgegeven eigenschappen.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context die eigenaar is van het hulpvenster.
- eigenschappen
Eigenschappen van het ondersteuningsvenster.
Retourneren
Belofte<boolean>
Chroom 111+
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 moeten worden weergegeven
- annotatie
string optioneel
Aanvullende tekst waarin de kandidaat wordt beschreven
- kandidaat
snaar
De kandidaat
- id
nummer
De identiteit van de kandidaat
- label
string optioneel
Korte string die naast de kandidaat wordt weergegeven, vaak de sneltoets of index
- ouder-ID
nummer optioneel
Het id om deze kandidaten onder toe te voegen
- gebruik
object optioneel
Het gebruik of de gedetailleerde beschrijving van het woord.
- lichaam
snaar
De hoofdtekst van de gedetailleerde beschrijving.
- titel
snaar
De titelreeks van de gedetailleerde beschrijving.
- contextID
nummer
ID van de context die eigenaar is van het kandidaatvenster.
Retourneren
Belofte<boolean>
Chroom 111+
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
): Promise<boolean>
Stelt de eigenschappen van het kandidaatvenster in. Dit mislukt als de extensie niet de actieve IME bezit.
Parameters
- parameters
voorwerp
- motor-ID
snaar
ID van de engine waarvan u de eigenschappen wilt instellen.
- eigenschappen
voorwerp
- hulptekst
string optioneel
Tekst die onderaan het kandidatenvenster wordt weergegeven.
- hulpTekstZichtbaar
boolean optioneel
True om de hulptekst weer te geven, false om deze te verbergen.
- huidigeKandidaatIndex
nummer optioneel
Chroom 84+De index van de huidige gekozen kandidaat uit het totale aantal kandidaten.
- cursorZichtbaar
boolean optioneel
True om de cursor weer te geven, false om deze te verbergen.
- paginagrootte
nummer optioneel
Het aantal kandidaten dat per pagina wordt weergegeven.
- totaalKandidaten
nummer optioneel
Chroom 84+Het totale aantal kandidaten voor het kandidatenvenster.
- verticaal
boolean optioneel
True als het kandidaatvenster verticaal moet worden weergegeven, false om het horizontaal te maken.
- zichtbaar
boolean optioneel
True om het kandidatenvenster te tonen, false om het te verbergen.
- vensterpositie
WindowPosition optioneel
Waar het kandidatenvenster moet worden weergegeven.
Retourneren
Belofte<boolean>
Chroom 111+
setComposition()
chrome.input.ime.setComposition(
parameters: object,
): Promise<boolean>
Stel de huidige compositie in. Als deze extensie niet de actieve IME bezit, mislukt dit.
Parameters
- parameters
voorwerp
- contextID
nummer
ID van de context waarin de compositietekst zal worden geplaatst
- cursor
nummer
Positie van de cursor in de tekst.
- segmenten
object[] optioneel
Lijst met segmenten en hun bijbehorende typen.
- einde
nummer
Index van het personage waarmee dit segment beëindigd moet worden.
- begin
nummer
Index van het personage waarmee dit segment begint
- stijl
Het type onderstreping waarmee dit segment wordt gewijzigd.
- selectieEinde
nummer optioneel
Positie in de tekst waar de selectie eindigt.
- selectieStart
nummer optioneel
Positie in de tekst waar de selectie begint.
- tekst
snaar
In te stellen tekst
Retourneren
Belofte<boolean>
Chroom 111+
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
Stel de positie van de cursor in het kandidaatvenster in. Dit is niet nodig als deze extensie niet over de actieve IME beschikt.
Parameters
- parameters
voorwerp
- kandidaat-ID
nummer
ID van de kandidaat die u wilt selecteren.
- contextID
nummer
ID van de context die eigenaar is van het kandidaatvenster.
Retourneren
Belofte<boolean>
Chroom 111+
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
Retourneren
Belofte<leegte>
Chroom 111+
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
Werkt de status van de opgegeven MenuItems bij
Parameters
- parameters
Retourneren
Belofte<leegte>
Chroom 111+
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
- terugbellen
functie
De
callback
ziet er als volgt uit:(engineID: string, screen: ScreenType) => void
- motor-ID
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
- terugbellen
functie
De
callback
ziet er als volgt uit:(details: object) => void
- details
voorwerp
- knopID
De ID van de geklikte knop.
- vensterType
Het type van het ondersteuningsvenster.
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 door de gebruiker worden ingeschakeld.
Parameters
- terugbellen
functie
De
callback
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 bezit.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(engineID: string, candidateID: number, button: MouseButton) => void
- motor-ID
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 ontvangt.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(engineID: string) => void
- motor-ID
snaar
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer de focus een tekstvak binnengaat. De gebeurtenis wordt verzonden naar alle extensies die naar deze gebeurtenis luisteren en door de gebruiker zijn ingeschakeld.
Parameters
- terugbellen
functie
De
callback
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 door de gebruiker zijn ingeschakeld.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(context: InputContext) => void
- context
onKeyEvent
chrome.input.ime.onKeyEvent.addListener(
callback: function,
)
Wordt geactiveerd wanneer een belangrijke gebeurtenis wordt verzonden door het besturingssysteem. De gebeurtenis wordt naar de extensie verzonden als deze de actieve IME bezit. De listenerfunctie moet true retourneren als de gebeurtenis is afgehandeld (false) als dit niet het geval is. Als de gebeurtenis asynchroon wordt geëvalueerd, moet deze functie undefined retourneren en moet de IME later keyEventHandled() aanroepen met het resultaat.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
- motor-ID
snaar
- sleutelgegevens
- aanvraag-ID
snaar
- retouren
boolean | ongedefinieerd
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Wordt aangeroepen wanneer de gebruiker een menu-item selecteert
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(engineID: string, name: string) => void
- motor-ID
snaar
- naam
snaar
onReset
chrome.input.ime.onReset.addListener(
callback: function,
)
Deze gebeurtenis wordt verzonden wanneer Chrome een actieve tekstinvoersessie beëindigt.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(engineID: string) => void
- motor-ID
snaar
onSurroundingTextChanged
chrome.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
Wordt aangeroepen wanneer de bewerkbare tekenreeks rond de cursor wordt gewijzigd of wanneer de cursorpositie wordt verplaatst. De tekstlengte is beperkt tot 100 tekens voor elke heen-en-weergaande richting.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(engineID: string, surroundingInfo: object) => void
- motor-ID
snaar
- omringendeInfo
voorwerp
- anker
nummer
De beginpositie van de selectie. Deze waarde geeft de positie van de cursor aan als er geen selectie is.
- focus
nummer
De eindpositie van de selectie. Deze waarde geeft de positie van de cursor aan als er geen selectie is.
- offset
nummer
Chroom 46+De offsetpositie van
text
. Omdattext
slechts een deel van de tekst rond de cursor omvat, geeft offset de absolute positie van het eerste teken vantext
aan. - tekst
snaar
De tekst rond de cursor. Dit is slechts een deel van alle tekst in het invoerveld.