chrome.input.ime

Deskripsi

Gunakan chrome.input.ime API untuk menerapkan IME kustom untuk Chrome OS. Hal ini memungkinkan ekstensi Anda menangani penekanan tombol, menyetel komposisi, dan mengelola jendela kandidat.

Izin

input

Anda harus menyatakan izin "input" dalam manifes ekstensi untuk menggunakan API input.ime. Contoh:

{
  "name": "My extension",
  ...
  "permissions": [
    "input"
  ],
  ...
}

Contoh

Kode berikut membuat IME yang mengonversi huruf yang diketik menjadi huruf besar.

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;
    }
  }
);

Jenis

AssistiveWindowButton

Chrome 85 dan yang lebih baru

ID tombol di jendela asistif.

Enum

"addToDictionary"

AssistiveWindowProperties

Chrome 85 dan yang lebih baru

Properti jendela asistif.

Properti

  • announceString

    string opsional

    String untuk diumumkan oleh ChromeVox.

  • tipe

  • terlihat

    boolean

    Menetapkan true (benar) untuk menampilkan AssistiveWindow, menyetel false (salah) untuk disembunyikan.

AssistiveWindowType

Chrome 85 dan yang lebih baru

Jenis jendela asistif.

Nilai

AutoCapitalizeType

Chrome 69 dan yang lebih baru

Jenis huruf besar otomatis untuk kolom teks.

Enum

"characters"

InputContext

Menjelaskan Konteks input

Properti

  • autoCapitalize
    Chrome 69 dan yang lebih baru

    Jenis huruf besar otomatis untuk kolom teks.

  • autoComplete

    boolean

    Apakah kolom teks menginginkan pelengkapan otomatis.

  • autoCorrect

    boolean

    Apakah kolom teks menginginkan koreksi otomatis.

  • contextID

    angka

    Fungsi ini digunakan untuk menentukan target operasi kolom teks. ID ini menjadi tidak valid segera setelah onBlur dipanggil.

  • shouldDoLearning

    boolean

    Chrome 68 dan yang lebih baru

    Apakah teks yang dimasukkan ke kolom teks harus digunakan untuk meningkatkan saran pengetikan bagi pengguna.

  • spellCheck

    boolean

    Apakah kolom teks menginginkan pemeriksaan ejaan.

  • Jenis nilai yang diedit oleh kolom teks ini, (Teks, Angka, URL, dll.)

InputContextType

Chrome 44+

Jenis nilai yang diedit oleh kolom teks ini, (Teks, Angka, URL, dll.)

Enum

"tel"

"url"

"email"

"null"

KeyboardEvent

Lihat http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent

Properti

  • altKey

    boolean opsional

    Apakah tombol ALT ditekan atau tidak.

  • altgrKey

    boolean opsional

    Chrome 79 dan yang lebih baru

    Apakah tombol ALTGR ditekan atau tidak.

  • capsLock

    boolean opsional

    Apakah CAPS_LOCK diaktifkan atau tidak.

  • kode

    string

    Nilai tombol fisik yang ditekan. Nilai tidak terpengaruh oleh tata letak keyboard atau status pengubah saat ini.

  • ctrlKey

    boolean opsional

    Apakah tombol CTRL ditekan atau tidak.

  • extensionId

    string opsional

    ID ekstensi pengirim peristiwa tombol ini.

  • kunci

    string

    Nilai tombol yang ditekan

  • keyCode

    nomor opsional

    KeyCode HTML yang tidak digunakan lagi, yang merupakan kode numerik yang bergantung pada sistem dan implementasi, menandakan ID yang tidak dimodifikasi yang terkait dengan tombol yang ditekan.

  • requestId

    string opsional

    (Tidak digunakan lagi) ID permintaan. Sebagai gantinya, gunakan parameter requestId dari peristiwa onKeyEvent.

  • shiftKey

    boolean opsional

    Apakah tombol SHIFT ditekan atau tidak.

  • Salah satu dari {i>keyup<i} atau {i>keydown<i}.

KeyboardEventType

Chrome 44+

Enum

"keyup"

"keydown"

MenuItem

Item menu yang digunakan oleh metode input untuk berinteraksi dengan pengguna dari menu bahasa.

Properti

  • dicentang

    boolean opsional

    Menunjukkan item ini harus digambar dengan tanda centang.

  • diaktifkan

    boolean opsional

    Menunjukkan bahwa item ini diaktifkan.

  • id

    string

    String yang akan diteruskan ke callback yang merujuk pada MenuItem ini.

  • label

    string opsional

    Teks yang ditampilkan di menu untuk item ini.

  • gaya

    MenuItemStyle opsional

    Jenis item menu.

  • terlihat

    boolean opsional

    Menunjukkan bahwa item ini terlihat.

