شرح
از chrome.input.ime API برای پیادهسازی IME سفارشی برای Chrome OS استفاده کنید. این کار به افزونه شما اجازه میدهد تا کلیدهای فشردهشده را مدیریت کند، ترکیببندی را تنظیم کند، و پنجره نامزد را مدیریت کند.
اجازهها
inputبرای استفاده از input.ime API، باید اجازه «ورودی» را در مانیفست افزونه اعلام کنید. برای مثال:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
دردسترس بودن
مثالها
کد زیر IME ایجاد میکند که حروف تایپشده را به حروف بزرگ تبدیل میکند.
var context_id = -1;
browser.input.ime.onFocus.addListener(function(context) {
context_id = context.contextID;
});
browser.input.ime.onKeyEvent.addListener(
function(engineID, keyData) {
if (keyData.type == "keydown" && keyData.key.match(/^[a-z]$/)) {
browser.input.ime.commitText({"contextID": context_id,
"text": keyData.key.toUpperCase()});
return true;
} else {
return false;
}
}
);
انواع
AssistiveWindowButton
شناسه دکمهها در پنجره کمکی.
شمارشی
«undo» (واگرد)
"addToDictionary"
AssistiveWindowProperties
خصوصیات پنجره کمکی.
مشخصات
-
announceString
رشته اختیاری
رشتههایی که ChromeVox باید اعلام کند.
-
نوع
«undo» (واگرد)
-
قابل رؤیت
بولی
برای نمایش AssistiveWindow روی درست تنظیم میشود، برای پنهان کردن روی نادرست تنظیم میشود.
AssistiveWindowType
نوع پنجره کمکی.
مقدار
«undo» (واگرد)
AutoCapitalizeType
نوع بزرگنویسی خودکار فیلد نوشتاری.
شمارشی
«نویسه»
"words"
"sentences"
InputContext
«بافت» ورودی را توصیف میکند
مشخصات
-
autoCapitalizeChrome نسخه ۶۹ و بالاتر browser.* از Chrome نسخه ۱۴۸
نوع بزرگنویسی خودکار فیلد نوشتاری.
-
autoComplete
بولی
آیا فیلد نوشتاری تکمیل خودکار میخواهد یا نه.
-
autoCorrect
بولی
آیا فیلد نوشتار تصحیح خودکار میخواهد.
-
contextID
شماره
از این برای مشخص کردن هدفهای عملیات فیلد نوشتاری استفاده میشود. این شناسه بهمحض فراخوانی onBlur نامعتبر میشود.
-
shouldDoLearning
بولی
Chrome نسخه ۶۸ و بالاتر browser.* از Chrome نسخه ۱۴۸اینکه آیا نوشتار واردشده در فیلد نوشتاری باید برای بهبود پیشنهادهای تایپ برای کاربر استفاده شود یا نه.
-
spellCheck
بولی
آیا فیلد نوشتاری به غلطیاب املایی نیاز دارد.
-
نوع
نوع مقداری که این فیلد نوشتاری ویرایش میکند (نوشتار، عدد، نشانی وب، و غیره)
InputContextType
نوع مقداری که این فیلد نوشتاری ویرایش میکند (نوشتار، عدد، نشانی وب، و غیره)
شمارشی
"text"
«جستجو»
"tel"
«url»
«ایمیل»
«شماره»
"password"
"null"
KeyboardEvent
به http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent مراجعه کنید
مشخصات
-
altKey
بولی اختیاری
اینکه کلید ALT فشار داده شده است یا نه.
-
altgrKey
بولی اختیاری
Chrome نسخه ۷۹ به بالا browser.* از Chrome نسخه ۱۴۸اینکه کلید ALTGR فشار داده شده است یا نه.
-
capsLock
بولی اختیاری
Whether or not the CAPS_LOCK is enabled.
-
کد
رشته
مقدار کلید فیزیکی که فشار داده میشود. این مقدار تحت تأثیر جانمایی صفحهکلید فعلی یا وضعیت اصلاحکننده قرار نمیگیرد.
-
ctrlKey
بولی اختیاری
اینکه کلید CTRL فشار داده شده است یا نه.
-
extensionId
رشته اختیاری
شناسه افزونه فرستنده این رویداد کلید.
-
کلید
رشته
مقدار کلیدی که فشار داده میشود
-
keyCode
شماره اختیاری
کد کلید HTML منسوخشده، که کد عددی وابسته به سیستم و پیادهسازی است و شناسه اصلاحنشده مرتبط با کلید فشردهشده را نشان میدهد.
-
requestId
رشته اختیاری
(منسوخشده) شناسه درخواست. درعوض از پارامتر
requestIdاز رویدادonKeyEventاستفاده کنید. -
shiftKey
بولی اختیاری
اینکه کلید SHIFT فشار داده شده است یا نه.
-
یکی از keyup یا keydown.
KeyboardEventType
شمارشی
"keyup"
"keydown"
MenuItem
موردی در منو که روش ورودی برای تعامل با کاربر از منو زبان استفاده میکند.
مشخصات
-
دارای علامت
بولی اختیاری
نشان میدهد این مورد باید با علامت انتخاب کشیده شود.
-
فعال شد
بولی اختیاری
نشان میدهد این مورد فعال است.
-
id
رشته
رشتهای که به تماسهای برگشتی ارجاعدهنده به این MenuItem ارسال خواهد شد.
-
برچسب
رشته اختیاری
نوشتاری که در منو برای این مورد نمایش داده میشود.
-
سبک
MenuItemStyle اختیاری
نوع گزینه منو.
-
قابل رؤیت
بولی اختیاری
نشان میدهد این مورد نمایان است.
MenuItemStyle
نوع گزینه منو. دکمههای رادیویی بین جداکنندهها گروهبندیشده درنظر گرفته میشوند.
شمارشی
"check"
"radio"
«جداساز»
MenuParameters
مشخصات
-
engineID
رشته
شناسه موتور مورد استفاده.
-
موارد
MenuItem[]
MenuItems برای افزودن یا بهروزرسانی. آنها به ترتیبی که در آرایه وجود دارند اضافه خواهند شد.
MouseButton
کدام دکمههای موشواره کلیک شد.
شمارشی
"left"
"middle"
«right»
ScreenType
نوع صفحهای که IME تحت آن فعال میشود.
شمارشی
«عادی»
"login"
«قفل»
"secondary-login"
UnderlineStyle
نوع زیرخط برای اصلاح این بخش.
شمارشی
"underline"
"doubleUnderline"
"noUnderline"
WindowPosition
محل نمایش پنجره نامزد. اگر روی «مکاننما» تنظیم شده باشد، پنجره مکاننما را دنبال میکند. اگر روی «ترکیببندی» تنظیم شود، پنجره در ابتدای ترکیببندی قفل میشود.
شمارشی
«cursor»
«ترکیببندی»
روشها
clearComposition()
browser.input.ime.clearComposition(
parameters: object,
): Promise<boolean>
ترکیببندی فعلی را پاک کنید. اگر این افزونه مالک IME فعال نباشد، این کار ناموفق خواهد بود.
پارامترها
-
پارامترها
شیء
-
contextID
شماره
شناسه بافتی که ترکیببندی در آن پاک خواهد شد
-
بازگشتیها
-
Promise<boolean>
Chrome 111+ browser.* از Chrome 148وقتی عملیات با بولی نشاندهنده پذیرفته شدن یا نشدن نوشتار تکمیل شود، حل میشود. درصورت ناموفق بودن، وعده رد خواهد شد.
commitText()
browser.input.ime.commitText(
parameters: object,
): Promise<boolean>
نوشتار ارائهشده را به ورودی فعلی اضافه میکند.
پارامترها
-
پارامترها
شیء
-
contextID
شماره
شناسه بافتی که نوشتار در آن ثبت خواهد شد
-
نوشتار
رشته
نوشتار برای ثبت کردن
-
بازگشتیها
-
Promise<boolean>
Chrome 111+ browser.* از Chrome 148وقتی عملیات با بولی نشاندهنده پذیرفته شدن یا نشدن نوشتار تکمیل شود، حل میشود. درصورت ناموفق بودن، وعده رد خواهد شد.
deleteSurroundingText()
browser.input.ime.deleteSurroundingText(
parameters: object,
): Promise<void>
نوشتار اطراف علامت درج را حذف میکند.
پارامترها
-
پارامترها
شیء
-
contextID
شماره
شناسه بافتی که نوشتار اطراف آن حذف خواهد شد.
-
engineID
رشته
شناسه موتوری که رویداد را دریافت میکند.
-
طول
شماره
تعداد نویسههایی که باید حذف شوند
-
جبران کردن
شماره
انحراف از جایگاه نشانگر درج که حذف از آنجا شروع خواهد شد. این مقدار میتواند منفی باشد.
-
بازگشتیها
-
Promise<void>
Chrome 111+ browser.* از Chrome 148وقتی عملیات تکمیل شود، حلوفصل میشود.
hideInputView()
browser.input.ime.hideInputView(): void
پنجره نمای ورودی را که بهطور خودکار توسط سیستم بالا میآید پنهان میکند. اگر پنجره نمای ورودی ازقبل پنهان باشد، این عملکرد کاری انجام نخواهد داد.
keyEventHandled()
browser.input.ime.keyEventHandled(
requestId: string,
response: boolean,
): void
نشان میدهد که رویداد کلیدی دریافتشده توسط onKeyEvent مدیریت میشود. این فقط باید زمانی فراخوانی شود که شنونده onKeyEvent ناهمگام باشد.
پارامترها
-
requestId
رشته
شناسه درخواست رویدادی که رسیدگی شده است. این باید از keyEvent.requestId بیاید
-
پاسخ
بولی
اگر کلیدزنی انجام شده باشد درست است، درغیراینصورت نادرست است
sendKeyEvents()
browser.input.ime.sendKeyEvents(
parameters: object,
): Promise<void>
رویدادهای کلیدی را ارسال میکند. انتظار میرود این عملکرد توسط صفحهکلیدهای مجازی استفاده شود. وقتی کاربر کلید(های) صفحهکلید مجازی را فشار میدهد، از این عملکرد برای انتشار آن رویداد در سیستم استفاده میشود.
پارامترها
-
پارامترها
شیء
-
contextID
شماره
شناسه زمینهای که رویدادهای کلیدی به آن ارسال خواهد شد، یا صفر برای ارسال رویدادهای کلیدی به فیلد غیرورودی.
-
keyData
دادههای مربوط به رویداد کلیدی.
-
بازگشتیها
-
Promise<void>
Chrome 111+ browser.* از Chrome 148وقتی عملیات تکمیل شود، حلوفصل میشود.
setAssistiveWindowButtonHighlighted()
browser.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
دکمهای را در پنجره کمکی برجسته/غیربرجسته میکند.
پارامترها
-
پارامترها
شیء
-
announceString
رشته اختیاری
نوشتاری که صفحهخوان باید اعلام کند.
-
buttonID
شناسه دکمه
-
contextID
شماره
شناسه بافت مالک پنجره کمکی.
-
برجستهشده
بولی
اینکه دکمه باید برجسته شود یا نه.
-
windowType
«undo» (واگرد)
نوع پنجرهای که دکمه به آن تعلق دارد.
-
بازگشتیها
-
Promise<void>
Chrome 111+ browser.* از Chrome 148وقتی عملیات تکمیل شود، حلوفصل میشود. درصورت ناموفق بودن، وعده رد خواهد شد.
setAssistiveWindowProperties()
browser.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
پنجره کمکی را با ویژگیهای دادهشده نشان میدهد/پنهان میکند.
پارامترها
-
پارامترها
شیء
-
contextID
شماره
شناسه بافت مالک پنجره کمکی.
-
اقامتگاهها
خصوصیات پنجره کمکی.
-
بازگشتیها
-
Promise<boolean>
Chrome 111+ browser.* از Chrome 148وقتی عملیات تکمیل شود، حلوفصل میشود.
setCandidates()
browser.input.ime.setCandidates(
parameters: object,
): Promise<boolean>
فهرست نامزدهای فعلی را تنظیم میکند. اگر این افزونه مالک IME فعال نباشد، این کار ناموفق خواهد بود
پارامترها
-
پارامترها
شیء
-
نامزدها
object[]
فهرست نامزدها برای نمایش در پنجره نامزدها
-
گزارمان
رشته اختیاری
نوشتار اضافی برای توصیف نامزد
-
نامزد
رشته
نامزد
-
id
شماره
شناسه نامزد
-
برچسب
رشته اختیاری
رشته کوتاهی که در کنار نامزد نمایش داده میشود، اغلب کلید میانبر یا نمایه است
-
parentId
شماره اختیاری
شناسه برای افزودن این نامزدها تحت آن
-
مصرف
شیء اختیاری
کاربرد یا شرح جزئیات کلمه.
-
بدن
رشته
رشته اصلی شرح جزئیات.
-
عنوان
رشته
رشته عنوان شرح جزئیات.
-
-
-
contextID
شماره
شناسه بافتی که مالک پنجره نامزد است.
-
بازگشتیها
-
Promise<boolean>
Chrome 111+ browser.* از Chrome 148وقتی عملیات تکمیل شود، حلوفصل میشود.
setCandidateWindowProperties()
browser.input.ime.setCandidateWindowProperties(
parameters: object,
): Promise<boolean>
ویژگیهای پنجره نامزد را تنظیم میکند. اگر افزونه مالک IME فعال نباشد، این کار ناموفق خواهد بود
پارامترها
-
پارامترها
شیء
-
engineID
رشته
شناسه موتور برای تنظیم ویژگیها.
-
اقامتگاهها
شیء
-
auxiliaryText
رشته اختیاری
نوشتاری که در پایین پنجره نامزد نشان داده میشود.
-
auxiliaryTextVisible
بولی اختیاری
درست برای نمایش نوشتار کمکی، نادرست برای پنهان کردن آن.
-
currentCandidateIndex
شماره اختیاری
Chrome 84+ browser.* از Chrome 148شاخص نامزد انتخابشده فعلی از بین کل نامزدها.
-
cursorVisible
بولی اختیاری
درست برای نمایش مکاننما، نادرست برای پنهان کردن آن.
-
pageSize
شماره اختیاری
تعداد نامزدهایی که در هر صفحه نمایش داده میشود.
-
totalCandidates
شماره اختیاری
Chrome 84+ browser.* از Chrome 148تعداد کل نامزدها برای پنجره نامزد.
-
عمودی
بولی اختیاری
اگر پنجره نامزد باید بهصورت عمودی ارائه شود درست است، برای افقی کردن آن نادرست است.
-
قابل رؤیت
بولی اختیاری
درست برای نمایش پنجره «نامزد»، نادرست برای پنهان کردن آن.
-
windowPosition
WindowPosition اختیاری
محل نمایش پنجره نامزد.
-
-
بازگشتیها
-
Promise<boolean>
Chrome 111+ browser.* از Chrome 148وقتی عملیات تکمیل شود، حلوفصل میشود.
setComposition()
browser.input.ime.setComposition(
parameters: object,
): Promise<boolean>
ترکیببندی فعلی را تنظیم کنید. اگر این افزونه مالک IME فعال نباشد، این کار ناموفق خواهد بود.
پارامترها
-
پارامترها
شیء
-
contextID
شماره
شناسه بافتی که نوشتار ترکیببندی در آن تنظیم خواهد شد
-
نشانگر
شماره
موقعیت مکاننما در نوشتار.
-
بخشها
object[] اختیاری
فهرست بخشها و انواع مرتبط با آنها.
-
end
شماره
نمایه نویسهای که این بخش باید بعداز آن بهپایان برسد.
-
شروع
شماره
نمایه نویسهای که این بخش از آن شروع میشود
-
سبک
نوع زیرخط برای اصلاح این بخش.
-
-
selectionEnd
شماره اختیاری
موقعیتی در نوشتار که انتخاب در آنجا بهپایان میرسد.
-
selectionStart
شماره اختیاری
موقعیتی در نوشتار که انتخاب از آنجا شروع میشود.
-
نوشتار
رشته
نوشتار برای تنظیم
-
بازگشتیها
-
Promise<boolean>
Chrome 111+ browser.* از Chrome 148وقتی عملیات با بولی نشاندهنده پذیرفته شدن یا نشدن نوشتار تکمیل شود، حل میشود. درصورت ناموفق بودن، وعده رد خواهد شد.
setCursorPosition()
browser.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
موقعیت مکاننما را در پنجره نامزد تنظیم کنید. اگر این افزونه مالک IME فعال نباشد، این عملیات بیتأثیر است.
پارامترها
-
پارامترها
شیء
-
candidateID
شماره
شناسه نامزد برای انتخاب.
-
contextID
شماره
شناسه بافتی که مالک پنجره نامزد است.
-
بازگشتیها
-
Promise<boolean>
Chrome 111+ browser.* از Chrome 148وقتی عملیات تکمیل شود، حل میشود
setMenuItems()
browser.input.ime.setMenuItems(
parameters: MenuParameters,
): Promise<void>
وقتی این IME فعال باشد، موارد منو ارائهشده را به منو زبان اضافه میکند.
پارامترها
-
پارامترها
بازگشتیها
-
Promise<void>
Chrome 111+ browser.* از Chrome 148
updateMenuItems()
browser.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
وضعیت MenuItems مشخصشده را بهروز میکند
پارامترها
-
پارامترها
بازگشتیها
-
Promise<void>
Chrome 111+ browser.* از Chrome 148وقتی عملیات تکمیل شود، حل میشود
رویدادها
onActivate
browser.input.ime.onActivate.addListener(
callback: function,
)
این رویداد زمانی ارسال میشود که IME فعال شود. این نشان میدهد که IME رویدادهای onKeyPress را دریافت خواهد کرد.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(engineID: string, screen: ScreenType) => void
-
engineID
رشته
-
غربال کردن
-
onAssistiveWindowButtonClicked
browser.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
این رویداد زمانی ارسال میشود که روی دکمهای در پنجره کمکی کلیک شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(details: object) => void
-
جزئیات
شیء
-
buttonID
شناسه دکمه کلیکشده.
-
windowType
نوع پنجره کمکی.
-
-
onBlur
browser.input.ime.onBlur.addListener(
callback: function,
)
این رویداد زمانی ارسال میشود که تمرکز از چارگوش نوشتاری خارج شود. این رویداد به همه افزونههایی که به این رویداد گوش میدهند و توسط کاربر فعال شدهاند ارسال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(contextID: number) => void
-
contextID
شماره
-
onCandidateClicked
browser.input.ime.onCandidateClicked.addListener(
callback: function,
)
اگر این افزونه مالک IME فعال باشد، این رویداد ارسال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(engineID: string, candidateID: number, button: MouseButton) => void
-
engineID
رشته
-
candidateID
شماره
-
دکمه
-
onDeactivated
browser.input.ime.onDeactivated.addListener(
callback: function,
)
این رویداد زمانی ارسال میشود که IME غیرفعال شده باشد. این نشان میدهد که IME دیگر رویدادهای onKeyPress را دریافت نخواهد کرد.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(engineID: string) => void
-
engineID
رشته
-
onFocus
browser.input.ime.onFocus.addListener(
callback: function,
)
این رویداد زمانی ارسال میشود که تمرکز وارد چارگوش نوشتاری شود. این رویداد به همه افزونههایی که به این رویداد گوش میدهند و توسط کاربر فعال شدهاند ارسال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(context: InputContext) => void
-
زمینه
-
onInputContextUpdate
browser.input.ime.onInputContextUpdate.addListener(
callback: function,
)
این رویداد زمانی ارسال میشود که ویژگیهای InputContext فعلی تغییر کند، مثلاً نوع آن. این رویداد به همه افزونههایی که به این رویداد گوش میدهند و توسط کاربر فعال شدهاند ارسال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(context: InputContext) => void
-
زمینه
-
onKeyEvent
browser.input.ime.onKeyEvent.addListener(
callback: function,
)
وقتی رویداد کلیدی از سیستمعامل ارسال میشود، فعال میشود. اگر این افزونه مالک IME فعال باشد، رویداد به افزونه ارسال خواهد شد. اگر رویداد رسیدگی شده باشد، تابع شنونده باید مقدار درست را برگرداند و اگر رسیدگی نشده باشد، باید مقدار نادرست را برگرداند. اگر رویداد بهصورت ناهمگام ارزیابی شود، این تابع باید تعریفنشده برگرداند و IME باید بعداً keyEventHandled() را با نتیجه فراخوانی کند.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
رشته
-
keyData
-
requestId
رشته
-
returns
بولی | تعریفنشده
-
onMenuItemActivated
browser.input.ime.onMenuItemActivated.addListener(
callback: function,
)
وقتی کاربر گزینه منو را انتخاب میکند، فراخوانی میشود
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(engineID: string, name: string) => void
-
engineID
رشته
-
نام
رشته
-
onReset
browser.input.ime.onReset.addListener(
callback: function,
)
این رویداد زمانی ارسال میشود که Chrome جلسه ورودی نوشتار درحال انجام را خاتمه میدهد.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(engineID: string) => void
-
engineID
رشته
-
onSurroundingTextChanged
browser.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
وقتی رشته قابلویرایش اطراف علامت درج تغییر میکند یا وقتی موقعیت علامت درج جابهجا میشود، فراخوانی میشود. طول نوشتار برای هر جهت رفت و برگشت به ۱۰۰ نویسه محدود است.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(engineID: string, surroundingInfo: object) => void
-
engineID
رشته
-
surroundingInfo
شیء
-
لنگر
شماره
جایگاه شروع انتخاب. این مقدار نشاندهنده موقعیت علامت درج است اگر انتخابی وجود نداشته باشد.
-
فوکوس
شماره
موقعیت پایانی انتخاب. این مقدار نشاندهنده موقعیت علامت درج است اگر انتخابی وجود نداشته باشد.
-
جبران کردن
شماره
Chrome نسخه ۴۶ و بالاتر browser.* از Chrome نسخه ۱۴۸موقعیت افست
text. ازآنجاییکهtextفقط شامل زیرمجموعهای از نوشتار اطراف مکاننما است، آفست نشاندهنده موقعیت مطلق اولین نویسهtextاست. -
نوشتار
رشته
نوشتار اطراف مکاننما. این فقط زیرمجموعهای از کل نوشتار در فیلد ورودی است.
-
-