Denne funktion er beregnet til at supplere funktionerne i touch-controlleren eller touch-brugergrænsefladen. Det er ikke meningen, at det skal erstatte dem.

Eksempler på programmer:

  • I klasseværelser og under forelæsninger kan en lille fjernbetjening bruges til at vække en enhed fra standbytilstand. Det kan også være praktisk at bruge en fjernbetjening til at vælge, hvilken indgangskilde der skal vises.

  • Styring af kameravisningen (panorering, vipning og zoom) i situationer, hvor du ikke har tilladelse til at bruge touch-controlleren. Det kan f.eks. være på operationsstuer på et hospital.

Funktionelt overblik

Når der trykkes på en knap på USB-inputenheden, udløser det en handling i Cisco-enhedens API. Makroer eller eksterne kontrolenheder fra tredjeparter kan konfigureres til at registrere disse handlinger og reagere i overensstemmelse hermed. Denne funktionalitet svarer til, hvordan knapper til kontrol på værelset opfører sig. Derudover er det muligt at overvåge disse handlinger via webhooks eller direkte i en SSH-session.

Der findes ikke et allerede eksisterende bibliotek med handlinger, du kan vælge imellem. Du er forpligtet til at definere og etablere de specifikke handlinger, der skal forekomme som reaktion på begivenhederne. For eksempel:

  • Forøg lydstyrken på Cisco-enheden, når der trykkes på lydstyrke op-tasten.

  • Sæt Cisco-enheden i standbytilstand, når der trykkes på slumretasten.

Konfigurationer, hændelser og status

De konfigurationer og den status, der henvises til i denne artikel, er tilgængelige både fra enhedens lokale webgrænseflade og API'erne. Læs artiklen Enhedskonfigurationer for at få oplysninger om, hvordan du får adgang til webgrænsefladen og bruger API.

Når enhedens webgrænseflade åbnes, skal du klikke på Indstillinger . Under Konfigurationer skal du ændre tilstanden Periferiudstyr> inputenhed til Til. Understøttelse af USB-indgangsenheder fra tredjepart er som standard deaktiveret.

Hvis du trykker og slipper en knap, genereres en nedtrykket og en frigivet hændelse:

 *e UserInterface InputDevice Key Action Key: <navn på nøglen> *e UserInterface InputDevice Key Action Code: <id af nøglen> *e UserInterface InputDevice Key Action Type: Trykket ** end *e UserInterface InputDevice Key Action Key: <navn på tasten> *e UserInterface InputDevice Key Action Code: <id af nøglen> *e UserInterface InputDevice Key Action Type: Udgivet ** slut 

Hvis du vil lytte til begivenheder, skal du registrere feedback fra indgangsenhedshændelser:

 xFeedback Register /event/UserInterface/InputDevice ** end 

Når Cisco-enheden detekterer eksterne enheder fra tredjepart, vises det under Status og under Periferiudstyr> TilsluttetEnhed . Tredjepartsenheden kan blive rapporteret som flere enheder.

Yderligere oplysninger

Få flere oplysninger om brug af en tredjepartsindgangsenhed i tilpasningsvejledningen. Vælg den nyeste version.

Cisco-support (TAC) hjælper ikke ved fejlfinding af tredjepartskode, herunder makroer. Se Cisco RoomOS til samarbejdsenheder , hvis du har brug for hjælp til makroer og tredjepartskode. Se flere eksempler på makroer og udvidelser på denne side .

Eksempel

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 angive den tekst, der er skrevet med normal skrifttype. Teksten i kursiv er det svar, der er modtaget fra Cisco-enheden.

1

Logge på Cisco-enheden på SSH. Du skal bruge en lokal administratorbruger.

2

Konfigurer enheden til at tillade brug af en USB-fjernbetjening fra tredjepart.

 xConfiguration Peripherals InputDevice Mode: Til ** slut OK  

 

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

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

Tilmeld til feedback, så vi får besked, når knapperne på fjernbetjeningen bliver trykket på eller frigivet.

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

 

Du kan kontrollere, hvilken feedback enheden registreres for, ved hjælp af denne kommando:

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

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

Denne handling genererer to hændelser: Nedtrykket og Frigivet. Hvis du trykker på og holder en knap nede, kan du se hændelsen Nedtrykket, indtil du slipper knappen. Så genereres hændelsen Frigivet.

Disse hændelser udstedes ved at trykke og slippe på 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 hændelser for indgangsenhed og udfører de tilknyttede handlinger ved brug af enhedens API.

  • Aktiverer standbytilstanden, lydstyrke op- og ned-knapperne. Når makroen ser en hændelse, der indeholder KEY_VOLUMEUP, KEY_VOLUMEDOWN eller KEY_SLEEP, kører den relaterede kommandoer.

  • Opret en kamerastyringsfunktion til piletasterne. Vi vil gerne blive ved med at flytte kameraet, så længe der trykkes på knappen. Når knappen er frigivet, stopper bevægelsen af kameraet. 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();