تهدف هذه الميزة إلى استكمال وظائف وحدة التحكم باللمس أو واجهة المستخدم التي تعمل باللمس. وليس المقصود أن تحل محلها .

أمثلة على التطبيقات:

  • في الفصول الدراسية وأثناء المحاضرات ، يمكن استخدام جهاز تحكم عن بعد صغير لإيقاظ جهاز من وضع الاستعداد. قد يكون من الملائم أيضا استخدام جهاز تحكم عن بعد لتحديد مصدر الإدخال الذي سيتم تقديمه.

  • التحكم في عرض الكاميرا (التحريك والإمالة والتكبير/التصغير) في المواقف التي لا يسمح لك فيها باستخدام وحدة التحكم باللمس. على سبيل المثال ، في غرف العمليات في المستشفى.

نظرة عامة وظيفية

عند الضغط على زر على جهاز إدخال USB، فإنه يؤدي إلى تشغيل إجراء ضمن API جهاز Cisco. يمكن إعداد وحدات الماكرو أو أجهزة التحكم الخارجية من جهات خارجية لاكتشاف هذه الإجراءات والتفاعل وفقا لذلك. تشبه هذه الوظيفة الطريقة التي تتصرف بها أزرار التحكم داخل الغرفة. بالإضافة إلى ذلك ، من الممكن مراقبة هذه الإجراءات من خلال خطافات الويب أو مباشرة داخل جلسة SSH.

لا يتم توفير مكتبة إجراءات موجودة مسبقا للاختيار من بينها. أنت مطالب بتحديد وإنشاء الإجراءات المحددة التي يجب أن تحدث استجابة للأحداث. على سبيل المثال:

  • قم بزيادة مستوى صوت جهاز Cisco عند الضغط على مفتاح رفع مستوى الصوت.

  • ضع جهاز Cisco في وضع الاستعداد عند الضغط على مفتاح السكون.

التكوينات والأحداث والحالة

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

عند فتح واجهة الويب الخاصة بالجهاز ، انقر فوق الإعدادات . ضمن التكوينات ، قم بتغيير وضع الأجهزة الطرفية > InputDevice إلى تشغيل. يتم تعطيل دعم أجهزة إدخال USB التابعة لجهات خارجية بشكل افتراضي.

يؤدي الضغط على زر وتحريره إلى إنشاء حدث "مضغوط " وحدث "تم تحريره ":

 *ه إدخال واجهة المستخدم مفتاح مفتاح العمل: <اسم المفتاح> *ه مدخل واجهة المستخدم رمز إجراء مفتاح الجهاز: <معرف المفتاح> * ه إدخال واجهة المستخدم نوع الإجراء الرئيسي: مضغوط ** النهاية * ه إدخال واجهة المستخدم مفتاح الإجراء الرئيسي: <اسم المفتاح> * ه إدخال واجهة المستخدم رمز إجراء مفتاح الجهاز: <معرف المفتاح> *ه إدخال واجهة المستخدم نوع إجراء مفتاح الجهاز: صدر ** النهاية 

للاستماع إلى الأحداث، يجب تسجيل الملاحظات من أحداث InputDevice :

 xFeedback التسجيل / الحدث / واجهة المستخدم / جهاز الإدخال ** النهاية 

عندما يكتشف جهاز Cisco الجهاز الطرفي التابع لجهة خارجية، إدراجه ضمن الحالة وفي الأجهزة الطرفية > ConnectedDevice . قد يتم الإبلاغ عن جهاز الجهة الخارجية كأجهزة متعددة.

مزيد من المعلومات

يمكنك العثور على مزيد من المعلومات حول استخدام جهاز إدخال تابع لجهة خارجية في دليل التخصيص. اختر أحدث إصدار.

لا يدعم دعم Cisco (TAC) تصحيح أخطاء التعليمات البرمجية لجهة خارجية، بما في ذلك وحدات الماكرو. يرجى التحقق من Cisco RoomOS لأجهزة التعاون إذا كنت بحاجة إلى مساعدة بشأن وحدات الماكرو والتعليمات البرمجية لجهة خارجية. راجع هذه الصفحة للحصول على مزيد من الأمثلة على وحدات الماكرو والملحقات.

مثال

في هذا المثال، نريد أن نوضح لك كيفية استخدام مفاتيح جهاز إدخال USB تابع لجهة خارجية (في هذه الحالة وحدة تحكم عن بعد) للتحكم في وظائف معينة على جهاز Cisco.

نوضح لك كيفية استخدام الأزرار الموجودة على جهاز التحكم عن بعد Bluetooth (المتصل من خلال دونجل USB) لإدارة وظائف مثل الاستعداد وضبط مستوى الصوت والتحكم في جهاز كاميرا Cisco. يمكنك تطوير ماكرو يستمع إلى الأحداث ذات الصلة وينفذ الإجراءات المقابلة من خلال API جهاز Cisco.

في المثال التالي، يجب إدخال النص المكتوب بالخط العادي. النص المكتوب بخط مائل هو الاستجابة التي تم تلقيها من جهاز Cisco.

1

قم بتسجيل الدخول إلى جهاز Cisco على SSH. تحتاج إلى مستخدم مسؤول محلي .

2

