Açıklama
Chrome OS için özel bir IME uygulamak üzere chrome.input.ime
API'yi kullanın. Bu sayede uzantınız tuş vuruşlarını işleyebilir, kompozisyonu ayarlayabilir ve aday penceresini yönetebilir.
İzinler
input
input.ime API'yi kullanmak için uzantı manifestinde "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;
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;
}
}
);
Türler
AssistiveWindowButton
Yardımcı penceredeki düğmelerin kimliği.
Enum
"undo"
"addToDictionary"
AssistiveWindowProperties
Yardımcı pencerenin özellikleri.
Özellikler
-
announceString
dize isteğe bağlı
ChromeVox'un duyuracağı dizeler.
-
tür
"undo"
-
görünür
boolean
Yardımcı pencereyi göstermek için true, gizlemek için false olarak ayarlanır.
AssistiveWindowType
Yardımcı pencere türü.
Değer
"undo"
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
Metin alanının otomatik büyük harf türü.
-
autoComplete
boolean
Metin alanının otomatik tamamlama özelliğini kullanıp kullanmayacağı.
-
autoCorrect
boolean
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
boolean
Chrome 68 veya daha yeni bir sürümMetin alanına girilen metnin, kullanıcı için yazma önerilerini iyileştirmek amacıyla kullanılıp kullanılmayacağı.
-
spellCheck
boolean
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 adresini inceleyin.
Özellikler
-
altKey
boolean isteğe bağlı
ALT tuşuna basılıp basılmadığı.
-
altgrKey
boolean isteğe bağlı
Chrome 79 veya daha yeni bir sürümALTGR tuşuna basılıp basılmadığı.
-
capsLock
boolean isteğe bağlı
BÜYÜK HARF KİLİDİ'nin 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
boolean isteğe bağlı
CTRL tuşuna basılıp basılmadığı.
-
extensionId
dize isteğe bağlı
Bu keyevent'in göndereninin uzantı kimliği.
-
anahtar
dize
Basılan tuşun değeri
-
keyCode
number isteğe bağlı
keyCode, basılan tuşla ilişkili değiştirilmemiş tanımlayıcıyı ifade eden, sisteme ve uygulamaya bağlı sayısal kod olan, desteği sonlandırılmış HTML'dir.
-
requestId
dize isteğe bağlı
(Desteği sonlandırıldı) İsteğin kimliği. Bunun yerine
onKeyEvent
etkinliğindekirequestId
parametresini kullanın. -
shiftKey
boolean isteğe bağlı
SHIFT tuşuna basılıp basılmadığı.
-
keyup veya keydown'dan biri.
KeyboardEventType
Enum
"keyup"
"keydown"
MenuItem
Bir giriş yöntemi tarafından, dil menüsünden kullanıcıyla etkileşim kurmak için kullanılan menü öğesi.
Özellikler
-
işaretli
boolean isteğe bağlı
Bu öğenin onay işaretiyle çizilmesi gerektiğini belirtir.
-
etkin
boolean isteğe bağlı
Bu öğenin etkin olduğunu gösterir.
-
id
dize
Bu MenuItem'a referans veren geri çağırmalara iletilecek dize.
-
etiket
dize isteğe bağlı
Bu öğenin menüsünde gösterilen metin.
-
stil
MenuItemStyle isteğe bağlı
Menü öğesinin türü.
-
görünür
boolean 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 kullanılacak alt çizgi türü.
Enum
"underline"
"doubleUnderline"
"noUnderline"
WindowPosition
Öneri penceresinin nerede gösterileceği. "İmleç" olarak ayarlanırsa pencere imleci takip eder. "Beste" olarak ayarlanırsa pencere, bestenin başlangıcına kilitlenir.
Enum
"cursor"
"composition"
Yöntemler
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
): Promise<boolean>
Mevcut kompozisyonu temizler. Bu uzantı etkin IME'ye sahip değilse bu işlem başarısız olur.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Beste öğesinin temizleneceği bağlamın kimliği
-
İadeler
-
Promise<boolean>
Chrome 111 veya daha yeni bir sürüm
commitText()
chrome.input.ime.commitText(
parameters: object,
): Promise<boolean>
Sağlanan metni mevcut girişe uygular.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Metnin işleneceği bağlamın kimliği
-
text (metin)
dize
İşlenecek metin
-
İadeler
-
Promise<boolean>
Chrome 111 veya daha yeni bir sürüm
deleteSurroundingText()
chrome.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 motorun kimliği.
-
uzunluk
sayı
Silinecek karakter sayısı
-
telafi etmek
sayı
Silme işleminin başlayacağı, imleç konumundan itibaren olan fark. Bu değer negatif olabilir.
-
İadeler
-
Promise<void>
Chrome 111 veya daha yeni bir sürüm
hideInputView()
chrome.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 gizlenmişse bu işlev hiçbir işlem yapmaz.
keyEventHandled()
chrome.input.ime.keyEventHandled(
requestId: string,
response: boolean,
): void
onKeyEvent tarafından alınan önemli etkinliğin işlendiğini gösterir. Bu işlev yalnızca onKeyEvent işleyicisi eşzamansızsa çağrılmalıdır.
Parametreler
-
requestId
dize
İşlenen etkinliğin istek kimliği. Bu, keyEvent.requestId'den gelmelidir.
-
gönderin
boolean
Tuş vuruşu işlendiyse doğru, işlenmediyse yanlış değerini döndürür.
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
): Promise<void>
Önemli etkinlikleri gönderir. Bu işlevin sanal klavyeler tarafından kullanılması beklenir. Sanal klavyedeki tuşlara kullanıcı tarafından basıldığında bu işlev, söz konusu 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 veya daha yeni bir sürüm
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
Yardımcı penceredeki bir düğmeyi vurgular veya vurguyu kaldırır.
Parametreler
-
parametreler
nesne
-
announceString
dize isteğe bağlı
Ekran okuyucunun okuyacağı metin.
-
buttonID
Düğmenin kimliği
-
contextID
sayı
Yardımcı pencereye sahip olan bağlamın kimliği.
-
öne çıkarıldı
boolean
Düğmenin vurgulanıp vurgulanmayacağı.
-
windowType
"undo"
Düğmenin ait olduğu pencere türü.
-
İadeler
-
Promise<void>
Chrome 111 veya daha yeni bir sürüm
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
Belirli özelliklere sahip bir yardımcı pencereyi gösterir/gizler.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Yardımcı pencereye sahip olan bağlamın kimliği.
-
mülkler
Yardımcı pencerenin özellikleri.
-
İadeler
-
Promise<boolean>
Chrome 111 veya daha yeni bir sürüm
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
): Promise<boolean>
Geçerli öneri listesini ayarlar. Bu uzantı etkin IME'ye sahip 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
dize isteğe bağlı
Adayı açıklayan ek metin
-
aday
dize
Aday
-
id
sayı
Adayın kimliği
-
etiket
dize 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
object isteğe bağlı
Kelimenin kullanımı veya ayrıntılı açıklaması.
-
gövde
dize
Ayrıntılı açıklamanın gövde dizesi.
-
title
dize
Ayrıntı açıklamasının başlık dizesi.
-
-
-
contextID
sayı
Aday penceresinin sahibi olan bağlamın kimliği.
-
İadeler
-
Promise<boolean>
Chrome 111 veya daha yeni bir sürüm
setCandidateWindowProperties()
chrome.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
dize isteğe bağlı
Aday penceresinin alt kısmında gösterilen metin.
-
auxiliaryTextVisible
boolean isteğe bağlı
Yardımcı metni göstermek için true, gizlemek için false.
-
currentCandidateIndex
number isteğe bağlı
Chrome 84+Toplam adaylar arasından seçilen mevcut adayın indeksi.
-
cursorVisible
boolean isteğe bağlı
İmleci göstermek için doğru, gizlemek için yanlış.
-
pageSize
number isteğe bağlı
Sayfa başına görüntülenecek öneri sayısı.
-
totalCandidates
number isteğe bağlı
Chrome 84+Aday penceresindeki toplam aday sayısı.
-
dikey
boolean isteğe bağlı
Aday penceresinin dikey olarak oluşturulması gerekiyorsa doğru, yatay olarak oluşturulması gerekiyorsa yanlış.
-
görünür
boolean isteğe bağlı
Aday penceresini göstermek için doğru, gizlemek için yanlış.
-
windowPosition
WindowPosition isteğe bağlı
Öneri penceresinin nerede gösterileceği.
-
-
İadeler
-
Promise<boolean>
Chrome 111 veya daha yeni bir sürüm
setComposition()
chrome.input.ime.setComposition(
parameters: object,
): Promise<boolean>
Mevcut kompozisyonu ayarlayın. Bu uzantı etkin IME'ye sahip değilse bu işlem başarısız olur.
Parametreler
-
parametreler
nesne
-
contextID
sayı
Beste metninin ayarlanacağı bağlamın kimliği
-
imleç
sayı
İmlecin metindeki konumu.
-
segment
object[] isteğe bağlı
Segmentlerin ve bunlarla ilişkili türlerin listesi.
-
end
sayı
Bu segmentin sonunda yer alacak karakterin dizini.
-
start
sayı
Bu segmentin başlatılacağı karakterin dizini
-
stil
Bu segmenti değiştirmek için kullanılacak alt çizgi türü.
-
-
selectionEnd
number isteğe bağlı
Seçimin metinde bittiği konum.
-
selectionStart
number isteğe bağlı
Seçimin başladığı metindeki konum.
-
text (metin)
dize
Ayarlanacak metin
-
İadeler
-
Promise<boolean>
Chrome 111 veya daha yeni bir sürüm
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
Aday penceresinde imlecin konumunu 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 veya daha yeni bir sürüm
setMenuItems()
chrome.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 veya daha yeni bir sürüm
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
Belirtilen MenuItems'ın durumunu günceller.
Parametreler
-
parametreler
İadeler
-
Promise<void>
Chrome 111 veya daha yeni bir sürüm
Etkinlikler
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
Bu etkinlik, bir IME etkinleştirildiğinde gönderilir. Bu, IME'nin onKeyPress etkinliklerini alacağını belirtir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(engineID: string, screen: ScreenType) => void
-
engineID
dize
-
ekran
-
onAssistiveWindowButtonClicked
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
Bu etkinlik, yardımcı penceredeki bir düğme tıklandığında gönderilir.
Parametreler
-
callback
işlev
callback
parametresi ş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
chrome.input.ime.onBlur.addListener(
callback: function,
)
Bu etkinlik, odak bir metin kutusundan ayrıldığında gönderilir. Bu etkinlik dinleyen ve kullanıcı tarafından etkinleştirilen tüm uzantılara gönderilir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(contextID: number) => void
-
contextID
sayı
-
onCandidateClicked
chrome.input.ime.onCandidateClicked.addListener(
callback: function,
)
Bu uzantı etkin IME'nin sahibi olduğunda bu etkinlik gönderilir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(engineID: string, candidateID: number, button: MouseButton) => void
-
engineID
dize
-
candidateID
sayı
-
düğme
-
onDeactivated
chrome.input.ime.onDeactivated.addListener(
callback: function,
)
Bu etkinlik, bir IME devre dışı bırakıldığında gönderilir. Bu, IME'nin artık onKeyPress etkinlikleri almayacağını belirtir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(engineID: string) => void
-
engineID
dize
-
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
Bu etkinlik, odak bir metin kutusuna girdiğinde gönderilir. Bu etkinlik dinleyen ve kullanıcı tarafından etkinleştirilen tüm uzantılara gönderilir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(context: InputContext) => void
-
bağlam
-
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
Bu etkinlik, geçerli InputContext'in özellikleri (ör. tür) değiştiğinde gönderilir. Bu etkinlik dinleyen ve kullanıcı tarafından etkinleştirilen tüm uzantılara gönderilir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(context: InputContext) => void
-
bağlam
-
onKeyEvent
chrome.input.ime.onKeyEvent.addListener(
callback: function,
)
Önemli etkinlik işletim sisteminden gönderildiğinde tetiklenir. Bu uzantı etkin IME'nin sahibi ise etkinlik uzantıya gönderilir. İşleyici işlevi, etkinlik işlendiyse true, işlenmediyse false değerini döndürmelidir. Etkinlik eşzamansız olarak değerlendirilecekse bu işlev tanımlanmamış değerini döndürmeli ve IME daha sonra sonuçla birlikte keyEventHandled() işlevini çağırmalıdır.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
dize
-
keyData
-
requestId
dize
-
returns
boolean | undefined
-
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Kullanıcı bir menü öğesi seçtiğinde çağrılır.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(engineID: string, name: string) => void
-
engineID
dize
-
ad
dize
-
onReset
chrome.input.ime.onReset.addListener(
callback: function,
)
Bu etkinlik, Chrome devam eden metin girişi oturumunu sonlandırdığında gönderilir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(engineID: string) => void
-
engineID
dize
-
onSurroundingTextChanged
chrome.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
İmleç etrafındaki düzenlenebilir dize değiştirildiğinde veya imleç konumu taşındığında çağrılır. Metin uzunluğu, her ileri geri yön için 100 karakterle sınırlıdır.
Parametreler
-
callback
işlev
callback
parametresi ş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.
-
odak
sayı
Seçimin bitiş konumu. Bu değer, seçim yoksa imleç konumunu gösterir.
-
telafi etmek
sayı
Chrome 46 veya daha yeni bir sürümtext
öğesinin kaydırma konumu.text
yalnızca imlecin etrafındaki metnin bir alt kümesini içerdiğinden, kaydırma,text
'nın 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.
-
-