chrome.input.ime

الوصف

استخدِم واجهة برمجة التطبيقات chrome.input.ime لتنفيذ طريقة إدخال مخصّصة لنظام التشغيل ChromeOS. يسمح ذلك للإضافة بمعالجة ضغطات المفاتيح وتحديد التركيب وإدارة نافذة الكلمات المرشّحة.

الأذونات

input

يجب تضمين الإذن "input" صراحةً في بيان الإضافة لاستخدام واجهة برمجة التطبيقات input.ime. على سبيل المثال:

{
  "name": "My extension",
  ...
  "permissions": [
    "input"
  ],
  ...
}

مدى التوفّر

نظام التشغيل ChromeOS فقط

أمثلة

تنشئ التعليمة البرمجية التالية محرر أسلوب إدخال (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

الإصدار 85 من Chrome والإصدارات الأحدث

معرّف الأزرار في نافذة التكنولوجيا المساعِدة

Enum

"undo"

"addToDictionary"

AssistiveWindowProperties

الإصدار 85 من Chrome والإصدارات الأحدث

خصائص نافذة المساعدة

الخصائص

  • announceString

    سلسلة اختيارية

    سلاسل نصية لإعلان ChromeVox

  • النوع

    "undo"

  • مرئي

    قيمة منطقية

    يتم ضبط القيمة على "صحيح" لعرض AssistiveWindow، وعلى "خطأ" لإخفائها.

AssistiveWindowType

الإصدار 85 من Chrome والإصدارات الأحدث

تمثّل هذه السمة نوع نافذة التطبيق المساعد.

القيمة

"undo"

AutoCapitalizeType

الإصدار 69 من Chrome والإصدارات الأحدث

نوع الحقل النصي الذي يكتب الكلمات بأحرف كبيرة تلقائيًا.

Enum

"characters"

"words"

"جُمل"

InputContext

يصف سياق الإدخال

الخصائص

  • autoCapitalize
    الإصدار 69 من Chrome والإصدارات الأحدث

    نوع الحقل النصي الذي يكتب الكلمات بأحرف كبيرة تلقائيًا.

  • autoComplete

    قيمة منطقية

    تحديد ما إذا كان الحقل النصي يريد إكمال الكتابة تلقائيًا

  • autoCorrect

    قيمة منطقية

    تحديد ما إذا كان حقل النص يريد التصحيح التلقائي.

  • contextID

    الرقم

    يُستخدَم هذا لتحديد أهداف عمليات الحقل النصي. يصبح رقم التعريف هذا غير صالح بمجرد استدعاء onBlur.

  • shouldDoLearning

    قيمة منطقية

    الإصدار 68 من Chrome والإصدارات الأحدث

    تحديد ما إذا كان يجب استخدام النص الذي تم إدخاله في حقل النص لتحسين اقتراحات الكتابة للمستخدم

  • spellCheck

    قيمة منطقية

    تحديد ما إذا كان حقل النص يريد التدقيق الإملائي.

  • النوع

    نوع القيمة التي يعدّلها هذا الحقل النصي (نص أو رقم أو عنوان URL أو غير ذلك)

InputContextType

Chrome 44 والإصدارات الأحدث

نوع القيمة التي يعدّلها هذا الحقل النصي (نص أو رقم أو عنوان 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

Chrome 44 والإصدارات الأحدث

Enum

"keyup"

"keydown"

MenuItem

عنصر قائمة تستخدمه طريقة إدخال للتفاعل مع المستخدم من قائمة اللغة

الخصائص

  • تم وضع علامة في المربّع

    boolean اختياري

    تشير إلى أنّه يجب رسم هذا العنصر بعلامة اختيار.

  • مفعّلة

    boolean اختياري

    يشير إلى أنّ هذا العنصر مفعَّل.

  • id

    سلسلة

    السلسلة التي سيتم تمريرها إلى عمليات الرجوع التي تشير إلى عنصر القائمة هذا.

  • التصنيف

    سلسلة اختيارية

    النص المعروض في القائمة لهذا العنصر

  • النمط

    MenuItemStyle اختيارية

    نوع عنصر القائمة

  • مرئي

    boolean اختياري

    يشير إلى أنّ هذا العنصر مرئي.

MenuItemStyle

Chrome 44 والإصدارات الأحدث

نوع عنصر القائمة تُعتبر أزرار الاختيار بين الفواصل مجمّعة.

Enum

"check"

"radio"

"separator"

MenuParameters

الإصدار 88 من Chrome والإصدارات الأحدث

الخصائص

  • engineID

    سلسلة

    رقم تعريف المحرّك المطلوب استخدامه.

  • items

    قوائم الطعام المطلوب إضافتها أو تعديلها ستتم إضافتها بالترتيب الذي تظهر به في المصفوفة.

MouseButton

Chrome 44 والإصدارات الأحدث

تُستخدَم لتحديد أزرار الماوس التي تم النقر عليها.

Enum

"left"

"middle"

"right"

ScreenType

Chrome 44 والإصدارات الأحدث

نوع الشاشة التي يتم تفعيل أداة IME عليها

Enum

"normal"

"login"

"lock"

"secondary-login"

UnderlineStyle

Chrome 44 والإصدارات الأحدث

نوع التسطير الذي سيتم تعديل هذا الجزء به

Enum

"underline"

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44 والإصدارات الأحدث

مكان عرض نافذة المرشح. إذا تم ضبطها على "المؤشر"، ستتبع النافذة المؤشر. إذا تم ضبطها على "مقطوعة موسيقية"، سيتم قفل النافذة على بداية المقطوعة الموسيقية.

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()

الإصدار 86 من Chrome والإصدارات الأحدث
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
)
: Promise<void>

تمييز زر أو إزالة تمييزه في نافذة مساعدة

المعلمات

  • المعلمات

    عنصر

    • announceString

      سلسلة اختيارية

      نص سيقرأه قارئ الشاشة.

    • رقم تعريف الزر

    • contextID

      الرقم

      معرّف السياق الذي يملك نافذة المساعدة.

    • بارزة

      قيمة منطقية

      لتحديد ما إذا كان يجب تمييز الزر أم لا

    • windowType

      "undo"

      نوع النافذة التي ينتمي إليها الزر

المرتجعات

  • Promise<void>

    الإصدار 111 من Chrome والإصدارات الأحدث

setAssistiveWindowProperties()

الإصدار 85 من Chrome والإصدارات الأحدث
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

onAssistiveWindowButtonClicked

الإصدار 85 من Chrome والإصدارات الأحدث
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
  callback: function,
)

