Exempel
list-menuHar du feedback?

I det här exemplet vill vi visa dig hur du använder knapparna på en USB-inmatningsenhet från tredje part (i det här fallet en fjärrkontroll) för att styra vissa funktioner på en Cisco-enhet.

Vi visar dig hur du använder knapparna på en Bluetooth fjärrkontroll (ansluten via en USB dongel) för att hantera funktioner som standby, volymjustering och kontroll av en Cisco kameraenhet. Du kan utveckla ett makro som lyssnar på relevanta händelser och utför motsvarande åtgärder via Cisco enhetens API.

I följande exempel måste du ange texten som är skriven med normalt teckensnitt. Texten i kursiv stil är svaret från enheten Cisco.

1

Logga in på enheten Cisco på SSH. Du behöver en lokal administratörsanvändare .

2

Konfigurera enheten så att den tillåter användning av en USB fjärrkontroll från tredje part.

 xConfiguration Kringutrustning InputDevice-läge: På ** slut OK  

 

Du kan kontrollera om konfigurationen är På eller Av med det här kommandot:

 xKonfigurationskringutrustning InputDevice-läge  *c xConfiguration Kringutrustning InputDevice-läge: På ** slut OK  
3

Registrera dig för feedback, så att vi meddelas när fjärrkontrollens knappar trycks in och släpps.

 xFeedback Registrera /event/userinterface/inputdevice  ** slut OK  

 

Du kan kontrollera vilka återkopplingar enheten är registrerad för med det här kommandot:

 xFeedback-lista /händelse/användargränssnitt/inputdevice ** slut OK  
4

Tryck och släpp en knapp på fjärrkontrollen för att kontrollera att feedbackregistreringen fungerar.

Den här åtgärden genererar två händelser: Pressad och Frigjord. Om du håller ned en knapp visas händelsen Nedtryckt tills du släpper knappen. Sedan genereras händelsen Släppt .

Dessa händelser utfärdas när du trycker på och släpper Enter-tangenten:

  *e Användargränssnitt InputDevice Nyckel Åtgärd Nyckel: KEY_ENTER *e Användargränssnitt IngångEnhet Nyckel Åtgärdskod: 28 *e Användargränssnitt InputDevice Nyckel Åtgärdstyp: Pressad ** slut *e Användargränssnitt InputDevice Nyckel Åtgärdsknapp: KEY_ENTER *e Användargränssnitt InputDevice Nyckel Åtgärdskod: 28 *e Användargränssnitt InputDevice Nyckel Åtgärdstyp: Släppt ** slut  
5

Skriv ett makro som lyssnar efter relevanta InputDevice-händelser och utför de associerade åtgärderna med hjälp av enhetens API.

  • Ge liv åt knapparna för standby, volym upp och volym ned. När makrot ser en händelse som innehåller KEY_VOLUMEUP, KEY_VOLUMEDOWN eller KEY_SLEEP körs de relaterade kommandona.

  • Skapa en kamerakontrollfunktion för piltangenterna. Vi vill fortsätta flytta kameran så länge knappen trycks in. När knappen släpps stoppas kamerarörelsen. När makrot ser en händelse som innehåller KEY_LEFT, KEY_RIGHT, KEY_UP eller KEY_DOWN körs de relaterade kommandona.

 const xapi = kräv ('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. Tillstånd === 'Av'? falskt: sant; }); xapi.status.on('Vänteläge', tillstånd => { standbyState = tillstånd. Tillstånd === 'Av'? falskt: sant; }); xapi.event.on('UserInterface InputDevice Key Action', tryck => { if (tryck på. Skriv == "Pressad") { switch (tryck på. Key) { skiftläge "KEY_LEFT": cameraControl('Panorera', 'Left'); break; skiftläge "KEY_RIGHT": cameraControl('Pan', 'Right'); break; skiftläge "KEY_UP": cameraControl('Tilt', 'Up'); break; skiftläge "KEY_DOWN": cameraControl('Tilt', 'Down'); break; standard: break; } } else if (tryck. Skriv == "Släppt") { switch (tryck på. 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 Reduction'); break; case "KEY_SLEEP": com(standbyState? "Avaktivera standby": "Aktivera standby"); Bryta; standard: paus; } } }); } init(); 
Var den här artikeln användbar?
Var den här artikeln användbar?