Questa funzione è pensata per integrare le funzionalità del controller touch o dell'interfaccia utente touch. Non è destinato a sostituirli .

Esempi di applicazioni:

  • Nelle aule e durante le lezioni, un piccolo telecomando può essere utilizzato per riattivare un dispositivo dalla modalità standby. Può anche essere conveniente utilizzare un telecomando per selezionare quale sorgente di ingresso presentare.

  • Controllo della vista della videocamera (panoramica, inclinazione e zoom) in situazioni in cui non è consentito utilizzare il controller touch. Ad esempio, nelle sale operatorie di un ospedale.

Panoramica funzionale

Quando viene premuto un pulsante sul dispositivo di input USB, viene attivata un'azione all'interno del API del dispositivo Cisco. È possibile impostare macro o dispositivi di controllo esterni di terze parti per rilevare queste azioni e reagire di conseguenza. Questa funzionalità è simile al comportamento dei pulsanti Controllo sala. Inoltre, è possibile monitorare queste azioni tramite webhook o direttamente all'interno di una sessione SSH.

Non viene fornita una libreria preesistente di azioni tra cui scegliere. È necessario definire e stabilire le azioni specifiche che devono verificarsi in risposta agli eventi. Ad esempio:

  • Aumentare il volume del dispositivo Cisco quando si preme il tasto Volume su.

  • Mettere il dispositivo Cisco in modalità standby quando si preme il tasto di sospensione.

Configurazioni, eventi e stato

Le configurazioni e lo stato a cui si fa riferimento in questo articolo sono disponibili sia dall'interfaccia Web locale del dispositivo che dalle API. Leggi l'articolo Configurazioni dei dispositivi per informazioni su come accedere all'interfaccia Web e utilizzare il API.

Quando viene aperta l'interfaccia web del dispositivo, fare clic su Impostazioni . In Configurazioni , impostare Modalità periferiche > InputDevice su On . Per impostazione predefinita, viene disabilitato il supporto per dispositivi di input USB di terze parti.

La pressione e il rilascio di un pulsante genera un evento Premuto e un evento Rilasciato:

 *e UserInterface InputDevice Key Action Key: <nome della chiave> *e UserInterface InputDevice Key Action Code: <id della chiave> *e UserInterface InputDevice Key Action Type: Pressed ** end *e UserInterface InputDevice Key Action Key: <nome della chiave> *e UserInterface InputDevice Key Action Code: <id della chiave> *e UserInterface InputDevice Key Action Type: Rilasciato ** fine 

Per cercare di ascoltare gli eventi, è necessario registrare feedback degli eventi del dispositivo di input:

 xFeedback Register /event/UserInterface/InputDevice ** end 

Quando il dispositivo Cisco rileva la periferica di terze parti, verrà elencata in Stato e in Periferiche > ConnectedDevice . Il dispositivo di terze parti può essere segnalato come più dispositivi.

Ulteriori informazioni

Sono disponibili ulteriori informazioni sull'utilizzo di un dispositivo di input di terze parti nella Guida alla personalizzazione. Scegliere la versione più recente.

Il supporto Cisco (TAC) non supporta il debug del codice di terze parti, comprese le macro. Controllare Cisco RoomOS per dispositivi di collaborazione se è necessario aiuto con macro e codice di terze parti. Controlla questa pagina per altri esempi di macro ed estensioni.

Esempio

In questo esempio, vogliamo mostrarti come utilizzare i tasti di un dispositivo di input USB di terze parti (in questo caso un telecomando) per controllare determinate funzioni su un dispositivo Cisco.

Ti mostriamo come utilizzare i pulsanti su un telecomando Bluetooth (collegato tramite un dongle USB) per gestire funzioni come standby, regolazione del volume e controllo di un dispositivo con videocamera Cisco. È possibile sviluppare una macro che ascolti gli eventi rilevanti ed esegua le azioni corrispondenti tramite il API del dispositivo Cisco.

Nel seguente esempio, è necessario immettere il testo che viene scritto in caratteri normali. Il testo in corsivo corrisponde alla risposta ricevuta dal dispositivo Cisco.

1

Accedere al dispositivo Cisco su SSH. È necessario un utente ammin locale.

2

Configurare il dispositivo per consentire l'utilizzo di un controllo remoto USB di terze parti.

 Periferiche xConfiguration Modalità dispositivo: On ** end OK  

 

È possibile verificare se la configurazione è stata Attivata o Disattivata utilizzando questo comando:

 xConfiguration Peripherals InputDevice Mode  *c xConfiguration Peripherals InputDevice Mode: On ** end OK  
3

Registrarsi per feedback, in modo da ricevere una notifica quando vengono premuti e rilasciati i pulsanti del telecomando.

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

 

È possibile controllare per quali feedback il dispositivo è stato registrato, utilizzando questo comando:

 xFeedback list /event/userinterface/inputdevice ** end OK  
4

Premere e rilasciare un pulsante del telecomando per verificare che funzioni la registrazione del feedback.

Questa operazione genera due eventi: Premuto e Rilasciato. Se si tiene premuto un pulsante, viene visualizzato l'evento Premuto fino a quando non lo si rilascia. Quindi viene generato l'evento Rilasciato.

Questi eventi vengono emessi quando si preme e rilascia il tasto Invio:

  *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: Released ** end  
5

Scrivere una macro che cerca di ascoltare gli eventi pertinenti al Dispositivo di input ed eseguire le azioni associate utilizzando l'API del dispositivo.

  • Riattivare i pulsanti di standby, di aumento e riduzione del volume. Quando la macro visualizza un evento che contiene KEY_VOLUMEUP, KEY_VOLUMEDOWN o KEY_SLEEP, esegue i comandi correlati.

  • Creare una funzione di controllo videocamera per i tasti di direzione. Desideriamo continuare a spostare la videocamera, fino a quando viene premuto il pulsante. Quando viene rilasciato il pulsante, si interrompe il movimento della videocamera. Quando la macro visualizza un evento che contiene KEY_LEFT, KEY_RIGHT, KEY_UP o KEY_DOWN, esegue i comandi correlati.

 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 Ramp', { 'CameraId': cameraId, [motor]: direction }); } function init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state. Stato === 'Off' ? falso: vero; }); xapi.status.on('Standby', state => { standbyState = state. Stato === 'Off' ? falso: vero; }); xapi.event.on('UserInterface InputDevice Key Action', premere => { if (press. Type == "Pressed") { switch (press. Key) { 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; } } else if (premere. Type == "Rilasciato") { switch (press. 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? «Standby Deactivate» : «Standby Activate»); rompere; Valore predefinito: interruzione; } } }); } init();