يتم إرسال هذا الحدث عند النقر على زر في نافذة أدوات مساعدة.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

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

onInputContextUpdate

chrome.input.ime.onInputContextUpdate.addListener(
  callback: function,
)

يتم إرسال هذا الحدث عند تغيير خصائص InputContext الحالية، مثل النوع. يتم إرسالها إلى جميع الإضافات التي تستمع إلى هذا الحدث والتي فعّلها المستخدم.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (context: InputContext) => void

onKeyEvent

chrome.input.ime.onKeyEvent.addListener(
  callback: function,
)

يتم إطلاقه عند إرسال حدث رئيسي من نظام التشغيل. سيتم إرسال الحدث إلى الإضافة إذا كانت هذه الإضافة تملك طريقة الإدخال النشطة. يجب أن تعرض دالة معالج الأحداث القيمة true إذا تم التعامل مع الحدث، والقيمة false إذا لم يتم التعامل معه. إذا كان سيتم تقييم الحدث بشكل غير متزامن، يجب أن تعرض هذه الدالة قيمة غير محدّدة، ويجب أن تستدعي طريقة الإدخال لاحقًا keyEventHandled() مع النتيجة.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined

    • 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.

      • نص

        سلسلة

        النص المحيط بالمؤشر هذه ليست سوى مجموعة فرعية من كل النص في حقل الإدخال.