Denne funksjonen er ment å supplere funksjonene til berøringskontrolleren eller berøringsbrukergrensesnittet. Det er ikke ment å erstatte dem.

Eksempler på applikasjoner:

  • I klasserom og under forelesninger kan en liten fjernkontroll brukes til å vekke en enhet fra standbymodus. Det kan også være praktisk å bruke en fjernkontroll til å velge hvilken inngangskilde som skal presenteres.

  • Kontrollere kameravisningen (panorering, helling og zoom) i situasjoner der du ikke har tillatelse til å bruke berøringskontrolleren. For eksempel i operasjonsrom på et sykehus.

Funksjonsoversikt

Når en knapp trykkes på USB-inngangsenheten, utløser den en handling i Cisco-enhetens API. Makroer eller eksterne kontrollenheter fra tredjeparter kan konfigureres til å oppdage disse handlingene og reagere deretter. Denne funksjonaliteten ligner på hvordan kontrollknappene i rommet fungerer. I tillegg er det mulig å overvåke disse handlingene via webhooks eller direkte i en SSH-økt.

Det finnes ikke et eksisterende bibliotek med handlinger å velge mellom. Du er pålagt å definere og etablere de spesifikke handlingene som skal skje som svar på hendelsene. For eksempel:

  • Øk volumet på Cisco-enheten når du trykker på Volum Up-tasten.

  • Sett Cisco-enheten i standbymodus når du trykker på Sleep-tasten.

Konfigurasjoner, hendelser og status

Konfigurasjonene og statusen som er nevnt i denne artikkelen, er tilgjengelige både fra det lokale webgrensesnittet til enheten og API-ene. Les artikkelen Enhetskonfigurasjoner for informasjon om hvordan du får tilgang til webgrensesnittet og bruker API-en.

Når nettgrensesnittet til enheten åpnes, klikker du på Innstillinger . Under Konfigurasjoner endrer du Periferienheter > Inngangsenhetsmodus til . Støtte for tredjeparts USB-inndataenheter er deaktivert som standard.

Hvis du trykker på og slipper en knapp, genereres en Trykket og en Frigitt hendelse:

 *e UserInterface InputDevice Key Action Key:  *e UserInterface InputDevice Key Action Code:  *e UserInterface InputDevice Key Action Type: Trykket ** ende *e UserInterface InputDevice Key Action Key:  *e UserInterface InputDevice Key Action Code:  *e UserInterface InputDevice Key Action Type: Utgitt ** slutt 

Hvis du vil lytte etter hendelser, må du registrere tilbakemeldinger fra InputDevice -hendelsene:

 xTilbakemeldingsregister /hendelse/UserInterface/InputDevice ** slutt 

Når Cisco-enheten oppdager tredjepartsenheten, vises den under Status og i Periferienheter > Tilkoblet enhet . Tredjepartsenheten kan rapporteres som flere enheter.

Ytterligere informasjon

Finn mer informasjon om bruk av en tredjeparts inndataenhet i Tilpasningsveiledning. Velg den nyeste versjonen.

Cisco Support (TAC) støtter ikke feilsøking av tredjepartskode, inkludert makroer. Sjekk Cisco RoomOS for Collaboration Devices hvis du trenger hjelp med makroer og tredjepartskode. Sjekk denne siden for flere eksempler på makroer og utvidelser.

Eksempel

I dette eksemplet vil vi vise deg hvordan du bruker tastene til en tredjeparts USB-inndataenhet (i dette tilfellet en fjernkontroll) til å styre bestemte funksjoner på en Cisco-enhet.

Vi viser deg hvordan du bruker knappene på en Bluetooth-fjernkontroll (koblet via en USB-dongle) til å administrere funksjoner som standby, volumjustering og styring av en Cisco-kameraenhet. Du kan utvikle en makro som lytter til relevante hendelser og utfører tilsvarende handlinger gjennom Cisco-enhetens API.

