الوصف
استخدِم واجهة برمجة التطبيقات chrome.input.ime لتنفيذ محرر أسلوب إدخال مخصّص لنظام التشغيل ChromeOS. يسمح ذلك للإضافة بمعالجة ضغطات المفاتيح وتحديد التركيب وإدارة نافذة الكلمات المرشّحة.
الأذونات
inputيجب تضمين الإذن "input" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات input.ime. على سبيل المثال:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
مدى التوفّر
أمثلة
ينشئ الرمز البرمجي التالي طريقة إدخال (IME) تحوّل الأحرف المكتوبة إلى أحرف كبيرة.
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;
}
}
);
الأنواع
AssistiveWindowButton
معرّف الأزرار في نافذة المساعدة
Enum
"undo"
"addToDictionary"
AssistiveWindowProperties
خصائص النافذة المساعدة
الخصائص
-
announceString
سلسلة اختيارية
سلاسل نصية لإعلان ChromeVox
-
النوع
"undo"
-
مرئي
قيمة منطقية
يتم ضبط القيمة على "صحيح" لعرض AssistiveWindow، وعلى "خطأ" لإخفائها.
AssistiveWindowType
تمثّل هذه السمة نوع نافذة التطبيق المساعد.
القيمة
"undo"
AutoCapitalizeType
نوع الكتابة بأحرف كبيرة تلقائيًا في حقل النص.
Enum
"characters"
"words"
"sentences"
InputContext
تصف هذه السمة سياق الإدخال
الخصائص
-
autoCapitalizeالإصدار 69 من Chrome والإصدارات الأحدث
نوع الكتابة بأحرف كبيرة تلقائيًا في حقل النص.
-
autoComplete
قيمة منطقية
تحديد ما إذا كان الحقل النصي يريد إكمال البيانات تلقائيًا.
-
autoCorrect
قيمة منطقية
تحديد ما إذا كان حقل النص يريد التصحيح التلقائي.
-
contextID
الرقم
يُستخدَم هذا لتحديد أهداف عمليات الحقل النصي. يصبح هذا المعرّف غير صالح بمجرد استدعاء onBlur.
-
shouldDoLearning
قيمة منطقية
الإصدار 68 من Chrome والإصدارات الأحدثتحديد ما إذا كان يجب استخدام النص الذي تم إدخاله في حقل النص لتحسين اقتراحات الكتابة للمستخدم
-
spellCheck
قيمة منطقية
تحديد ما إذا كان حقل النص يريد التدقيق الإملائي.
-
النوع
نوع القيمة التي يعدّلها حقل النص هذا (نص أو رقم أو عنوان URL أو غير ذلك)
InputContextType
نوع القيمة التي يعدّلها حقل النص هذا (نص أو رقم أو عنوان URL أو غير ذلك)
Enum
"text"
"search"
"tel"
"url"
"email"
"number"
"password"
"null"
KeyboardEvent
راجِع http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
الخصائص
-
altKey
boolean اختياري
تحديد ما إذا كان مفتاح ALT مضغوطًا أم لا
-
altgrKey
boolean اختياري
الإصدار 79 من Chrome والإصدارات الأحدثتحديد ما إذا كان مفتاح ALTGR مضغوطًا أم لا
-
capsLock
boolean اختياري
تُستخدَم لتحديد ما إذا كان مفتاح CAPS_LOCK مفعّلاً أم لا.
-
رمز
سلسلة
قيمة المفتاح الخارجي الذي يتم الضغط عليه لا تتأثر القيمة بتخطيط لوحة المفاتيح الحالي أو حالة المعدِّل.
-
ctrlKey
boolean اختياري
تُستخدَم لتحديد ما إذا كان مفتاح CTRL مضغوطًا أم لا.
-
extensionId
سلسلة اختيارية
رقم تعريف إضافة مُرسِل حدث الضغط على المفتاح هذا.
-
مفتاح
سلسلة
قيمة المفتاح الذي يتم الضغط عليه
-
keyCode
number اختياري
تم إيقاف keyCode في HTML نهائيًا، وهو رمز رقمي يعتمد على النظام والتنفيذ ويشير إلى المعرّف غير المعدَّل المرتبط بالمفتاح الذي تم الضغط عليه.
-
requestId
سلسلة اختيارية
(متوقّف نهائيًا) رقم تعريف الطلب. استخدِم المَعلمة
requestIdمن الحدثonKeyEventبدلاً من ذلك. -
shiftKey
boolean اختياري
تحديد ما إذا كان مفتاح SHIFT مضغوطًا أم لا
-
النوع
إحدى القيمتين keyup أو keydown
KeyboardEventType
Enum
"keyup"
"keydown"
MenuItem
عنصر قائمة تستخدمه طريقة إدخال للتفاعل مع المستخدم من قائمة اللغة
الخصائص
-
تم وضع علامة في المربّع
boolean اختياري
تشير إلى أنّه يجب رسم هذا العنصر بعلامة اختيار.
-
مفعّلة
boolean اختياري
يشير إلى أنّ هذا العنصر مفعَّل.
-
id
سلسلة
السلسلة التي سيتم تمريرها إلى الدوالّ الرجعية التي تشير إلى عنصر القائمة هذا.
-
التصنيف
سلسلة اختيارية
النص المعروض في قائمة هذا العنصر
-
النمط
MenuItemStyle اختيارية
نوع عنصر القائمة
-
مرئي
boolean اختياري
يشير إلى أنّ هذا العنصر مرئي.
MenuItemStyle
نوع عنصر القائمة تُعتبر أزرار الاختيار بين الفواصل مجمّعة.
Enum
"check"
"radio"
"separator"
MenuParameters
الخصائص
-
engineID
سلسلة
رقم تعريف المحرّك المطلوب استخدامه.
-
items
MenuItem[]
قوائم الطعام التي يجب إضافتها أو تعديلها ستتم إضافتها بالترتيب الذي تظهر به في المصفوفة.
MouseButton
تُستخدَم لتحديد أزرار الماوس التي تم النقر عليها.
Enum
"left"
"middle"
"right"
ScreenType
نوع الشاشة التي يتم تفعيل أداة IME عليها
Enum
"normal"
"login"
"lock"
"secondary-login"
UnderlineStyle
نوع التسطير الذي سيتم تعديل هذا الجزء به
Enum
"underline"
"doubleUnderline"
"noUnderline"
WindowPosition
مكان عرض نافذة المرشح. إذا تم ضبطها على "المؤشر"، ستتبع النافذة المؤشر. إذا تم ضبطها على "مقطوعة موسيقية"، سيتم قفل النافذة في بداية المقطوعة الموسيقية.
Enum
"cursor"
"composition"
الطُرق
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
): Promise<boolean>
محو المقطوعة الموسيقية الحالية إذا لم تكن هذه الإضافة تملك أداة IME النشطة، سيتعذّر ذلك.
المعلمات
-
المعلمات
عنصر
-
contextID
الرقم
رقم تعريف السياق الذي سيتم فيه محو التركيب
-
المرتجعات
-
Promise<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية باستخدام قيمة منطقية تشير إلى ما إذا كان النص مقبولاً أم لا. وفي حال حدوث خطأ، سيتم رفض الوعد.
commitText()
chrome.input.ime.commitText(
parameters: object,
): Promise<boolean>
تنفِّذ هذه الطريقة النص المقدَّم في الإدخال الحالي.
المعلمات
-
المعلمات
عنصر
-
contextID
الرقم
معرّف السياق الذي سيتم فيه إرسال النص
-
نص
سلسلة
النص المطلوب تنفيذه
-
المرتجعات
-
Promise<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية باستخدام قيمة منطقية تشير إلى ما إذا كان النص مقبولاً أم لا. وفي حال حدوث خطأ، سيتم رفض الوعد.
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
): Promise<void>
لحذف النص المحيط بعلامة الإقحام
المعلمات
-
المعلمات
عنصر
-
contextID
الرقم
معرّف السياق الذي سيتم فيه حذف النص المحيط
-
engineID
سلسلة
معرّف المحرّك الذي يتلقّى الحدث.
-
length
الرقم
عدد الأحرف المطلوب حذفها
-
offset
الرقم
الإزاحة من موضع علامة الإقحام حيث سيبدأ الحذف. يمكن أن تكون هذه القيمة سالبة.
-
المرتجعات
-
Promise<void>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية.
hideInputView()
chrome.input.ime.hideInputView(): void
يخفي نافذة عرض الإدخال التي يعرضها النظام تلقائيًا. إذا كانت نافذة عرض الإدخال مخفية، لن ينفّذ هذا الإجراء أي شيء.
keyEventHandled()
chrome.input.ime.keyEventHandled(
requestId: string,
response: boolean,
): void
تشير إلى أنّه تم التعامل مع الحدث الرئيسي الذي تلقّاه onKeyEvent. يجب عدم استدعاء هذه الطريقة إلا إذا كان المستمع onKeyEvent غير متزامن.
المعلمات
-
requestId
سلسلة
رقم تعريف الطلب الخاص بالحدث الذي تمت معالجته يجب أن يكون هذا المعرّف هو نفسه keyEvent.requestId
-
رد
قيمة منطقية
صحيح إذا تم التعامل مع ضغطة المفتاح، وخطأ إذا لم يتم التعامل معها
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
): Promise<void>
يرسِل الأحداث الرئيسية. من المتوقّع أن تستخدم لوحات المفاتيح الافتراضية هذه الدالة. عندما يضغط المستخدم على مفاتيح في لوحة مفاتيح افتراضية، يتم استخدام هذه الدالة لنقل هذا الحدث إلى النظام.
المعلمات
-
المعلمات
عنصر
-
contextID
الرقم
معرّف السياق الذي سيتم إرسال الأحداث الرئيسية إليه، أو صفر لإرسال الأحداث الرئيسية إلى حقل غير حقل الإدخال
-
keyData
بيانات الحدث الرئيسي
-
المرتجعات
-
Promise<void>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية.
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
يُبرز زرًا أو يزيل إبرازه في نافذة مساعدة.
المعلمات
-
المعلمات
عنصر
-
announceString
سلسلة اختيارية
النص الذي سيقرأه قارئ الشاشة.
-
buttonID
رقم تعريف الزر
-
contextID
الرقم
معرّف السياق الذي يملك نافذة المساعدة.
-
بارزة
قيمة منطقية
لتحديد ما إذا كان يجب تمييز الزر.
-
windowType
"undo"
نوع النافذة التي ينتمي إليها الزر
-
المرتجعات
-
Promise<void>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية. وفي حال حدوث خطأ، سيتم رفض الوعد.
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
تعرض هذه الطريقة نافذة مساعدة أو تخفيها بالخصائص المحدّدة.
المعلمات
-
المعلمات
عنصر
-
contextID
الرقم
معرّف السياق الذي يملك نافذة المساعدة.
-
أماكن الإقامة
خصائص النافذة المساعدة
-
المرتجعات
-
Promise<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية.
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
): Promise<boolean>
تضبط هذه السمة قائمة الخيارات الحالية. يتعذّر ذلك إذا لم تكن هذه الإضافة تملك أداة IME النشطة
المعلمات
-
المعلمات
عنصر
-
المرشّحون
object[]
قائمة الخيارات المطلوب عرضها في نافذة الخيارات
-
علامة توضيح
سلسلة اختيارية
نص إضافي يصف المرشّح
-
عنصر محفّز لعرض الإعلان
سلسلة
المرشّح
-
id
الرقم
المعرّف الخاص بالمرشّح
-
التصنيف
سلسلة اختيارية
سلسلة قصيرة تُعرَض بجانب الكلمة المرشّحة، وغالبًا ما تكون مفتاح الاختصار أو الفهرس
-
parentId
number اختياري
المعرّف الذي سيتم إضافة هؤلاء المرشحين ضمنه
-
الاستخدام
عنصر اختياري
الاستخدام أو الوصف التفصيلي للكلمة
-
body
سلسلة
تمثّل هذه السمة نص الوصف التفصيلي.
-
title
سلسلة
تمثّل هذه السمة سلسلة عنوان وصف التفاصيل.
-
-
-
contextID
الرقم
معرّف السياق الذي يملك نافذة المرشّح.
-
المرتجعات
-
Promise<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية.
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
): Promise<boolean>
تضبط هذه السمة خصائص نافذة المرشّح. يتعذّر ذلك إذا لم تكن الإضافة تملك أداة IME النشطة
المعلمات
-
المعلمات
عنصر
-
engineID
سلسلة
معرّف المحرّك المطلوب ضبط الخصائص عليه
-
أماكن الإقامة
عنصر
-
auxiliaryText
سلسلة اختيارية
النص الذي يظهر في أسفل نافذة المرشّح
-
auxiliaryTextVisible
boolean اختياري
يتم ضبط القيمة على "true" لعرض النص الإضافي، وعلى "false" لإخفائه.
-
currentCandidateIndex
number اختياري
الإصدار 84 من Chrome أو إصدار أحدثفهرس المرشّح المختار حاليًا من إجمالي المرشّحين
-
cursorVisible
boolean اختياري
يتم ضبط القيمة على "true" لإظهار المؤشر، وعلى "false" لإخفائه.
-
pageSize
number اختياري
عدد الخيارات المطلوب عرضها لكل صفحة
-
totalCandidates
number اختياري
الإصدار 84 من Chrome أو إصدار أحدثإجمالي عدد المرشحين في نافذة المرشحين.
-
عمودي
boolean اختياري
يتم ضبط القيمة على "true" إذا كان من المفترض عرض نافذة المرشّح بشكل عمودي، وعلى "false" لعرضها بشكل أفقي.
-
مرئي
boolean اختياري
يتم ضبط القيمة على "صحيح" لعرض نافذة "المرشّح"، وعلى "خطأ" لإخفائها.
-
windowPosition
WindowPosition اختياري
مكان عرض نافذة المرشح.
-
-
المرتجعات
-
Promise<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية.
setComposition()
chrome.input.ime.setComposition(
parameters: object,
): Promise<boolean>
ضبط المقطوعة الموسيقية الحالية إذا لم تكن هذه الإضافة تملك أداة IME النشطة، سيتعذّر ذلك.
المعلمات
-
المعلمات
عنصر
-
contextID
الرقم
معرّف السياق الذي سيتم فيه ضبط نص المقطوعة الموسيقية
-
مؤشر
الرقم
موضع المؤشر في النص
-
الشرائح
object[] اختيارية
قائمة بالشرائح وأنواعها المرتبطة بها
-
إنهاء
الرقم
فهرس الحرف الذي سينتهي بعده هذا المقطع.
-
بدء
الرقم
فهرس الحرف الذي تبدأ عنده هذه الشريحة
-
النمط
نوع التسطير الذي سيتم تعديل هذا الجزء به
-
-
selectionEnd
number اختياري
موضع نهاية التحديد في النص
-
selectionStart
number اختياري
موضع بداية التحديد في النص
-
نص
سلسلة
النص المطلوب ضبطه
-
المرتجعات
-
Promise<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية باستخدام قيمة منطقية تشير إلى ما إذا كان النص مقبولاً أم لا. وفي حال حدوث خطأ، سيتم رفض الوعد.
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
اضبط موضع المؤشر في نافذة المرشّح. لا يتم تنفيذ أي عملية إذا لم تكن هذه الإضافة هي مالكة محرر أسلوب الإدخال النشط.
المعلمات
-
المعلمات
عنصر
-
candidateID
الرقم
معرّف المرشّح المطلوب اختياره.
-
contextID
الرقم
معرّف السياق الذي يملك نافذة المرشّح.
-
المرتجعات
-
Promise<boolean>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية
setMenuItems()
chrome.input.ime.setMenuItems(
parameters: MenuParameters,
): Promise<void>
تضيف هذه السمة عناصر القائمة المتوفّرة إلى قائمة اللغة عندما تكون طريقة الإدخال هذه نشطة.
المعلمات
-
المعلمات
المرتجعات
-
Promise<void>
الإصدار 111 من Chrome والإصدارات الأحدث
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
تعديل حالة عناصر القائمة المحدّدة
المعلمات
-
المعلمات
المرتجعات
-
Promise<void>
الإصدار 111 من Chrome والإصدارات الأحدثيتم حلّها عند اكتمال العملية
الفعاليات
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
يتم إرسال هذا الحدث عند تفعيل طريقة إدخال. يشير إلى أنّ محرّك طريقة الإدخال سيتلقّى أحداث onKeyPress.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(engineID: string, screen: ScreenType) => void
-
engineID
سلسلة
-
رصد
-
onAssistiveWindowButtonClicked
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
يتم إرسال هذا الحدث عند النقر على زر في نافذة أدوات تسهيل الاستخدام.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => void
-
التفاصيل
عنصر
-
buttonID
رقم تعريف الزرّ الذي تم النقر عليه
-
windowType
تمثّل هذه السمة نوع نافذة تسهيل الاستخدام.
-
-
onBlur
chrome.input.ime.onBlur.addListener(
callback: function,
)
يتم إرسال هذا الحدث عندما يغادر التركيز مربّع نص. ويتم إرساله إلى جميع الإضافات التي تستمع إلى هذا الحدث والتي فعّلها المستخدم.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(contextID: number) => void
-
contextID
الرقم
-
onCandidateClicked
chrome.input.ime.onCandidateClicked.addListener(
callback: function,
)
يتم إرسال هذا الحدث إذا كانت هذه الإضافة تملك محرر أسلوب الإدخال النشط.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(engineID: string, candidateID: number, button: MouseButton) => void
-
engineID
سلسلة
-
candidateID
الرقم
-
زر
-
onDeactivated
chrome.input.ime.onDeactivated.addListener(
callback: function,
)
يتم إرسال هذا الحدث عند إيقاف طريقة الإدخال. يشير ذلك إلى أنّ محرّك طريقة الإدخال لن يتلقّى بعد الآن أحداث onKeyPress.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(engineID: string) => void
-
engineID
سلسلة
-
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
يتم إرسال هذا الحدث عندما ينتقل التركيز إلى مربّع نص. ويتم إرساله إلى جميع الإضافات التي تستمع إلى هذا الحدث والتي فعّلها المستخدم.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(context: InputContext) => void
-
context
-
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
يتم إرسال هذا الحدث عند تغيير خصائص InputContext الحالية، مثل النوع. ويتم إرساله إلى جميع الإضافات التي تستمع إلى هذا الحدث والتي فعّلها المستخدم.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(context: InputContext) => void
-
context
-
onKeyEvent
chrome.input.ime.onKeyEvent.addListener(
callback: function,
)
يتم إطلاقه عند إرسال حدث رئيسي من نظام التشغيل. سيتم إرسال الحدث إلى الإضافة إذا كانت هذه الإضافة تملك طريقة الإدخال النشطة. يجب أن تعرض دالة معالجة الأحداث القيمة "true" إذا تمت معالجة الحدث، والقيمة "false" إذا لم تتم معالجته. إذا كان سيتم تقييم الحدث بشكل غير متزامن، يجب أن تعرض هذه الدالة قيمة غير محدّدة، ويجب أن تستدعي طريقة الإدخال لاحقًا keyEventHandled() مع النتيجة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
سلسلة
-
keyData
-
requestId
سلسلة
-
returns
boolean | undefined
-
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
يتم استدعاؤه عندما يختار المستخدم عنصر قائمة
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(engineID: string, name: string) => void
-
engineID
سلسلة
-
الاسم
سلسلة
-
onReset
chrome.input.ime.onReset.addListener(
callback: function,
)
يتم إرسال هذا الحدث عندما ينهي Chrome جلسة إدخال نص مستمرة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(engineID: string) => void
-
engineID
سلسلة
-
onSurroundingTextChanged
chrome.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
يتم استدعاؤها عند تغيير السلسلة القابلة للتعديل حول علامة الإقحام أو عند نقل موضع علامة الإقحام. يجب ألا يتجاوز طول النص 100 حرف في كل اتجاه من اتجاهَي المحادثة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(engineID: string, surroundingInfo: object) => void
-
engineID
سلسلة
-
surroundingInfo
عنصر
-
علامة ارتساء
الرقم
موضع بداية الجزء المحدَّد تشير هذه القيمة إلى موضع علامة الإقحام في حال عدم تحديد أي نص.
-
البؤرة
الرقم
تمثّل هذه السمة موضع نهاية الجزء المحدّد. تشير هذه القيمة إلى موضع علامة الإقحام في حال عدم تحديد أي نص.
-
offset
الرقم
Chrome 46 والإصدارات الأحدثتمثّل هذه السمة موضع الإزاحة
text. بما أنّtextيتضمّن مجموعة فرعية فقط من النص حول المؤشر، يشير الإزاحة إلى الموضع المطلق للحرف الأول منtext. -
نص
سلسلة
النص المحيط بالمؤشر هذه ليست سوى مجموعة فرعية من كل النص في حقل الإدخال.
-
-