قم بتكوين الجهاز للسماح باستخدام وحدة تحكم عن بعد USB تابعة لجهة خارجية.

 xتكوين الأجهزة الطرفية الإدخالوضع الجهاز: تشغيل  ** نهاية موافق  

 

يمكنك التحقق مما إذا كان التكوين قيد التشغيل أو إيقاف باستخدام هذا الأمر:

 xتكوين الأجهزة الطرفية الإدخالوضع   الجهاز*c xإدخال الأجهزة الطرفية للتكوينوضع الجهاز: تشغيل ** نهاية موافق  
3

سجل للحصول على تعليقات ، حتى يتم إخطارنا عند الضغط على أزرار التحكم عن بعد وتحريرها.

 xFeedback التسجيل / الحدث / واجهة المستخدم / جهاز   الإدخال ** النهاية موافق  

 

يمكنك التحقق من التعليقات التي تم تسجيل الجهاز من أجلها باستخدام هذا الأمر:

 xقائمة ردود الفعل  / الحدث / واجهة المستخدم / جهاز الإدخال ** نهاية موافق  
4

اضغط على زر في جهاز التحكم عن بعد وحرره للتحقق من عمل تسجيل الملاحظات.

ينتج عن هذا الإجراء حدثان: مضغوط ومحرر . إذا ضغطت مع الاستمرار على زر، فسترى الحدث "مضغوط" حتى تحرر الزر. ثم يتم إنشاء الحدث الذي تم إصداره .

يتم إصدار هذه الأحداث عند الضغط على المفتاح Enter وتحريره:

  *ه إدخال واجهة المستخدممفتاح عمل الجهاز: KEY_ENTER *ه إدخال واجهة المستخدمرمز إجراء مفتاح الجهاز: 28 * ه إدخال واجهة المستخدمنوع إجراء مفتاح الجهاز: مضغوط ** نهاية *ه إدخال واجهة المستخدممفتاح إجراء الجهاز: KEY_ENTER * ه إدخال واجهة المستخدم رمز إجراء مفتاح الجهاز: 28 * ه إدخال واجهة المستخدم نوع إجراء مفتاح الجهاز: صدر ** نهاية  
5

اكتب ماكرو يستمع إلى أحداث InputDevice ذات الصلة ، وينفذ الإجراءات المقترنة باستخدام API الجهاز.

  • اجعل أزرار الاستعداد ورفع الصوت وخفض الصوت تنبض بالحياة. عندما يرى الماكرو حدثا يحتوي على KEY_VOLUMEUP أو KEY_VOLUMEDOWN أو KEY_SLEEP، فإنه يقوم بتنفيذ الأوامر ذات الصلة.

  • قم بإنشاء وظيفة التحكم في الكاميرا لمفاتيح الأسهم. نريد الاستمرار في تحريك الكاميرا طالما تم الضغط على الزر. عند تحرير الزر، تتوقف حركة الكاميرا. عندما يرى الماكرو حدثا يحتوي على KEY_LEFT أو KEY_RIGHT أو KEY_UP أو KEY_DOWN، فإنه يقوم بتنفيذ الأوامر ذات الصلة.

 const xapi = require('xapi'); وظيفة com(command, args='') { xapi.command(command, args); log(command + ' ' + JSON.stringify(args)); } سجل الدالة(حدث) { console.log(حدث); } وظيفة إخطار (رسالة) { xapi.command('UserInterface message TextLine Display', { النص: رسالة, المدة: 3 }); } وظيفة cameraControl(المحرك, الاتجاه, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId', [المحرك]: الاتجاه }); } وظيفة init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state. الدولة === "إيقاف"؟ خطأ: صواب. }); xapi.status.on('Standby', state => { standbyState = state. الدولة === "إيقاف"؟ خطأ: صواب. }); xapi.event.on('إجراء مفتاح UserInterface InputDevice '، اضغط على => { إذا (اضغط على. اكتب == "مضغوط") { مفتاح التبديل (اضغط على. مفتاح) { الحالة "KEY_LEFT": cameraControl ('Pan', 'Left'); break; case "KEY_RIGHT": cameraControl(', 'Right'); break; case "KEY_UP": cameraControl ("Tilt', 'Up'); break; case "KEY_DOWN": cameraControl('Tilt', 'Down'); break; default: break; } } آخر إذا (اضغط على. اكتب == "تم الإصدار") { التبديل (اضغط على. مفتاح) { الحالة "KEY_LEFT": cameraControl ("عموم" ، "إيقاف") ؛ استراحة ؛ حالة "KEY_RIGHT": cameraControl ("عموم" ، "إيقاف") ؛ استراحة ؛ حالة "KEY_UP": cameraControl ("إمالة" ، "إيقاف") ؛ استراحة ؛ حالة "KEY_DOWN": cameraControl ("إمالة" ، "إيقاف") ؛ استراحة ؛ حالة "KEY_VOLUMEUP": com ("زيادة حجم الصوت") ؛ استراحة ؛ الحالة "KEY_VOLUMEDOWN": com ("انخفاض حجم الصوت") ؛ استراحة. الحالة 'KEY_SLEEP': com (حالة الاستعداد؟ "إلغاء تنشيط الاستعداد": "تنشيط الاستعداد") ؛ كسر; الافتراضي: استراحة. } } }); } init();