I den här artikeln
Exempel
Användning av USB-inmatningsenheter från tredje part med Board-, skrivbords- och rumsserier
list-menuI den här artikeln
list-menuHar du feedback?

Du kan använda en USB-kringutrustning från tredje part för att styra vissa funktioner på enheten, till exempel ett USB-tangentbord eller en Bluetooth-fjärrkontroll® med en USB-dongel.

Den här funktionen är avsedd att komplettera funktionerna i pekkontrollen eller användargränssnittet. Det är inte meningen att ersätta dem.

Exempel på användningsområden:

  • I klassrum och under föreläsningar kan en liten fjärrkontroll användas för att väcka en enhet från vänteläge. Det kan också vara praktiskt att använda en fjärrkontroll för att välja vilken ingångskälla som ska presenteras.

  • Styra kameravyn (panorera, vinkla och zooma) i situationer där du inte får använda pekkontrollen. Till exempel i operationssalar på ett sjukhus.

Funktionell översikt

När en knapp trycks ned på inmatningsenheten USB utlöser den en åtgärd inom Cisco enhets API. Makron eller externa kontrollenheter från tredje part kan ställas in för att upptäcka dessa åtgärder och reagera därefter. Den här funktionen fungerar på samma sätt som knapparna i rumskontrollen. Dessutom är det möjligt att övervaka dessa åtgärder via webhooks eller direkt i en SSH-session.

Det finns inget befintligt bibliotek med åtgärder att välja mellan. Du måste definiera och fastställa de specifika åtgärder som ska utföras som svar på händelserna. Till exempel:

  • Öka volymen på enheten Cisco när du trycker på volym upp-knappen.

  • PUT enheten Cisco i passningsläge när du trycker på sömnknappen.

Konfigurationer, händelser och status

De konfigurationer och den status som refereras i den här artikeln är tillgängliga både från enhetens lokala webbgränssnitt och API:erna. Läs artikeln Enhetskonfigurationer för information om hur du kommer åt webbgränssnittet och använder API.

När enhetens webbgränssnitt öppnas klickar du på Inställningar . Under Konfigurationer ändrar du Kringutrustning> InputDevice-läge till . Stöd för USB inmatningsenheter från tredje part är inaktiverat som standard.

Om du trycker på och släpper en knapp genereras en Nedtryckt och en Frigjord händelse:

 *e UserInterface InputDevice Key Key Action Key: <namn på nyckeln> *e UserInterface InputDevice Key Action Code: <ID på nyckeln> *e UserInterface InputDevice Key Action Type: Tryckt ** slut *e UserInterface InputDevice Key Action Key: <namn på nyckeln> *e UserInterface InputDevice Key Action Code: <ID på nyckeln> *e UserInterface InputDevice Key Action Type: Släppt ** slut 

Om du vill lyssna efter händelser måste du registrera feedback från InputDevice-händelserna :

 xFeedback Registrera /event/UserInterface/InputDevice ** slut 

När enheten Cisco identifierar kringutrustning från tredje part visas den under Status och i Kringutrustning> AnslutenEnhet . Enheten från tredje part kan rapporteras som flera enheter.

Ytterligare information

Mer information om hur du använder en inmatningsenhet från tredje part finns i anpassningsguiden . Välj den senaste versionen.

Cisco support (TAC) stöder inte felsökning av kod från tredje part, inklusive makron. Kontrollera Cisco RoomOS för samarbetsenheter om du behöver hjälp med makron och tredjepartskod. På den här sidan finns fler exempel på makron och tillägg.

Exempel

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?