MenuItemStyle

Chrome 44+

Jenis item menu. Tombol pilihan di antara pemisah dianggap dikelompokkan.

Enum

"radio"

MenuParameters

Chrome 88 dan yang lebih baru

Properti

  • engineID

    string

    ID mesin yang akan digunakan.

  • items

    MenuItems untuk ditambahkan atau diperbarui. Mereka akan ditambahkan sesuai urutan yang ada dalam array.

MouseButton

Chrome 44+

Tombol mouse mana yang diklik.

Enum

ScreenType

Chrome 44+

Jenis layar tempat IME diaktifkan.

Enum

"normal"

"login"

"secondary-login"

UnderlineStyle

Chrome 44+

Jenis garis bawah untuk mengubah segmen ini.

Enum

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44+

Tempat menampilkan jendela kandidat. Jika ditetapkan ke 'kursor', jendela akan mengikuti kursor. Jika disetel ke 'komposisi', jendela akan dikunci ke awal komposisi.

Enum

Metode

clearComposition()

Promise
chrome.input.ime.clearComposition(
  parameters: object,
  callback?: function,
)

Hapus komposisi saat ini. Jika ekstensi ini tidak memiliki IME aktif, ekstensi ini akan gagal.

Parameter

  • parameter

    objek

    • contextID

      angka

      ID konteks tempat komposisi akan dihapus

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (success: boolean)=>void

    • berhasil

      boolean

Hasil

  • Promise<boolean>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

commitText()

Promise
chrome.input.ime.commitText(
  parameters: object,
  callback?: function,
)

Melakukan commit teks yang disediakan ke input saat ini.

Parameter

  • parameter

    objek

    • contextID

      angka

      ID konteks tempat teks akan di-commit

    • teks

      string

      Teks yang akan di-commit

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (success: boolean)=>void

    • berhasil

      boolean

Hasil

  • Promise<boolean>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

deleteSurroundingText()

Promise
chrome.input.ime.deleteSurroundingText(
  parameters: object,
  callback?: function,
)

Menghapus teks di sekitar tanda sisipan.

Parameter

  • parameter

    objek

    • contextID

      angka

      ID konteks tempat teks di sekitarnya akan dihapus.

    • engineID

      string

      ID mesin yang menerima peristiwa.

    • length

      angka

      Jumlah karakter yang akan dihapus

    • offset

      angka

      Offset dari posisi tanda sisipan tempat penghapusan akan dimulai. Nilai ini bisa negatif.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

hideInputView()

chrome.input.ime.hideInputView()

Menyembunyikan jendela tampilan input, yang muncul secara otomatis oleh sistem. Jika jendela tampilan input sudah disembunyikan, fungsi ini tidak akan melakukan apa pun.

keyEventHandled()

chrome.input.ime.keyEventHandled(
  requestId: string,
  response: boolean,
)

Menunjukkan bahwa peristiwa utama yang diterima oleh onKeyEvent ditangani. Ini hanya boleh dipanggil jika pemroses onKeyEvent asinkron.

Parameter

  • requestId

    string

    ID permintaan peristiwa yang ditangani. ID ini harus berasal dari keyEvent.requestId

  • respons

    boolean

    Benar jika penekanan tombol ditangani, salah jika tidak

sendKeyEvents()

Promise
chrome.input.ime.sendKeyEvents(
  parameters: object,
  callback?: function,
)

Mengirim peristiwa utama. Fungsi ini diharapkan akan digunakan oleh keyboard virtual. Saat tombol pada keyboard virtual ditekan oleh pengguna, fungsi ini digunakan untuk menyebarkan peristiwa tersebut ke sistem.

Parameter

  • parameter

    objek

    • contextID

      angka

      ID konteks tempat peristiwa utama akan dikirim, atau nol untuk mengirim peristiwa tombol ke kolom non-input.

    • keyData

      Data tentang peristiwa utama.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

setAssistiveWindowButtonHighlighted()

Promise Chrome 86+
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
  callback?: function,
)

Menyoroti/Membatalkan penyorotan tombol di jendela asistif.

Parameter

  • parameter

    objek

    • announceString

      string opsional

      Teks untuk diumumkan oleh pembaca layar.

    • ID tombol

    • contextID

      angka

      ID konteks yang memiliki jendela asistif.

    • disorot

      boolean

      Apakah tombol harus ditandai.

    • windowType

      Jenis jendela yang memiliki tombol.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

setAssistiveWindowProperties()

Promise Chrome 85+
chrome.input.ime.setAssistiveWindowProperties(
  parameters: object,
  callback?: function,
)

