Açıklama
ChromeOS için özel bir IME uygulamak üzere chrome.input.ime API'sini kullanın. Bu sayede uzantınız tuş vuruşlarını işleyebilir, oluşturmayı ayarlayabilir ve aday penceresini yönetebilir.
İzinler
inputinput.ime API'yi kullanmak için uzantı manifest dosyasında "input" iznini beyan etmeniz gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Kullanılabilirlik
Örnekler
Aşağıdaki kod, yazılan harfleri büyük harfe dönüştüren bir IME oluşturur.
var context_id = -1;
browser.input.ime.onFocus.addListener(function(context) {
context_id = context.contextID;
});
browser.input.ime.onKeyEvent.addListener(
function(engineID, keyData) {
if (keyData.type == "keydown" && keyData.key.match(/^[a-z]$/)) {
browser.input.ime.commitText({"contextID": context_id,
"text": keyData.key.toUpperCase()});
return true;
} else {
return false;
}
}
);
Türler
AssistiveWindowButton
Yardımcı penceredeki düğmelerin kimliği.
Enum
"geri al"
"addToDictionary"
AssistiveWindowProperties
Yardımcı pencerenin özellikleri.
Özellikler
-
announceString
string isteğe bağlı
ChromeVox'un duyuracağı dizeler.
-
tür
"geri al"
-
görünür
boole
AssistiveWindow'u göstermek için doğru, gizlemek için yanlış değerini ayarlar.
AssistiveWindowType
Yardımcı pencere türü.
Değer
"geri al"
AutoCapitalizeType
Metin alanının otomatik büyük harf türü.
Enum
"characters"
"words"
"sentences"
InputContext
Giriş bağlamını açıklar.
Özellikler
-
autoCapitalizeChrome 69 ve sonraki sürümler Chrome 148'den itibaren browser.*
Metin alanının otomatik büyük harf türü.
-
autoComplete
boole
Metin alanının otomatik tamamlama isteyip istemediği.
-
autoCorrect
boole
Metin alanının otomatik düzeltme isteyip istemediği.
-
contextID
sayı
Bu, metin alanı işlemlerinin hedeflerini belirtmek için kullanılır. Bu kimlik, onBlur çağrılır çağrılmaz geçersiz hale gelir.
-
shouldDoLearning
boole
Chrome 68 ve sonraki sürümler Chrome 148'den itibaren browser.*Metin alanına girilen metnin, kullanıcıya yönelik yazma önerilerini iyileştirmek için kullanılıp kullanılmayacağı.
-
spellCheck
boole
Metin alanının yazım denetimi isteyip istemediği.
-
tür
Bu metin alanının düzenlediği değer türü (Metin, Sayı, URL vb.)
InputContextType
Bu metin alanının düzenlediği değer türü (Metin, Sayı, URL vb.)
Enum
"text"
"search"
"tel"
"url"
"email"
"number"
"password"
"null"
KeyboardEvent
http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent adresine bakın.
Özellikler
-
altKey
boole isteğe bağlı
ALT tuşuna basılıp basılmadığını belirtir.
-
altgrKey
boole isteğe bağlı
Chrome 79 ve sonraki sürümler Chrome 148'den itibaren browser.*ALTGR tuşuna basılıp basılmadığı.
-
capsLock
boole isteğe bağlı
CAPS_LOCK'un etkin olup olmadığı.
-
kod
dize
Basılan fiziksel tuşun değeri. Değer, mevcut klavye düzeninden veya değiştirici durumundan etkilenmez.
-
ctrlKey
boole isteğe bağlı
CTRL tuşuna basılıp basılmadığını belirtir.
-
extensionId
string isteğe bağlı
Bu tuş etkinliğini gönderenin uzantı kimliği.
-
anahtar
dize
Basılan tuşun değeri
-
keyCode
number isteğe bağlı
Kullanımdan kaldırılan HTML keyCode, basılan tuşla ilişkili değiştirilmemiş tanımlayıcıyı belirten, sisteme ve uygulamaya bağlı sayısal koddur.
-
requestId
string isteğe bağlı
(Desteği sonlandırıldı) İsteğin kimliği. Bunun yerine
onKeyEventetkinliğindekirequestIdparametresini kullanın. -
shiftKey
boole isteğe bağlı
ÜST KARAKTER tuşuna basılıp basılmadığı.
-
keyup veya keydown'dan biri.
KeyboardEventType
Enum
"keyup"
"keydown"
MenuItem
Dil menüsünden kullanıcıyla etkileşim kurmak için bir giriş yöntemi tarafından kullanılan menü öğesi.
Özellikler
-
işaretli
boole isteğe bağlı
Bu öğenin bir onay işaretiyle çizilmesi gerektiğini gösterir.
-
etkin
boole isteğe bağlı
Bu öğenin etkin olduğunu gösterir.
-
id
dize
Bu MenuItem'a referans veren geri çağırmalara iletilecek dize.
-
etiket
string isteğe bağlı
Bu öğe için menüde gösterilen metin.
-
stil
MenuItemStyle isteğe bağlı
Menü öğesinin türü.
-
görünür
boole isteğe bağlı
Bu öğenin görünür olduğunu gösterir.
MenuItemStyle
Menü öğesinin türü. Ayırıcılar arasındaki radyo düğmeleri gruplandırılmış olarak kabul edilir.
Enum
"check"
"radio"
"separator"
MenuParameters
Özellikler
-
engineID
dize
Kullanılacak motorun kimliği.
-
items
MenuItem[]
Eklenecek veya güncellenecek MenuItems. Dizideki sırayla eklenirler.
MouseButton
Hangi fare düğmelerinin tıklandığı.
Enum
"left"
"middle"
"right"
ScreenType
IME'nin etkinleştirildiği ekran türü.
Enum
"normal"
"login"
"lock"
"secondary-login"
UnderlineStyle
Bu segmenti değiştirmek için alt çizgi türü.
Enum
"altı çizili"
"doubleUnderline"
"noUnderline"
WindowPosition
Aday penceresinin nerede gösterileceği. "İmleç" olarak ayarlanırsa pencere imleci takip eder. "composition" olarak ayarlanırsa pencere, oluşturmanın başına kilitlenir.
Enum
"cursor"
"composition"
Yöntemler
clearComposition()
browser.input.ime.clearComposition(
parameters: object,
): Promise<boolean>
Mevcut oluşturma içeriğini temizler. Bu uzantı, etkin IME'ye sahip değilse bu işlem başarısız olur.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Oluşturmanın temizleneceği bağlamın kimliği
-
İadeler
-
Promise<boolean>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında, metnin kabul edilip edilmediğini belirten bir boole değeriyle çözümlenir. Başarısız olursa promise reddedilir.
commitText()
browser.input.ime.commitText(
parameters: object,
): Promise<boolean>
Sağlanan metni mevcut girişe uygular.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Metnin kaydedileceği bağlamın kimliği
-
text (metin)
dize
Onaylanacak metin
-
İadeler
-
Promise<boolean>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında, metnin kabul edilip edilmediğini belirten bir boole değeriyle çözümlenir. Başarısız olursa promise reddedilir.
deleteSurroundingText()
browser.input.ime.deleteSurroundingText(
parameters: object,
): Promise<void>
İmlecin etrafındaki metni siler.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Çevreleyen metnin silineceği bağlamın kimliği.
-
engineID
dize
Etkinliği alan arama motorunun kimliği.
-
uzunluk
sayı
Silinecek karakter sayısı
-
telafi etmek
sayı
Silme işleminin başlayacağı imleç konumundan uzaklık. Bu değer negatif olabilir.
-
İadeler
-
Promise<void>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında çözümlenir.
hideInputView()
browser.input.ime.hideInputView(): void
Sistem tarafından otomatik olarak açılan giriş görünümü penceresini gizler. Giriş görünümü penceresi zaten gizliyse bu işlev hiçbir şey yapmaz.
keyEventHandled()
browser.input.ime.keyEventHandled(
requestId: string,
response: boolean,
): void
onKeyEvent tarafından alınan önemli etkinliğin işlendiğini gösterir. Bu, yalnızca onKeyEvent dinleyicisi eşzamansızsa çağrılmalıdır.
Parametreler
-
requestId
dize
İşlenen etkinliğin istek kimliği. Bu, keyEvent.requestId'den gelmelidir.
-
gönderin
boole
Tuş vuruşu işlendiyse doğru, işlenmediyse yanlış değerini döndürür.
sendKeyEvents()
browser.input.ime.sendKeyEvents(
parameters: object,
): Promise<void>
Önemli etkinlikleri gönderir. Bu işlevin sanal klavyeler tarafından kullanılması beklenir. Kullanıcı sanal klavyedeki tuşlara bastığında bu işlev, ilgili etkinliği sisteme yaymak için kullanılır.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Önemli etkinliklerin gönderileceği bağlamın kimliği veya önemli etkinlikleri giriş alanı olmayan bir yere göndermek için sıfır.
-
keyData
Önemli etkinlikle ilgili veriler.
-
İadeler
-
Promise<void>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında çözümlenir.
setAssistiveWindowButtonHighlighted()
browser.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
Yardımcı penceredeki bir düğmeyi vurgular/vurguyu kaldırır.
Parametreler
-
parametreler
nesne
-
announceString
string isteğe bağlı
Ekran okuyucunun duyuracağı metin.
-
buttonID
Düğmenin kimliği
-
contextID
sayı
Yardımcı pencerenin sahibi olan bağlamın kimliği.
-
öne çıkarıldı
boole
Düğmenin vurgulanıp vurgulanmayacağını belirtir.
-
windowType
"geri al"
Düğmenin ait olduğu pencere türü.
-
İadeler
-
Promise<void>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında çözümlenir. Başarısız olursa promise reddedilir.
setAssistiveWindowProperties()
browser.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
Belirtilen özelliklere sahip bir yardımcı pencereyi gösterir/gizler.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Yardımcı pencerenin sahibi olan bağlamın kimliği.
-
mülkler
Yardımcı pencerenin özellikleri.
-
İadeler
-
Promise<boolean>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında çözümlenir.
setCandidates()
browser.input.ime.setCandidates(
parameters: object,
): Promise<boolean>
Mevcut aday listesini ayarlar. Bu uzantı, etkin IME'nin sahibi değilse bu işlem başarısız olur.
Parametreler
-
parametreler
nesne
-
adaylar
object[]
Aday penceresinde gösterilecek adayların listesi
-
ek açıklama
string isteğe bağlı
Adayı açıklayan ek metin
-
aday
dize
Aday
-
id
sayı
Adayın kimliği
-
etiket
string isteğe bağlı
Adayın yanında gösterilen kısa dize (genellikle kısayol tuşu veya dizin)
-
parentId
number isteğe bağlı
Bu adayların ekleneceği kimlik
-
kullanım
isteğe bağlı nesne
Kelimenin kullanım şekli veya ayrıntılı açıklaması.
-
gövde
dize
Ayrıntılı açıklamanın gövde dizesi.
-
title
dize
Ayrıntılar açıklamasının başlık dizesi.
-
-
-
contextID
sayı
Aday penceresinin sahibi olan bağlamın kimliği.
-
İadeler
-
Promise<boolean>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında çözümlenir.
setCandidateWindowProperties()
browser.input.ime.setCandidateWindowProperties(
parameters: object,
): Promise<boolean>
Aday penceresinin özelliklerini ayarlar. Uzantı, etkin IME'ye sahip değilse bu işlem başarısız olur.
Parametreler
-
parametreler
nesne
-
engineID
dize
Özelliklerin ayarlanacağı motorun kimliği.
-
mülkler
nesne
-
auxiliaryText
string isteğe bağlı
Aday penceresinin alt kısmında gösterilen metin.
-
auxiliaryTextVisible
boole isteğe bağlı
Yardımcı metni göstermek için True (Doğru), gizlemek için False (Yanlış) değerini girin.
-
currentCandidateIndex
number isteğe bağlı
Chrome 84 ve sonraki sürümler Chrome 148'den itibaren browser.*Toplam adaylar arasından seçilen adayın dizini.
-
cursorVisible
boole isteğe bağlı
İmleci göstermek için True, gizlemek için False değerini döndürür.
-
pageSize
number isteğe bağlı
Sayfa başına gösterilecek aday sayısı.
-
totalCandidates
number isteğe bağlı
Chrome 84 ve sonraki sürümler Chrome 148'den itibaren browser.*Aday penceresi için toplam aday sayısı.
-
dikey
boole isteğe bağlı
Aday penceresi dikey olarak oluşturulacaksa doğru, yatay olarak oluşturulacaksa yanlış değerini döndürür.
-
görünür
boole isteğe bağlı
Aday penceresini göstermek için doğru, gizlemek için yanlış değerini döndürür.
-
windowPosition
WindowPosition isteğe bağlı
Aday penceresinin nerede gösterileceği.
-
-
İadeler
-
Promise<boolean>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında çözümlenir.
setComposition()
browser.input.ime.setComposition(
parameters: object,
): Promise<boolean>
Mevcut oluşturmayı ayarlayın. Bu uzantı, etkin IME'ye sahip değilse bu işlem başarısız olur.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Oluşturma metninin ayarlanacağı bağlamın kimliği
-
imleç
sayı
İmlecin metindeki konumu.
-
segment
object[] isteğe bağlı
Segmentlerin ve ilişkili türlerinin listesi.
-
end
sayı
Bu segmentin bitiş karakterinin dizini.
-
start
sayı
Bu segmentin başlatılacağı karakterin dizini
-
stil
Bu segmenti değiştirmek için alt çizgi türü.
-
-
selectionEnd
number isteğe bağlı
Seçimin bittiği metindeki konum.
-
selectionStart
number isteğe bağlı
Seçimin başladığı metindeki konum.
-
text (metin)
dize
Ayarlanacak metin
-
İadeler
-
Promise<boolean>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında, metnin kabul edilip edilmediğini belirten bir boole değeriyle çözümlenir. Başarısız olursa promise reddedilir.
setCursorPosition()
browser.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
İmlecin konumunu aday penceresinde ayarlayın. Bu uzantı, etkin IME'ye sahip değilse bu işlem yapılmaz.
Parametreler
-
parametreler
nesne
-
candidateID
sayı
Seçilecek adayın kimliği.
-
contextID
sayı
Aday penceresinin sahibi olan bağlamın kimliği.
-
İadeler
-
Promise<boolean>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında çözümlenir
setMenuItems()
browser.input.ime.setMenuItems(
parameters: MenuParameters,
): Promise<void>
Bu IME etkin olduğunda, sağlanan menü öğelerini dil menüsüne ekler.
Parametreler
-
parametreler
İadeler
-
Promise<void>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*
updateMenuItems()
browser.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
Belirtilen MenuItems'ın durumunu günceller.
Parametreler
-
parametreler
İadeler
-
Promise<void>
Chrome 111 ve sonraki sürümler Chrome 148'den itibaren browser.*İşlem tamamlandığında çözümlenir
Etkinlikler
onActivate
browser.input.ime.onActivate.addListener(
callback: function,
)
Bu etkinlik, bir IME etkinleştirildiğinde gönderilir. IME'nin onKeyPress etkinliklerini alacağını belirtir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(engineID: string, screen: ScreenType) => void
-
engineID
dize
-
ekran
-
onAssistiveWindowButtonClicked
browser.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
Bu etkinlik, yardımcı penceredeki bir düğme tıklandığında gönderilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
buttonID
Tıklanan düğmenin kimliği.
-
windowType
Yardımcı pencerenin türü.
-
-
onBlur
browser.input.ime.onBlur.addListener(
callback: function,
)
Bu etkinlik, odak bir metin kutusundan ayrıldığında gönderilir. Bu etkinlik, bu etkinliği dinleyen ve kullanıcı tarafından etkinleştirilen tüm uzantılara gönderilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(contextID: number) => void
-
contextID
sayı
-
onCandidateClicked
browser.input.ime.onCandidateClicked.addListener(
callback: function,
)
Bu etkinlik, etkin IME bu uzantıya aitse gönderilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(engineID: string, candidateID: number, button: MouseButton) => void
-
engineID
dize
-
candidateID
sayı
-
düğme
-
onDeactivated
browser.input.ime.onDeactivated.addListener(
callback: function,
)
Bu etkinlik, bir IME devre dışı bırakıldığında gönderilir. IME'nin artık onKeyPress etkinliklerini almayacağını belirtir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(engineID: string) => void
-
engineID
dize
-
onFocus
browser.input.ime.onFocus.addListener(
callback: function,
)
Bu etkinlik, odak bir metin kutusuna girdiğinde gönderilir. Bu etkinlik, bu etkinliği dinleyen ve kullanıcı tarafından etkinleştirilen tüm uzantılara gönderilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(context: InputContext) => void
-
bağlam
-
onInputContextUpdate
browser.input.ime.onInputContextUpdate.addListener(
callback: function,
)
Bu etkinlik, mevcut InputContext'in özellikleri (ör. tür) değiştiğinde gönderilir. Bu etkinlik, bu etkinliği dinleyen ve kullanıcı tarafından etkinleştirilen tüm uzantılara gönderilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(context: InputContext) => void
-
bağlam
-
onKeyEvent
browser.input.ime.onKeyEvent.addListener(
callback: function,
)
İşletim sisteminden bir tuş etkinliği gönderildiğinde tetiklenir. Etkin IME'nin sahibi bu uzantıysa etkinlik uzantıya gönderilir. İşleyici işlevi, etkinlik işlendiyse true (doğru), işlenmediyse false (yanlış) değerini döndürmelidir. Etkinlik eşzamansız olarak değerlendirilecekse bu işlev tanımsız değerini döndürmeli ve IME daha sonra sonuçla birlikte keyEventHandled() işlevini çağırmalıdır.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
dize
-
keyData
-
requestId
dize
-
returns
boolean | undefined
-
onMenuItemActivated
browser.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Kullanıcı bir menü öğesi seçtiğinde çağrılır.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(engineID: string, name: string) => void
-
engineID
dize
-
ad
dize
-
onReset
browser.input.ime.onReset.addListener(
callback: function,
)
Bu etkinlik, Chrome devam eden metin girişi oturumunu sonlandırdığında gönderilir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(engineID: string) => void
-
engineID
dize
-
onSurroundingTextChanged
browser.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
İmlecin etrafındaki düzenlenebilir dize değiştirildiğinde veya imleç konumu taşındığında çağrılır. Metin uzunluğu, her iki yönde de 100 karakterle sınırlıdır.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(engineID: string, surroundingInfo: object) => void
-
engineID
dize
-
surroundingInfo
nesne
-
anchor
sayı
Seçimin başlangıç konumu. Bu değer, seçim yoksa imleç konumunu gösterir.
-
odaklanma
sayı
Seçimin bitiş konumu. Bu değer, seçim yoksa imleç konumunu gösterir.
-
telafi etmek
sayı
Chrome 46 ve sonraki sürümler Chrome 148'den itibaren browser.*textöğesinin ofset konumu.text, imlecin etrafındaki metnin yalnızca bir alt kümesini içerdiğinden, ofsettext'nin ilk karakterinin mutlak konumunu gösterir. -
text (metin)
dize
İmlecin etrafındaki metin. Bu, giriş alanındaki tüm metnin yalnızca bir alt kümesidir.
-
-