In diesem Artikel
Beispiel
Verwendung von USB-Eingabegeräten von Drittanbietern mit Board-, Desk- und Room-Serie
list-menuIn diesem Artikel
list-menuFeedback?

Sie können ein USB-Peripheriegerät eines Drittanbieters verwenden, um bestimmte Funktionen auf Ihrem Gerät zu steuern, z. B. eine USB-Tastatur oder eine Bluetooth-Fernbedienung® mit einem USB-Dongle.

Diese Funktion soll die Funktionalitäten des Touch-Controllers oder der Touch-Benutzeroberfläche ergänzen . Es ist nicht dazu gedacht, sie zu ersetzen .

Anwendungsbeispiele:

  • In Klassenzimmern und während Vorlesungen kann eine kleine Fernbedienung verwendet werden, um ein Gerät aus dem Standby-Modus aufzuwecken. Es kann auch praktisch sein, eine Fernbedienung zu verwenden, um auszuwählen, welche Eingangsquelle angezeigt werden soll.

  • Steuern der Kameraansicht (Schwenken, Kippen und Zoom) in Situationen, in denen Sie den Touch-Controller nicht verwenden dürfen. Zum Beispiel in Operationssälen eines Krankenhauses.

Funktionsübersicht

Wenn eine Taste auf dem Eingabegerät USB gedrückt wird, löst dies eine Aktion innerhalb der API des Cisco-Geräts aus. Makros oder externe Steuergeräte von Drittanbietern können eingerichtet werden, um diese Aktionen zu erkennen und entsprechend zu reagieren. Diese Funktion ähnelt der Funktion der Tasten für die Raumsteuerung. Darüber hinaus ist es möglich, diese Aktionen über Webhooks oder direkt innerhalb einer SSH-Sitzung zu überwachen.

Eine bereits vorhandene Bibliothek mit Aktionen, aus denen Sie auswählen können, wird nicht bereitgestellt. Sie müssen die spezifischen Aktionen definieren und festlegen, die als Reaktion auf die Ereignisse ausgeführt werden sollen. Zum Beispiel:

  • Erhöhen Sie die Lautstärke des Geräts Cisco, wenn die Lauter-Taste gedrückt wird.

  • PUT das Cisco-Gerät im Standby-Modus, wenn die Sleep-Taste gedrückt wird.

Konfigurationen, Ereignisse und Status

Die Konfigurationen und Status, auf die in diesem Artikel verwiesen wird, sind sowohl über die lokale Weboberfläche des Geräts als auch über die APIs verfügbar. Lesen Sie den Artikel Gerätekonfigurationen, um Informationen zum Zugriff auf die Weboberfläche und zur Verwendung der API zu erhalten.

Wenn die Weboberfläche des Geräts geöffnet ist, klicken Sie auf Einstellungen . Ändern Sie unter Konfigurationen den Modus Peripheriegeräte > Eingabegerät auf Ein. Die Unterstützung für USB Eingabegeräte von Drittanbietern ist standardmäßig deaktiviert.

Das Drücken und Loslassen einer Taste erzeugt ein Gedrückt - und ein Losgelassen-Ereignis :

 *e UserInterface InputDevice Key Action Key: <Name des Schlüssels> *e UserInterface InputDevice Key Action Code: <ID des Schlüssels> *e UserInterface InputDevice Key Action Type: Gedrückt ** end *e UserInterface InputDevice Key Action Key: <Name des Schlüssels> *e UserInterface InputDevice Key Action Code: <ID des Schlüssels> *e UserInterface InputDevice-Tastenaktionstyp: Freigegeben ** Ende 

Um auf Ereignisse zu lauschen, müssen Sie das Feedback von den InputDevice-Ereignissen registrieren:

 xFeedback Register /event/UserInterface/InputDevice ** Ende 

Wenn das Cisco-Gerät das Peripheriegerät eines Drittanbieters erkennt, wird es unter "Status" und unter "Peripheriegeräte > Verbundenes Gerät" aufgeführt. Das Gerät des Drittanbieters kann als mehrere Geräte gemeldet werden.

Weitere Informationen

Weitere Informationen zur Verwendung eines Eingabegeräts eines Drittanbieters finden Sie in der Anpassungsanleitung . Wählen Sie die neueste Version aus.

Cisco Support (TAC) unterstützt nicht das Debuggen von Code von Drittanbietern, einschließlich Makros. Bitte überprüfen Sie die Cisco RoomOS for Collaboration Devices , wenn Sie Hilfe bei Makros und Code von Drittanbietern benötigen. Auf dieser Seite finden Sie weitere Beispiele für Makros und Erweiterungen.

Beispiel