I eksemplet nedenfor må du skrive inn teksten som er skrevet med vanlig skrift. Teksten i kursiv er svaret mottatt fra Cisco-enheten.

1

Logg på Cisco-enheten på SSH. Du trenger en lokal administrator -bruker.

2

Konfigurer enheten slik at den tillater bruk av en tredjeparts USB-fjernkontroll.

 xConfiguration InputDevice-modus for eksterne enheter: På ** slutt OK  

 

Du kan sjekke om konfigurasjonen er på eller av ved hjelp av denne kommandoen:

 xConfiguration Peripheral Input Device Mode  *c xConfiguration Peripheral Input Device Mode: På ** slutt OK  
3

Registrer deg for tilbakemelding, slik at vi blir varslet når fjernkontrollknappene trykkes og frigis.

 xTilbakemeldingsregister /hendelse/brukergrensesnitt/inndataenhet  ** slutt OK  

 

Du kan sjekke hvilke tilbakemeldinger enheten er registrert for ved hjelp av denne kommandoen:

 xTilbakemeldingsliste /hendelse/brukergrensesnitt/inndataenhet ** slutt OK  
4

Trykk og slipp en knapp på fjernkontrollen for å kontrollere at tilbakemeldingsregistreringen fungerer.

Denne handlingen genererer to hendelser: Trykket og frigitt. Hvis du trykker og holder inne en knapp, ser du Trykket -hendelsen til du slipper knappen. Deretter genereres Released -hendelsen.

Disse hendelsene utstedes 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 ** ende *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Utgitt ** slutt  
5

Skriv en makro som lytter etter de relevante InputDevice -hendelsene, og utfører de tilknyttede handlingene ved hjelp av enhetens API.

  • Gi liv til knappene for standby, volum opp og volum ned. Når makroen ser en hendelse som inneholder KEY_VOLUMEUP, KEY_VOLUMEDOWN eller KEY_SLEEP, utfører den de relaterte kommandoene.

  • Opprett en kamera kontrollfunksjon for piltastene. Vi vil fortsette å bevege kameraet så lenge knappen er trykket. Når knappen slippes, stopper kamerabevegelsen. Når makroen ser en hendelse som inneholder KEY_LEFT, KEY_RIGHT, KEY_UP eller KEY_DOWN, utfører den de relaterte kommandoene.

 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: melding, varighet: 3 }); } funksjon cameraControl (motor, retning, cameraId='1') { com('Camera Ramp', { 'CameraId': kameraId, [motor]: direction }); } funksjon init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state.State === 'Av' ? false : true; }); xapi.status.on('Standby', state => { standbyState = state.State === 'Av'? false : true; }); xapi.event.on('UserInterface InputDevice Key Action', trykk => { if (press.Type == "Pressed") { switch (press.Key) { case "KEY_LEFT": cameraControl ("Pan", "Venstre"); bryt; sak "NØKKEL_HØYRE": cameraControl ('Pan', 'Høyre'); bryt; sak "NØKKEL_OPP": cameraControl ('Tilt', 'Opp'); bryt; sak "NØKKEL_NED": cameraControl ('Tilt', 'Ned'); bryt; standard: break; } } else if (press.Type == «Released») { switch (press.Key) { case «KEY_LEFT»: cameraControl ('Pan', 'Stopp'); bryt; sak "NØKKEL_HØYRE": cameraControl ('Pan', 'Stopp'); bryt; sak "NØKKEL_OPP": cameraControl ('Tilt', 'Stopp'); bryt; sak "NØKKEL_NED": cameraControl ('Tilt', 'Stopp'); bryt; sak 'NØKKELVOLUM_': com ("Økning av lydvolum"); bryt; sak "NØKKEL_VOLUMNED": com ("Reduksjon av lydvolum"); bryt; sak "KEY_SLEEP": com(standbyState? 'Standby Deaktiver': "Standby Activate"); pause; standard: bryt; } }}); } init();