Eksempel
list-menuHar du feedback?

I dette eksempel vil vi vise dig, hvordan du bruger tasterne på en tredjeparts USB-inputenhed (i dette tilfælde en fjernbetjening) til at styre visse funktioner på en Cisco-enhed.

Vi viser dig, hvordan du bruger knapperne på en Bluetooth fjernbetjening (tilsluttet via en USB dongle) til at styre funktioner som standby, lydstyrkejustering og styring af en Cisco kameraenhed. Du kan udvikle en makro, der lytter til relevante hændelser og udfører tilsvarende handlinger via Cisco-enhedens API.

I følgende eksempel skal du indtaste den tekst, der er skrevet med normal skrifttype. Teksten i kursiv er svaret modtaget fra Cisco-enheden.

1

Log ind på Cisco enheden på SSH. Du skal bruge en lokal administratorbruger .

2

Konfigurer enheden til at tillade brug af en tredjeparts USB fjernbetjening.

 xConfiguration Peripherals InputDevice Mode: Til ** slut OK  

 

Du kan kontrollere, om konfigurationen er Til eller Fra, ved hjælp af denne kommando:

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

Tilmeld dig feedback, så vi får besked, når der trykkes på fjernbetjeningens knapper og slippes.

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

 

Du kan kontrollere, hvilke tilbagemeldinger enheden er registreret til ved hjælp af denne kommando:

 xFeedback-liste /hændelse/brugergrænseflade/inputenhed ** slut OK  
4

Tryk og slip en knap på fjernbetjeningen for at kontrollere, at feedbackregistrering fungerer.

Denne handling genererer to hændelser: Trykket og Frigivet. Hvis du trykker på en tast og holder den nede, vises hændelsen Tryk på, indtil du slipper knappen. Derefter genereres hændelsen Frigivet .

Disse hændelser udstedes, når du trykker på og slipper Enter-tasten:

  *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Trykket ** end *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Frigivet ** end  
5

Skriv en makro, der lytter efter de relevante inputenhedshændelser og udfører de tilknyttede handlinger ved hjælp af enhedens API.

  • Gør knapperne standby, lydstyrke op og lydstyrke ned levende. Når makroen ser en hændelse, der indeholder KEY_VOLUMEUP, KEY_VOLUMEDOWN eller KEY_SLEEP, udfører den de relaterede kommandoer.

  • Opret en kamerakontrolfunktion til piletasterne. Vi vil fortsætte med at flytte kameraet, så længe der trykkes på knappen. Når knappen slippes, stopper kamerabevægelsen. Når makroen ser en hændelse, der indeholder KEY_LEFT, KEY_RIGHT, KEY_UP eller KEY_DOWN, udfører den de relaterede kommandoer.

 const xapi = kræver ('xapi'); funktion 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. Tilstand === 'Fra'? falsk: sandt; }); xapi.status.on('Standby', tilstand => { standbyState = tilstand. Tilstand === 'Fra'? falsk: sandt; }); xapi.event.on('UserInterface InputDevice Key Action', tryk på => { if (tryk på. Type == "Presset") { kontakt (tryk. Tast) { case "KEY_LEFT": cameraControl('Panor', 'Left'); break; case "KEY_RIGHT": cameraControl ('Panor', 'Right'); break; case "KEY_UP": cameraControl ('Tilt', 'Up'); break; case "KEY_DOWN": cameraControl ('Tilt', 'Down'); pause; standard: break; } } ellers hvis (tryk. Type == "Frigivet") { switch (tryk på. Tast) { case "KEY_LEFT": cameraControl ('Panor', 'Stop'); pause; case "KEY_RIGHT": cameraControl ('Panor', 'Stop'); pause; case "KEY_UP": cameraControl ('Tilt', 'Stop'); pause; case "KEY_DOWN": cameraControl ('Tilt', 'Stop'); pause; case 'KEY_VOLUMEUP': com('Audio Volume Increase'); pause; case 'KEY_VOLUMEDOWN': com('Audio Volume Reduction'); pause; case 'KEY_SLEEP': com(standbyState? »Standby-deaktivering«: »Standbyaktivering«); Bryde; Standard: pause; } } }); } init(); 
Var denne artikel nyttig?
Var denne artikel nyttig?