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

Beispiele für Anwendungen:

  • 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. Beispielsweise in OP-Räumen eines Krankenhauses.

Funktionsübersicht

Wenn auf dem USB-Eingabegerät eine Taste gedrückt wird, wird im API des Cisco-Geräts eine Aktion ausgelöst. 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 Cisco-Geräts, wenn die Lauter-Taste gedrückt wird.

  • Versetzen Sie das Cisco-Gerät in den Standby-Modus, wenn die Taste "Energiesparmodus" 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 Webschnittstelle 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 generiert das Ereignis Gedrückt und Freigegeben:

 *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 Key Action Type: Freigegeben ** Ende 

Um Ereignisse zu überwachen, müssen Sie das Feedback aus den InputDevice-Ereignissen registrieren:

 xFeedback Register /event/UserInterface/InputDevice ** Ende 

Wenn das Cisco-Gerät das Peripheriegerät des 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 des Eingabegeräts eines Drittanbieters finden Sie im Anpassungsleitfaden. Wählen Sie die neueste Version.

Cisco Support (TAC) unterstützt nicht das Debuggen von Drittanbietercode, einschließlich Makros. Überprüfen Sie Cisco RoomOS for Collaboration Devices , wenn Sie Hilfe zu 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 die Tasten eines USB-Eingabegeräts eines Drittanbieters (in diesem Fall einer Fernbedienung) verwenden, um bestimmte Funktionen auf einem Cisco-Gerät zu 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 hört und über die API des Cisco-Geräts entsprechende Aktionen ausführt.

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

1

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

2

Konfigurieren Sie das Gerät so, dass die Verwendung einer USB-Fernbedienung eines Drittanbieters ermöglicht wird.

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

 

Sie können überprüfen, ob die Konfiguration Ein oder Aus ist, indem Sie den folgenden Befehl verwenden:

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

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

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

 

Sie können überprüfen, für welche Feedbacks das Gerät zur Verwendung dieses Befehls registriert ist:

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

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

Diese Aktion generiert zwei Ereignisse: Gedrückt und Freigegeben. Wenn Sie eine Taste drücken und halten, wird Ihnen das Ereignis Gedrückt angezeigt, bis Sie die Taste loslassen. Das Ereignis Freigegeben wird 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 relevante InputDevice-Ereignisse überwacht und die zugeordneten Aktionen mit der API des Geräts ausführt.

  • Aktivieren Sie die Standby- und Lautstärketasten. Wenn das Makro ein Ereignis mit KEY_VOLUMEUP, KEY_VOLUMEDOWN oder KEY_SLEEP erkennt, führt es die zugehörigen Befehle aus.

  • Erstellen Sie die Funktion zur Kamerasteuerung für die Pfeiltasten. Wir möchten, dass sich die Kamera bewegt, solange die Taste gedrückt wird. Wenn die Taste losgelassen wird, bewegt sich die Kamera nicht mehr. Wenn das Makro ein Ereignis mit KEY_LEFT, KEY_RIGHT, KEY_UP oder KEY_DOWN erkennt, 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();