Deskripsi
Gunakan chrome.input.ime
API untuk menerapkan IME kustom untuk ChromeOS. Hal ini memungkinkan ekstensi Anda menangani penekanan tombol, menyetel komposisi, dan mengelola jendela kandidat.
Izin
input
Anda harus mendeklarasikan izin "input" 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 pendukung.
Enum
"urungkan"
"addToDictionary"
AssistiveWindowProperties
Properti jendela pendukung.
Properti
-
announceString
string opsional
String untuk diumumkan oleh ChromeVox.
-
jenis
"urungkan"
-
terlihat
boolean
Menetapkan nilai benar (true) untuk menampilkan AssistiveWindow, menetapkan nilai salah (false) untuk menyembunyikan.
AssistiveWindowType
Jenis jendela pendukung.
Nilai
"urungkan"
AutoCapitalizeType
Jenis huruf kapital otomatis pada kolom teks.
Enum
"karakter"
"kata"
"kalimat"
InputContext
Mendeskripsikan Konteks input
Properti
-
autoCapitalizeChrome 69+
Jenis huruf kapital otomatis pada kolom teks.
-
autoComplete
boolean
Apakah kolom teks menginginkan pelengkapan otomatis.
-
autoCorrect
boolean
Apakah kolom teks menginginkan koreksi otomatis.
-
contextID
angka
Digunakan untuk menentukan target operasi kolom teks. ID ini menjadi tidak valid segera setelah onBlur dipanggil.
-
shouldDoLearning
boolean
Chrome 68+Apakah teks yang dimasukkan ke dalam kolom teks harus digunakan untuk meningkatkan saran pengetikan bagi pengguna.
-
spellCheck
boolean
Apakah kolom teks menginginkan pemeriksaan ejaan.
-
jenis
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
"text"
"search"
"tel"
"url"
"email"
"number"
"password"
"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+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 saat ini atau status pengubah.
-
ctrlKey
boolean opsional
Apakah tombol CTRL ditekan atau tidak.
-
extensionId
string opsional
ID ekstensi pengirim keyevent 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 yang menandakan ID yang tidak dimodifikasi yang terkait dengan tombol yang ditekan.
-
requestId
string opsional
(Tidak digunakan lagi) ID permintaan. Gunakan parameter
requestId
dari peristiwaonKeyEvent
sebagai gantinya. -
shiftKey
boolean opsional
Apakah tombol SHIFT ditekan atau tidak.
-
jenis
Salah satu dari keyup atau keydown.
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 mereferensikan 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
"periksa"
"radio"
"separator"
MenuParameters
Properti
-
engineID
string
ID mesin yang akan digunakan.
-
item
MenuItem[]
MenuItem yang akan ditambahkan atau diperbarui. Item akan ditambahkan sesuai urutannya dalam array.
MouseButton
Tombol mouse mana yang diklik.
Enum
"kiri"
"middle"
"kanan"
ScreenType
Jenis layar tempat IME diaktifkan.
Enum
"normal"
"login"
"lock"
"secondary-login"
UnderlineStyle
Jenis garis bawah untuk mengubah segmen ini.
Enum
"underline"
"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,
): Promise<boolean>
Hapus komposisi saat ini. Jika ekstensi ini tidak memiliki IME aktif, hal ini akan gagal.
Parameter
-
parameter
objek
-
contextID
angka
ID konteks tempat komposisi akan dihapus
-
Hasil
-
Promise<boolean>
Chrome 111+
commitText()
chrome.input.ime.commitText(
parameters: object,
): Promise<boolean>
Menerapkan teks yang diberikan ke input saat ini.
Parameter
-
parameter
objek
-
contextID
angka
ID konteks tempat teks akan dilakukan
-
teks
string
Teks yang akan di-commit
-
Hasil
-
Promise<boolean>
Chrome 111+
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
): Promise<void>
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 kursor tempat penghapusan akan dimulai. Nilai ini bisa negatif.
-
Hasil
-
Promise<void>
Chrome 111+
hideInputView()
chrome.input.ime.hideInputView(): void
Menyembunyikan jendela tampilan input, yang dimunculkan 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,
): void
Menunjukkan bahwa peristiwa tombol yang diterima oleh onKeyEvent ditangani. Metode ini hanya boleh dipanggil jika pemroses onKeyEvent bersifat 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,
): Promise<void>
Mengirim peristiwa utama. Fungsi ini diharapkan digunakan oleh keyboard virtual. Saat tombol di 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 utama ke kolom non-input.
-
keyData
Data tentang peristiwa utama.
-
Hasil
-
Promise<void>
Chrome 111+
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
Menyoroti/Membatalkan sorotan tombol di jendela pendukung.
Parameter
-
parameter
objek
-
announceString
string opsional
Teks yang akan dibacakan oleh pembaca layar.
-
buttonID
ID tombol
-
contextID
angka
ID konteks yang memiliki jendela pendukung.
-
disorot
boolean
Apakah tombol harus ditandai.
-
windowType
"urungkan"
Jenis jendela tempat tombol berada.
-
Hasil
-
Promise<void>
Chrome 111+
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
Menampilkan/Menyembunyikan jendela pendukung dengan properti tertentu.
Parameter
-
parameter
objek
-
contextID
angka
ID konteks yang memiliki jendela pendukung.
-
properti
Properti jendela pendukung.
-
Hasil
-
Promise<boolean>
Chrome 111+
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
): Promise<boolean>
Menetapkan daftar kandidat saat ini. 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 mendeskripsikan 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
-
penggunaan
objek opsional
Penggunaan atau deskripsi mendetail kata.
-
body
string
String isi deskripsi detail.
-
judul
string
String judul deskripsi detail.
-
-
-
contextID
angka
ID konteks yang memiliki jendela kandidat.
-
Hasil
-
Promise<boolean>
Chrome 111+
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
): Promise<boolean>
Menetapkan properti jendela kandidat. Tindakan ini akan gagal jika ekstensi tidak memiliki IME 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
Benar untuk menampilkan teks tambahan, salah untuk menyembunyikannya.
-
currentCandidateIndex
nomor opsional
Chrome 84+Indeks kandidat yang saat ini dipilih dari total kandidat.
-
cursorVisible
boolean opsional
Benar untuk menampilkan kursor, salah untuk menyembunyikannya.
-
pageSize
nomor opsional
Jumlah kandidat yang ditampilkan per halaman.
-
totalCandidates
nomor opsional
Chrome 84+Jumlah total kandidat untuk jendela kandidat.
-
vertikal
boolean opsional
Benar jika jendela kandidat harus dirender vertikal, salah jika harus dirender horizontal.
-
terlihat
boolean opsional
Benar untuk menampilkan jendela Kandidat, salah untuk menyembunyikannya.
-
windowPosition
WindowPosition opsional
Tempat menampilkan jendela kandidat.
-
-
Hasil
-
Promise<boolean>
Chrome 111+
setComposition()
chrome.input.ime.setComposition(
parameters: object,
): Promise<boolean>
Menetapkan komposisi saat ini. Jika ekstensi ini tidak memiliki IME aktif, hal ini akan gagal.
Parameter
-
parameter
objek
-
contextID
angka
ID konteks tempat teks komposisi akan ditetapkan
-
cursor
angka
Posisi kursor dalam teks.
-
serupa
object[] opsional
Daftar segmen dan jenis terkaitnya.
-
end
angka
Indeks karakter untuk mengakhiri segmen ini setelahnya.
-
mulai
angka
Indeks karakter untuk memulai segmen ini
-
gaya
Jenis garis bawah untuk mengubah segmen ini.
-
-
selectionEnd
nomor opsional
Posisi dalam teks tempat pilihan berakhir.
-
selectionStart
nomor opsional
Posisi dalam teks tempat pemilihan dimulai.
-
teks
string
Teks yang akan disetel
-
Hasil
-
Promise<boolean>
Chrome 111+
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
Menetapkan posisi kursor di jendela kandidat. Ini adalah operasi no-op 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.
-
Hasil
-
Promise<boolean>
Chrome 111+
setMenuItems()
chrome.input.ime.setMenuItems(
parameters: MenuParameters,
): Promise<void>
Menambahkan item menu yang diberikan ke menu bahasa saat IME ini aktif.
Parameter
-
parameter
Hasil
-
Promise<void>
Chrome 111+
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
Memperbarui status MenuItems yang ditentukan
Parameter
-
parameter
Hasil
-
Promise<void>
Chrome 111+
Acara
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
Peristiwa ini dikirim saat IME diaktifkan. Sinyal ini menunjukkan 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 pendukung diklik.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
buttonID
ID tombol yang diklik.
-
windowType
Jenis jendela pendukung.
-
-
onBlur
chrome.input.ime.onBlur.addListener(
callback: function,
)
Peristiwa ini dikirim saat fokus keluar dari kotak teks. Pesan 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. Sinyal ini menunjukkan 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. Pesan ini dikirim ke semua ekstensi yang memproses peristiwa ini, dan diaktifkan oleh pengguna.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(context: InputContext) => void
-
konteks
-
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
Peristiwa ini dikirim saat properti InputContext saat ini berubah, seperti jenisnya. Pesan ini dikirim ke semua ekstensi yang memproses peristiwa ini, dan diaktifkan oleh pengguna.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(context: InputContext) => void
-
konteks
-
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 harus menampilkan nilai benar (true) jika peristiwa ditangani, dan nilai salah (false) jika tidak. Jika peristiwa akan dievaluasi secara asinkron, fungsi ini harus menampilkan nilai yang tidak ditentukan dan IME harus memanggil keyEventHandled() nanti dengan hasilnya.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
string
-
keyData
-
requestId
string
-
return
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 mengakhiri 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 pilihan. Nilai ini menunjukkan posisi kursor jika tidak ada pilihan.
-
fokus
angka
Posisi akhir pilihan. Nilai ini menunjukkan posisi kursor jika tidak ada pilihan.
-
offset
angka
Chrome 46+Posisi offset
text
. Karenatext
hanya menyertakan subset teks di sekitar kursor, offset menunjukkan posisi absolut karakter pertamatext
. -
teks
string
Teks di sekitar kursor. Ini hanya sebagian kecil dari semua teks di kolom input.
-
-