In diesem Beispiel möchten wir Ihnen zeigen, wie Sie mit den Tasten eines USB-Eingabegeräts eines Drittanbieters (in diesem Fall einer Fernbedienung) bestimmte Funktionen auf einem Cisco-Gerät steuern.

Wir zeigen Ihnen, wie Sie die Tasten auf einer Bluetooth-Fernbedienung (die über einen USB-Dongle angeschlossen ist) verwenden, um Funktionen wie Standby, Lautstärkeanpassung und Steuerung eines Cisco-Kamerageräts zu verwalten. Sie können ein Makro entwickeln, das auf relevante Ereignisse lauscht und entsprechende Aktionen über die API des Geräts Cisco ausführt.

Im folgenden Beispiel müssen Sie den Text eingeben, der in normaler Schriftart geschrieben ist. Der kursiv dargestellte Text gibt die vom Gerät Cisco empfangene Antwort an.

1

Melden Sie sich beim Gerät Cisco über SSH an. Sie benötigen einen lokalen Administratorbenutzer .

2

Konfigurieren Sie das Gerät, um die Verwendung einer USB-Fernbedienung eines Drittanbieters zuzulassen.

 xConfiguration Peripheriegeräte InputDevice-Modus: Ein ** und OK  

Mit dem folgenden Befehl können Sie überprüfen, ob die Konfiguration aktiviert oder deaktiviert ist:

 xKonfiguration Peripheriegeräte InputDevice-Modus  *c xKonfiguration Peripheriegeräte InputDevice-Modus: Ein ** Ende OK  
3

Registrieren Sie sich für Feedback, damit wir benachrichtigt werden, wenn die Tasten der Fernbedienung gedrückt und losgelassen werden.

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

Mit diesem Befehl können Sie überprüfen, für welche Rückmeldungen das Gerät registriert ist:

 xFeedback-Liste /Ereignis/Benutzeroberfläche/Eingabegerät ** Ende OK  
4

Drücken Sie eine Taste auf der Fernbedienung, und lassen Sie sie wieder los, um zu überprüfen, ob die Feedback-Registrierung funktioniert.

Diese Aktion generiert zwei Ereignisse: "Gedrückt " und "Losgelassen". Wenn Sie eine Taste gedrückt halten, wird das Gedrückt-Ereignis so lange angezeigt, bis Sie die Taste loslassen. Anschließend wird das Released-Ereignis generiert.

Diese Ereignisse werden ausgegeben, wenn die Eingabetaste gedrückt und losgelassen wird:

  *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Pressed ** end *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Freigegeben ** end  
5

Schreiben Sie ein Makro, das auf die relevanten InputDevice-Ereignisse lauscht und die zugeordneten Aktionen mit dem API des Geräts ausführt.

  • Erwecken Sie die Standby-, Lauter- und Leiser-Tasten zum Leben. Wenn das Makro ein Ereignis erkennt, das KEY_VOLUMEUP, KEY_VOLUMEDOWN oder KEY_SLEEP enthält, führt es die zugehörigen Befehle aus.

  • Erstellen Sie eine Kamerasteuerungsfunktion für die Pfeiltasten. Wir wollen die Kamera so lange bewegen, wie die Taste gedrückt wird. Wenn die Taste losgelassen wird, stoppt die Kamerabewegung. Wenn das Makro ein Ereignis erkennt, das KEY_LEFT, KEY_RIGHT, KEY_UP oder KEY_DOWN enthält, führt es die zugehörigen Befehle aus.

 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: message, duration: 3 }); } function cameraControl(Motor, direction, cameraId='1') { com('Camera Rampe', { 'CameraId': cameraId, [Motor]: direction }); } function init() { let StandbyState; xapi.status.get('Standby').then((state) => {StandbyState = state. Status === 'Aus' ? false: true; }); xapi.status.on('Standby', state => { StandbyState = state. Status === 'Aus' ? false: true; }); xapi.event.on('UserInterface InputDevice Key Action', press => { if (press. Typ == "Gedrückt") { Switch (drücken. Schlüssel) { case "KEY_LEFT": cameraControl('Pan', 'Left'); break; case "KEY_RIGHT": cameraControl('Pan', 'Right'); break; case "KEY_UP": cameraControl('Tilt', 'Up'); break; case "KEY_DOWN": cameraControl('Tilt', 'Down'); break; default: break; } } sonst, wenn (drücken. Typ == "Freigegeben") { Switch (drücken. Schlüssel) { 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('Lautstärke erhöhen'); break; case 'KEY_VOLUMEDOWN': com('Audiolautstärke verringern'); break; case 'KEY_SLEEP': com(StandbyState? 'Standby Deactivate' : 'Standby aktivieren'); Brechen; Standardwert: Pause; } } }); } init(); 
War dieser Artikel hilfreich für Sie?
War dieser Artikel hilfreich für Sie?