chrome.input.ime

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

Yalnızca ChromeOS

Ö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

Chrome 85 ve sonraki sürümler

Yardımcı penceredeki düğmelerin kimliği.

Enum

"undo"

"addToDictionary"

AssistiveWindowProperties

Chrome 85 ve sonraki sürümler

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

Chrome 85 ve sonraki sürümler

Yardımcı pencere türü.

Değer

"undo"

AutoCapitalizeType

Chrome 69 ve sonraki sürümler

Metin alanının otomatik büyük harf türü.

Enum

"characters"

"words"

"sentences"

InputContext

Giriş bağlamını açıklar

Özellikler

  • autoCapitalize
    Chrome 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üm

    Metin 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.

  • Bu metin alanının düzenlediği değer türü (Metin, Sayı, URL vb.)

InputContextType

Chrome 44 veya daha yeni bir sürüm

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üm

    ALTGR 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ğindeki requestId parametresini kullanın.

  • shiftKey

    boolean isteğe bağlı

    SHIFT tuşuna basılıp basılmadığı.

  • keyup veya keydown'dan biri.

KeyboardEventType

Chrome 44 veya daha yeni bir sürüm

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

Chrome 44 veya daha yeni bir sürüm

Menü öğesinin türü. Ayırıcılar arasındaki radyo düğmeleri gruplandırılmış olarak kabul edilir.

Enum

"check"

"radio"

"separator"

MenuParameters

Chrome 88 ve sonraki sürümler

Özellikler

  • engineID

    dize

    Kullanılacak motorun kimliği.

  • items

    Eklenecek veya güncellenecek MenuItems. Dizideki sırayla eklenirler.

MouseButton

Chrome 44 veya daha yeni bir sürüm

Hangi fare düğmelerinin tıklandığı.

Enum

"left"

"middle"

"right"

ScreenType

Chrome 44 veya daha yeni bir sürüm

IME'nin etkinleştirildiği ekran türü.

Enum

"normal"

"login"

"lock"

"secondary-login"

UnderlineStyle

Chrome 44 veya daha yeni bir sürüm

Bu segmenti değiştirmek için kullanılacak alt çizgi türü.

Enum

"underline"

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44 veya daha yeni bir sürüm

Ö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 86 ve sonraki sürümler
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.

    • 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 85 ve sonraki sürümler
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.

    • 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

      • 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

İ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

İ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

onAssistiveWindowButtonClicked

Chrome 85 ve sonraki sürümler
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

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

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

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

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

    • 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üm

        text öğ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.