Deze functie is bedoeld als aanvulling op de functionaliteiten van de touch controller of de touch user interface. Het is niet bedoeld om ze te vervangen .

Voorbeelden van toepassingen:

  • In de klas en tijdens colleges kan een kleine afstandsbediening worden gebruikt om vanuit de stand-bymodus een apparaat te activeren. Het kan ook handig zijn om een afstandsbediening te gebruiken om te selecteren welke invoerbron u wilt weergeven.

  • Het beeld van de camera (paneren, kantelen en zoomen) in situaties waarbij u de touch controller niet mag gebruiken. Bijvoorbeeld in operatiekamers in een ziekenhuis.

Overzicht functionele functies

Als op een knop op het USB-invoerapparaat wordt gedrukt, wordt hiermee een bewerking geactiveerd binnen de API van het Cisco-apparaat. Macro's of externe besturingsapparaten van derden kunnen worden ingesteld om deze handelingen te detecteren en dienovereenkomstig te reageren. Deze functionaliteit is vergelijkbaar met het gedrag van de knoppen voor in-room control. Daarnaast is het haalbaar om deze acties te controleren via webhooks of direct binnen een SSH-sessie.

Er is geen reeds bestaande bibliotheek met acties waaruit u kunt kiezen. U wordt gevraagd om de specifieke acties te definiëren en instellen die moeten plaatsvinden als reactie op de gebeurtenissen. Bijvoorbeeld:

  • Verhoog het volume van het Cisco-apparaat wanneer u op de toets Volume omhoog drukt.

  • Zet het Cisco-apparaat in de stand-bymodus wanneer u op de toets Slaapstand drukt.

Configuraties, Gebeurtenissen en Status

De configuraties en status die in dit artikel worden genoemd, zijn beschikbaar via de lokale webinterface van het apparaat en de API's. Lees het artikel Apparaatconfiguraties voor informatie over het openen van de webinterface en het gebruik van de API.

Wanneer de webinterface van het apparaat is geopend, klikt u op Instellingen . Wijzig bij Configuraties de optie Randapparaten> InputDevice Modus in Aan. De ondersteuning voor USB-apparaten van derden is standaard uitgeschakeld.

Wanneer u een knop indrukt en loslaat, veroorzaakt dit een gebeurtenis Ingedrukt en een gebeurtenis Losgelaten:

 *Sleutelbewerking gebruikersinterface-invoerApparaat: <naam van de sleutel> *e Gebruikersinterface Invoersleutel: <id van de sleutel> *e UserInterface InvoerSleutel bewerking: Ingedrukt ** einde *e Sleutelbewerking gebruikersinterface-invoerApparaat: <naam van de sleutel> *e Sleutelbewerkingscode gebruikersinterface invoerApparaat: <id van de sleutel> *e Type bewerking sleutel gebruikersinterface-invoerDevice: Vrijgegeven ** einde 

Als u wilt luisteren naar gebeurtenissen, moet u feedback registreren in de gebeurtenissen Invoerapparaat:

 xFeedback registreren /gebeurtenis/Gebruikersinterface/InvoerApparaat ** einde 

Wanneer het Cisco-apparaat het randapparaat van derden detecteert, wordt dit vermeld onder Status en in Randapparaten > ConnectedDevice . Het apparaat van de derde partij kan worden gerapporteerd als meerdere apparaten.

Meer informatie

Meer informatie over het gebruik van een invoerapparaat van een derde partij vindt in de Aanpassingsgids. Kies de meest recente versie.

De support van Cisco (TAC) biedt geen ondersteuning voor de debugging van code van een derde partij, inclusief macro's. Selecteer Cisco RoomOS voor samenwerkingsapparaten als u hulp nodig hebt met macro's en code van derden. Controleer deze pagina voor meer voorbeelden van macro's en toestelnummers.

Voorbeeld

In dit voorbeeld willen we u laten zien hoe u de toetsen van een USB-invoerapparaat van derden kunt gebruiken (in dit geval een afstandsbediening) om bepaalde functies op een Cisco-apparaat te bedienen.

Wij laten u zien hoe u de knoppen op een Bluetooth afstandsbediening kunt gebruiken (verbonden via een USB gadget) voor het beheren van functies zoals stand-by, volume aanpassen en bediening van een Cisco camera apparaat. U kunt een macro ontwikkelen die luistert naar relevante gebeurtenissen en die overeenkomstige acties uitvoert via de API van het Cisco-apparaat.

In het volgende voorbeeld, moet u de tekst invoeren die is geschreven in het normale lettertype. Cursief is de reactie die is ontvangen van het Cisco-apparaat.