Menampilkan/Menyembunyikan jendela asistif dengan properti tertentu.

Parameter

  • parameter

    objek

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (success: boolean)=>void

    • berhasil

      boolean

Hasil

  • Promise<boolean>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

setCandidates()

Promise
chrome.input.ime.setCandidates(
  parameters: object,
  callback?: function,
)

Menetapkan daftar kandidat saat ini. IME gagal jika ekstensi ini tidak memiliki IME aktif

Parameter

  • parameter

    objek

    • kandidat

      objek[]

      Daftar kandidat yang akan ditampilkan di jendela kandidat

      • annotation

        string opsional

        Teks tambahan yang menjelaskan kandidat

      • kandidat

        string

        Kandidat

      • id

        angka

        ID kandidat

      • label

        string opsional

        String pendek yang ditampilkan di samping kandidat, sering kali berupa tombol pintasan atau indeks

      • parentId

        nomor opsional

        ID untuk menambahkan kandidat ini di

      • penggunaan

        objek opsional

        Penggunaan atau deskripsi detail kata.

        • body

          string

          String isi deskripsi detail.

        • title

          string

          String judul deskripsi detail.

    • contextID

      angka

      ID konteks yang memiliki jendela kandidat.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (success: boolean)=>void

    • berhasil

      boolean

Hasil

  • Promise<boolean>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

setCandidateWindowProperties()

Promise
chrome.input.ime.setCandidateWindowProperties(
  parameters: object,
  callback?: function,
)

Menetapkan properti jendela kandidat. Metode ini gagal jika ekstensi tidak memiliki IME aktif

Parameter

  • parameter

    objek

    • engineID

      string

      ID mesin untuk menyetel properti.

    • properti

      objek

      • auxiliaryText

        string opsional

        Teks yang ditampilkan di bagian bawah jendela kandidat.

      • auxiliaryTextVisible

        boolean opsional

        True untuk menampilkan teks tambahan, false untuk menyembunyikannya.

      • currentCandidateIndex

        nomor opsional

        Chrome 84 dan yang lebih baru

        Indeks kandidat yang dipilih saat ini dari total kandidat.

      • cursorVisible

        boolean opsional

        Benar untuk menampilkan kursor, salah untuk menyembunyikannya.

      • pageSize

        nomor opsional

        Jumlah kandidat yang akan ditampilkan per halaman.

      • totalCandidates

        nomor opsional

        Chrome 84 dan yang lebih baru

        Jumlah total kandidat untuk jendela kandidat.

      • vertikal

        boolean opsional

        True jika jendela kandidat harus dirender vertikal, false untuk membuatnya horizontal.

      • terlihat

        boolean opsional

        True untuk menampilkan jendela Candidate, false untuk menyembunyikannya.

      • windowPosition

        WindowPosition opsional

        Tempat menampilkan jendela kandidat.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (success: boolean)=>void

    • berhasil

      boolean

Hasil

  • Promise<boolean>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

setComposition()

Promise
chrome.input.ime.setComposition(
  parameters: object,
  callback?: function,
)

Menyetel komposisi saat ini. Jika ekstensi ini tidak memiliki IME aktif, ekstensi ini akan gagal.

Parameter

  • parameter

    objek

    • contextID

      angka

      ID konteks tempat teks komposisi akan disetel

    • cursor

      angka

      Posisikan dalam teks kursor.

    • serupa

      object[] opsional

      Daftar segmen dan jenisnya yang terkait.

      • selesai

        angka

        Indeks karakter yang akan mengakhiri segmen ini setelahnya.

      • mulai

        angka

        Indeks karakter untuk memulai segmen ini

      • Jenis garis bawah untuk mengubah segmen ini.

    • selectionEnd

      nomor opsional

      Posisikan dalam teks tempat pilihan berakhir.

    • selectionStart

      nomor opsional

      Posisikan dalam teks tempat pemilihan dimulai.

    • teks

      string

      Teks untuk ditetapkan

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (success: boolean)=>void

    • berhasil

      boolean

Hasil

  • Promise<boolean>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

setCursorPosition()

Promise
chrome.input.ime.setCursorPosition(
  parameters: object,
  callback?: function,
)

Tetapkan posisi kursor di jendela kandidat. Ini adalah tanpa pengoperasian jika ekstensi ini tidak memiliki IME aktif.

Parameter

  • parameter

    objek

    • candidateID

      angka

      ID kandidat yang akan dipilih.

    • contextID

      angka

      ID konteks yang memiliki jendela kandidat.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (success: boolean)=>void

    • berhasil

      boolean

Hasil

  • Promise<boolean>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

setMenuItems()

