Deskripsi
Gunakan chrome.input.ime
API untuk menerapkan IME kustom untuk Chrome OS. Hal ini memungkinkan ekstensi Anda menangani penekanan tombol, mengatur komposisi, dan mengelola jendela kandidat.
Izin
input
Anda harus mendeklarasikan "input" izin di manifes ekstensi untuk menggunakan input.ime API. Contoh:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Ketersediaan
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 bantuan.
Enum
"urungkan"
"addToDictionary"
AssistiveWindowProperties
Properti jendela asistif.
Properti
-
announceString
string opsional
String yang akan diumumkan oleh ChromeVox.
-
jenis
"urungkan"
-
terlihat
boolean
Menetapkan nilai benar untuk menampilkan AssistiveWindow, menetapkan nilai salah untuk disembunyikan.
AssistiveWindowType
Jenis jendela asistif.
Nilai
"urungkan"
AutoCapitalizeType
Jenis huruf besar otomatis untuk kolom teks.
Enum
"karakter"
"kata"
"kalimat"
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 ingin dikoreksi 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 ingin memeriksa ejaan.
-
jenis
Jenis nilai yang diedit kolom teks ini, (Teks, Angka, URL, dll.)
InputContextType
Jenis nilai yang diedit kolom teks ini, (Teks, Angka, URL, dll.)
Enum
"teks"
"penelusuran"
"tel"
"url"
"email"
"nomor"
"sandi"
"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 ini 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 utama ini.
-
kunci
string
Nilai tombol yang ditekan
-
keyCode
angka opsional
Kode tombol 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.
-
jenis
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 bahwa 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 antar-pemisah dianggap dikelompokkan.
Enum
"check"
"radio"
"pemisah"
MenuParameters
Properti
-
engineID
string
ID mesin yang akan digunakan.
-
item
MenuItem[]
MenuItem yang akan ditambahkan atau diperbarui. Mereka akan ditambahkan sesuai urutannya dalam array.
MouseButton
Tombol mouse mana yang diklik.
Enum
"left"
"tengah"
"kanan"
ScreenType
Jenis layar tempat IME diaktifkan.
Enum
"normal"
"login"
"kunci"
"secondary-login"
UnderlineStyle
Jenis garis bawah untuk mengubah segmen ini.
Enum
"garis bawah"
"doubleUnderline"
"noUnderline"
WindowPosition
Tempat menampilkan jendela kandidat. Jika disetel ke 'kursor', jendela akan mengikuti kursor. Jika disetel ke 'komposisi', jendela akan dikunci ke awal komposisi.
Enum
"kursor"
"komposisi"
Metode
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
callback?: function,
)
Hapus komposisi saat ini. Jika ekstensi ini tidak memiliki IME aktif, proses ini akan gagal.
Parameter
-
parameter
objek
-
contextID
angka
ID konteks tempat komposisi akan dihapus
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
commitText()
chrome.input.ime.commitText(
parameters: object,
callback?: function,
)
Meng-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 ini:(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. Tujuan promise yang di-resolve dengan jenis yang sama dengan 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.
-
panjang
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 ini:() => void
Hasil
-
Janji<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. Tujuan promise yang di-resolve dengan jenis yang sama dengan 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 tombol yang diterima oleh onKeyEvent ditangani. Fungsi ini hanya boleh dipanggil jika pemroses onKeyEvent asinkron.
Parameter
-
requestId
string
ID permintaan peristiwa yang ditangani. Ini harus berasal dari keyEvent.requestId
-
respons
boolean
True jika tombol ditangani, false jika tidak
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
callback?: function,
)
Mengirim peristiwa utama. Fungsi ini diharapkan akan digunakan oleh keyboard virtual. Ketika 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 ini:() => void
Hasil
-
Janji<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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
callback?: function,
)
Menyoroti/Membatalkan sorotan tombol di jendela bantuan.
Parameter
-
parameter
objek
-
announceString
string opsional
Teks untuk dibacakan oleh pembaca layar.
-
buttonID
ID tombol
-
contextID
angka
ID konteks yang memiliki jendela bantuan.
-
disorot
boolean
Apakah tombol akan disorot.
-
windowType
"urungkan"
Jenis jendela tempat tombol berada.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
callback?: function,
)
Menampilkan/Menyembunyikan jendela bantuan dengan properti yang diberikan.
Parameter
-
parameter
objek
-
contextID
angka
ID konteks yang memiliki jendela bantuan.
-
properti
Properti jendela asistif.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
callback?: function,
)
Menetapkan daftar kandidat saat ini. Tindakan ini akan gagal jika ekstensi ini tidak memiliki IME aktif
Parameter
-
parameter
objek
-
kandidat
object[]
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 melalui tombol pintasan atau indeks
-
parentId
angka opsional
ID untuk menambahkan kandidat ini pada
-
penggunaan
objek opsional
Deskripsi penggunaan atau detail kata.
-
body
string
String isi deskripsi detail.
-
judul
string
String judul dari deskripsi detail.
-
-
-
contextID
angka
ID konteks yang memiliki jendela kandidat.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
callback?: function,
)
Menetapkan properti jendela kandidat. Tindakan ini akan gagal jika ekstensi tidak memiliki IME yang aktif
Parameter
-
parameter
objek
-
engineID
string
ID mesin untuk menetapkan 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
angka opsional
Chrome 84 dan yang lebih baruIndeks kandidat yang dipilih saat ini dari total kandidat.
-
cursorVisible
boolean opsional
True untuk menampilkan kursor, false untuk menyembunyikannya.
-
pageSize
angka opsional
Jumlah kandidat yang akan ditampilkan per halaman.
-
totalCandidates
angka opsional
Chrome 84 dan yang lebih baruJumlah total kandidat untuk jendela kandidat.
-
vertikal
boolean opsional
True jika jendela kandidat harus dirender secara vertikal, false untuk membuatnya horizontal.
-
terlihat
boolean opsional
True untuk menampilkan jendela Kandidat, false untuk menyembunyikannya.
-
windowPosition
WindowPosition opsional
Tempat menampilkan jendela kandidat.
-
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
setComposition()
chrome.input.ime.setComposition(
parameters: object,
callback?: function,
)
Menyetel komposisi saat ini. Jika ekstensi ini tidak memiliki IME aktif, proses ini akan gagal.
Parameter
-
parameter
objek
-
contextID
angka
ID konteks tempat teks komposisi akan ditetapkan
-
cursor
angka
Posisi dalam teks kursor.
-
serupa
object[] opsional
Daftar segmen dan jenis terkaitnya.
-
end
angka
Indeks karakter yang akan diakhiri segmen ini.
-
mulai
angka
Indeks karakter untuk memulai segmen ini
-
gaya
Jenis garis bawah untuk mengubah segmen ini.
-
-
selectionEnd
angka opsional
Posisi dalam teks tempat pilihan berakhir.
-
selectionStart
angka opsional
Posisi dalam teks tempat pemilihan dimulai.
-
teks
string
Teks untuk ditetapkan
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
callback?: function,
)
Tetapkan posisi kursor di jendela kandidat. Hal ini tidak dapat dijalankan 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 ini:(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. Tujuan promise yang di-resolve dengan jenis yang sama dengan 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 ini:() => void
Hasil
-
Janji<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. Tujuan promise yang di-resolve dengan jenis yang sama dengan 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 ini:() => void
Hasil
-
Janji<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. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.
Acara
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
Peristiwa ini dikirim saat IME diaktifkan. Ini menandakan bahwa IME akan menerima peristiwa onKeyPress.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(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 ini:(details: object) => void
-
detail
objek
-
buttonID
ID tombol 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 ini:(contextID: number) => void
-
contextID
angka
-
onCandidateClicked
chrome.input.ime.onCandidateClicked.addListener(
callback: function,
)
Peristiwa ini dikirim jika ekstensi ini memiliki IME yang aktif.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(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. Ini menandakan bahwa IME tidak akan lagi menerima peristiwa onKeyPress.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(engineID: string) => void
-
engineID
string
-
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
Acara ini dikirim saat fokus masuk ke kotak teks. Notifikasi ini dikirim ke semua ekstensi yang memproses peristiwa ini, dan diaktifkan oleh pengguna.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(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 ini:(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 yang aktif. Fungsi pemroses akan menampilkan true (benar) jika peristiwa ditangani salah (false) jika tidak. Jika peristiwa akan dievaluasi secara asinkron, fungsi ini harus menampilkan hasil yang tidak ditentukan dan IME kemudian harus memanggil keyEventHandled() dengan hasilnya.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(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 ini:(engineID: string, name: string) => void
-
engineID
string
-
nama
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 ini:(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 ini:(engineID: string, surroundingInfo: object) => void
-
engineID
string
-
surroundingInfo
objek
-
anchor
angka
Posisi awal pilihan. Nilai ini menunjukkan posisi {i>caret<i} jika tidak ada pilihan.
-
fokus
angka
Posisi akhir pilihan. Nilai ini menunjukkan posisi {i>caret<i} jika tidak ada pilihan.
-
offset
angka
Chrome 46 dan yang lebih baruPosisi offset
text
. Karenatext
hanya menyertakan subset teks di sekitar kursor, offset menunjukkan posisi absolut karakter pertamatext
. -
teks
string
Teks di sekitar kursor. Ini hanyalah sebagian dari semua teks di kolom input.
-
-