1

Meld u aan bij het Cisco-apparaat op SSH. U hebt een lokale admin-gebruiker nodig.

2

Configureer het apparaat om het gebruik van een USB-afstandsbediening van derden toe te staan.

 Modus Invoer xConfiguratierandapparatuur:  Aan** ok  

 

U kunt controleren of de configuratie is in- of uitgeschakeld met deze opdracht:

 xConfiguratie randapparaten InputDevice Modus  *c x-configuratierandapparatuur InputDevice Modus: Aan ** einde OK  
3

Registreer voor feedback, zodat we een melding ontvangen wanneer de knoppen van de afstandsbediening worden ingedrukt en losgelaten.

 xFeedback register /gebeurtenis/userinterface/invoerapparaat  ** end OK  

 

U kunt controleren voor welke feedback het apparaat is geregistreerd met deze opdracht:

 xFeedback-lijst /gebeurtenis/gebruikersinterface/invoerapparaat ** einde OK  
4

Druk op een knop op de afstandsbediening en laat deze los om te controleren dat feedbackregistratie werkt.

Deze actie genereert twee gebeurtenissen: Ingedrukt en Losgelaten. Als u op een knop drukt en deze ingedrukt houdt, ziet u de gebeurtenis Ingedrukt totdat u de knop loslaat. Vervolgens wordt de gebeurtenis Losgelaten gegenereerd.

Deze gebeurtenissen worden uitgegeven wanneer u de Enter-toets indrukt en loslaat:

  *E Gebruikersinterface Sleutelbewerkingssleutel inputDevice: KEY_ENTER *e Gebruikersinterface Sleutelbewerkingscode InvoerDevice: 28 *e Gebruikersinterface Sleutelbewerkingstype InputDevice: Gedrukt ** einde *e Gebruikersinterface invoerSleutel: KEY_ENTER *e Gebruikersinterface InvoerSleutel Bewerking: 28 *e Gebruikersinterface-invoerSleutelactie: 28 *e Gebruikersinterface-invoerSleuteltoets: Vrijgegeven ** einde  
5

Schrijf een macro die voor de relevante Invoerapparaat-gebeurtenissen luistert en de gekoppelde acties uitvoert met behulp van de API van het apparaat.

  • Breng de knoppen standby, volume omhoog en volume omlaag tot leven. Wanneer de macro een gebeurtenis ziet met KEY_VOLUMEUP, KEY_VOLUMEDOWN of KEY_SLEEP, worden de gerelateerde opdrachten uitgevoerd.

  • Maak een camerabesturingsfunctie voor de pijltoetsen. We willen dat de camera blijft bewegen zolang de knop wordt ingedrukt. Wanneer de knop wordt losgelaten, stopt de camera met bewegen. Wanneer de macro een gebeurtenis ziet met KEY_LEFT, KEY_RIGHT, KEY_UP of KEY_DOWN, worden de gerelateerde opdrachten uitgevoerd.

 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', { Tekst: message, duration: 3 }); function cameraControl(motor, direction, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: richting }); } function init() { stand-byStatus; xapi.status.get('Stand-by').then(status) => {stand-byState = status. Staat === 'Uit' ? onwaar: waar; }); xapi.status.on('Stand-by', status => { stand-byStatus = status. Staat === 'Uit' ? onwaar: waar; }); xapi.event.on('UserInterface InputDevice Key Action', druk op => { if (druk op. Type == "Pressed") { switch (press. Toets) { case "KEY_LEFT": cameraControle('Pan', 'Links'), pauze; case "KEY_RIGHT": cameraControle('Pan', 'Rechts'); pauze; case "KEY_UP": cameraControle('Kantelen', 'Omhoog'), pauze; case "KEY_DOWN": cameraControl('Kantelen', 'Omlaag'); pauze; standaard: pauze; } else if (druk op. Type == "Vrijgegeven") { switch (druk op. Sleutel) { case "KEY_LEFT": cameraControle('Pan', 'Stop'); break; case "KEY_RIGHT": cameraControle('Pan', 'Stop'); break; case "KEY_UP": cameraControl('Tilt', 'Stop'), break; case "KEY_DOWN": cameraControl('Tilt', 'Stop'); break; case 'KEY_VOLUMEUP': com('Audio Volume Verhogen'), pauze; case 'KEY_VOLUMEDOWN': com('Audio Volume Verlagen'); pauze; case 'KEY_SLEEP': com(stand-byStatus? 'Stand-by Deactiveren' : 'Stand-by geactiveerd'); Breken; standaardwaarde: pauze; } } }); } init();