Promise
chrome.input.ime.setMenuItems(
  parameters: MenuParameters,
  callback?: function,
)

Menambahkan item menu yang disediakan ke menu bahasa saat IME ini aktif.

Parameter

  • parameter
  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

updateMenuItems()

Promise
chrome.input.ime.updateMenuItems(
  parameters: MenuParameters,
  callback?: function,
)

Memperbarui status MenuItems yang ditentukan

Parameter

  • parameter
  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Chrome 111 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

Peristiwa

onActivate

chrome.input.ime.onActivate.addListener(
  callback: function,
)

Peristiwa ini dikirim saat IME diaktifkan. Hal ini menandakan bahwa IME akan menerima peristiwa onKeyPress.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (engineID: string,screen: ScreenType)=>void

onAssistiveWindowButtonClicked

Chrome 85 dan yang lebih baru
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
  callback: function,
)

Peristiwa ini dikirim saat tombol di jendela bantuan diklik.

Parameter

onBlur

chrome.input.ime.onBlur.addListener(
  callback: function,
)

Peristiwa ini dikirim saat fokus meninggalkan kotak teks. Notifikasi ini dikirim ke semua ekstensi yang memproses peristiwa ini, dan diaktifkan oleh pengguna.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (contextID: number)=>void

    • contextID

      angka

onCandidateClicked

chrome.input.ime.onCandidateClicked.addListener(
  callback: function,
)

Peristiwa ini dikirim jika ekstensi ini memiliki IME aktif.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (engineID: string,candidateID: number,button: MouseButton)=>void

onDeactivated

chrome.input.ime.onDeactivated.addListener(
  callback: function,
)

Peristiwa ini dikirim saat IME dinonaktifkan. Hal ini menandakan bahwa IME tidak akan lagi menerima peristiwa onKeyPress.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (engineID: string)=>void

    • engineID

      string

onFocus

chrome.input.ime.onFocus.addListener(
  callback: function,
)

Peristiwa ini dikirim saat fokus memasuki kotak teks. Notifikasi ini dikirim ke semua ekstensi yang memproses peristiwa ini, dan diaktifkan oleh pengguna.

Parameter

onInputContextUpdate

chrome.input.ime.onInputContextUpdate.addListener(
  callback: function,
)

Peristiwa ini dikirim saat properti InputContext saat ini berubah, seperti jenisnya. Notifikasi ini dikirim ke semua ekstensi yang memproses peristiwa ini, dan diaktifkan oleh pengguna.

Parameter

onKeyEvent

chrome.input.ime.onKeyEvent.addListener(
  callback: function,
)

Diaktifkan saat peristiwa tombol dikirim dari sistem operasi. Peristiwa akan dikirim ke ekstensi jika ekstensi ini memiliki IME aktif. Fungsi pemroses akan menampilkan nilai benar (true) jika peristiwa ditangani dengan salah (false) jika tidak ditangani. Jika peristiwa akan dievaluasi secara asinkron, fungsi ini harus menampilkan undefined dan IME nantinya harus memanggil keyEventHandled() dengan hasilnya.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (engineID: string,keyData: KeyboardEvent,requestId: string)=>boolean|undefined

    • akan menampilkan

      boolean|undefined

onMenuItemActivated

chrome.input.ime.onMenuItemActivated.addListener(
  callback: function,
)

Dipanggil saat pengguna memilih item menu

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (engineID: string,name: string)=>void

    • engineID

      string

    • name

      string

onReset

chrome.input.ime.onReset.addListener(
  callback: function,
)

Peristiwa ini dikirim saat Chrome menghentikan sesi input teks yang sedang berlangsung.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (engineID: string)=>void

    • engineID

      string

onSurroundingTextChanged

chrome.input.ime.onSurroundingTextChanged.addListener(
  callback: function,
)

Dipanggil saat string yang dapat diedit di sekitar tanda sisipan diubah atau saat posisi tanda sisipan dipindahkan. Panjang teks dibatasi hingga 100 karakter untuk setiap arah bolak-balik.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (engineID: string,surroundingInfo: object)=>void

    • engineID

      string

    • surroundingInfo

      objek

      • anchor

        angka

        Posisi awal pemilihan. Nilai ini menunjukkan posisi tanda sisipan jika tidak ada pilihan.

      • focus

        angka

        Posisi akhir pemilihan. Nilai ini menunjukkan posisi tanda sisipan jika tidak ada pilihan.

      • offset

        angka

        Chrome 46+

        Posisi offset text. Karena text hanya menyertakan subset teks di sekitar kursor, offset menunjukkan posisi absolut dari karakter pertama text.

      • teks

        string

        Teks di sekitar kursor. Ini hanya subset dari semua teks di kolom input.