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
ID tombol di jendela asistif.
Enum
"addToDictionary"
AssistiveWindowProperties
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
Jenis jendela asistif.
Nilai
AutoCapitalizeType
Jenis huruf besar otomatis untuk kolom teks.
Enum
"characters"
InputContext
Menjelaskan Konteks input
Properti
-
autoCapitalizeChrome 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 baruApakah teks yang dimasukkan ke kolom teks harus digunakan untuk meningkatkan saran pengetikan bagi pengguna.
-
spellCheck
boolean
Apakah kolom teks menginginkan pemeriksaan ejaan.
-
tipe
Jenis nilai yang diedit oleh kolom teks ini, (Teks, Angka, URL, dll.)
InputContextType
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 baruApakah 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 peristiwaonKeyEvent
. -
shiftKey
boolean opsional
Apakah tombol SHIFT ditekan atau tidak.
-
tipe
Salah satu dari {i>keyup<i} atau {i>keydown<i}.
KeyboardEventType
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
Jenis item menu. Tombol pilihan di antara pemisah dianggap dikelompokkan.
Enum
"radio"
MenuParameters
Properti
-
engineID
string
ID mesin yang akan digunakan.
-
items
MenuItem[]
MenuItems untuk ditambahkan atau diperbarui. Mereka akan ditambahkan sesuai urutan yang ada dalam array.
MouseButton
Tombol mouse mana yang diklik.
Enum
ScreenType
Jenis layar tempat IME diaktifkan.
Enum
"normal"
"login"
"secondary-login"
UnderlineStyle
Jenis garis bawah untuk mengubah segmen ini.
Enum
"doubleUnderline"
"noUnderline"
WindowPosition
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()
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 baruPromise 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()
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 baruPromise 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()
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 baruPromise 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()
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 baruPromise 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()
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.
-
buttonID
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 baruPromise 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()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
callback?: function,
)
Menampilkan/Menyembunyikan jendela asistif dengan properti tertentu.
Parameter
-
parameter
objek
-
contextID
angka
ID konteks yang memiliki jendela asistif.
-
properti
Properti jendela asistif.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(success: boolean) => void
-
berhasil
boolean
-
Hasil
-
Promise<boolean>
Chrome 111 dan yang lebih baruPromise 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()
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 baruPromise 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()
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 baruIndeks 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 baruJumlah 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 baruPromise 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()
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
-
gaya
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 baruPromise 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()
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 baruPromise 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()
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 baruPromise 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()
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 baruPromise 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.
Acara
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
-
engineID
string
-
layar
-
onAssistiveWindowButtonClicked
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
Peristiwa ini dikirim saat tombol di jendela bantuan diklik.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
buttonID
ID tombol yang diklik.
-
windowType
Jenis jendela asistif.
-
-
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
-
engineID
string
-
candidateID
angka
-
tombol
-
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
-
callback
fungsi
Parameter
callback
terlihat seperti:(context: InputContext) => void
-
context
-
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
-
callback
fungsi
Parameter
callback
terlihat seperti:(context: InputContext) => void
-
context
-
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
-
engineID
string
-
keyData
-
requestId
string
-
akan menampilkan
boolean | tidak ditentukan
-
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
. Karenatext
hanya menyertakan subset teks di sekitar kursor, offset menunjukkan posisi absolut dari karakter pertamatext
. -
teks
string
Teks di sekitar kursor. Ini hanya subset dari semua teks di kolom input.
-
-