الوصف
استخدِم واجهة برمجة التطبيقات 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"
"جُمل"
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 اختياري
يتم ضبط القيمة على "true" لعرض نافذة "المرشح"، وعلى "false" لإخفائها.
-
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
. -
نص
سلسلة
النص المحيط بالمؤشر هذه ليست سوى مجموعة فرعية من كل النص في حقل الإدخال.
-
-