דוגמה
list-menuמשוב?

בדוגמה זו, אנו רוצים להראות לך כיצד להשתמש במקשים של התקן קלט USB של צד שלישי (במקרה זה שלט רחוק) כדי לשלוט בפונקציות מסוימות במכשיר סיסקו.

אנו מראים לך כיצד להשתמש בכפתורים בשלט רחוק Bluetooth (המחובר דרך דונגל USB) לניהול פונקציות כמו המתנה, התאמת עוצמת קול ושליטה במכשיר מצלמה של סיסקו. אתה יכול לפתח מאקרו שמקשיב לאירועים רלוונטיים ומבצע פעולות מתאימות באמצעות ה- API של מכשיר סיסקו.

בדוגמה הבאה, עליך להכניס את הטקסט הכתוב בגופן רגיל. הטקסט נטוי הוא התגובה שהתקבלה ממכשיר סיסקו.

1

היכנס למכשיר סיסקו ב- SSH. אתה צריך משתמש מנהל מק ומי.

2

הגדר את ההתקן כך שיאפשר שימוש בשלט רחוק USB של צד שלישי.


       xConfiguration Peripherals InputDevice Mode: On 
      ** end OK  
               

 

באפשרותך לבדוק אם התצורה מופעלת או כבויה באמצעות פקודה זו:


        xConfiguration Peripherals InputDevice Mode 
        *c xConfiguration Peripherals InputDevice Mode: On ** end OK  
                  
3

הירשם למשוב, כך שנקבל הודעה כאשר לחצני השלט רחוק נלחצים ומשחררים אותם.


       xFeedback Register /event/userinterface/inputdevice 
       ** end OK  
               

 

באפשרותך לבדוק לאילו פידבקים המכשיר רשום באמצעות פקודה זו:


        xFeedback list 
       /event/userinterface/inputdevice ** end OK  
                  
4

לחץ ושחרר כפתור בשלט הרחוק כדי לבדוק שרישום משוב עובד.

פעולה זו יוצרת שני אירועים: לחו ץ ושו חרר. אם תלחץ לחיצה ממושכת על לחצן, תראה את האירוע Pres sed עד שתשחרר את הלחצן. לאחר מכן נוצר האי רוע המשוחרר.

אירועים אלה מונפקים בעת לחיצה ושחרור מקש Enter:

 
                   *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Pressed ** end *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Released ** end  
               
5

כתוב מאקרו שמקשיב לאירועי InputDevice הרלוונטיים ומבצע את הפעולות המשויכות באמצעות ה- API של המכשיר.

  • הביאו לחיים את לחצני המתנה, הגדלת עוצמת הקול וההפחתת עוצמת הקול. כאשר המאקרו רואה אירוע המכיל KEY_VOLUMEUP, KEY_VOLUMEDOWN או KEY_SLEEP, הוא מבצע את הפקודות הקשורות.

  • צור פונקציית בקרת מצלמה עבור מקשי החצים. אנו רוצים להמשיך להזיז את המצלמה כל עוד נלחץ על הכפתור. כאשר הכפתור משוחרר, תנועת המצלמה נעצרת. כאשר המאקרו רואה אירוע המכיל KEY_LEFT, KEY_RIGHT, KEY_UP או KEY_DOWN, הוא מבצע את הפקודות הקשורות.


       const xapi = require('xapi'); function com(command, args='') { xapi.command(command, args); log(command + ' ' + JSON.stringify(args)); } function log(event) { console.log(event); } function notify(message) { xapi.command('UserInterface Message TextLine Display', { Text: message, duration: 3 }); } function cameraControl(motor, direction, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: direction }); } function init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state.State === 'Off' ? false : true; }); xapi.status.on('Standby', state => { standbyState = state.State === 'Off' ? false : true; }); xapi.event.on('UserInterface InputDevice Key Action', press => { if (press.Type == "Pressed") { switch (press.Key) { case "KEY_LEFT": cameraControl('Pan', 'Left'); break; case "KEY_RIGHT": cameraControl('Pan', 'Right'); break; case "KEY_UP": cameraControl('Tilt', 'Up'); break; case "KEY_DOWN": cameraControl('Tilt', 'Down'); break; default: break; } } else if (press.Type == "Released") { switch (press.Key) { case "KEY_LEFT": cameraControl('Pan', 'Stop'); break; case "KEY_RIGHT": cameraControl('Pan', 'Stop'); break; case "KEY_UP": cameraControl('Tilt', 'Stop'); break; case "KEY_DOWN": cameraControl('Tilt', 'Stop'); break; case 'KEY_VOLUMEUP': com('Audio Volume Increase'); break; case 'KEY_VOLUMEDOWN': com('Audio Volume Decrease'); break; case 'KEY_SLEEP': com(standbyState ? 'Standby Deactivate' : 'Standby Activate'); break; default: break; } } }); } init(); 
     
האם המאמר הועיל לך?
האם המאמר הועיל לך?