Esta característica está pensada para complementar las funcionalidades del controlador táctil o la interfaz de usuario táctil. No está destinado a reemplazarlos .

Ejemplos de aplicaciones:

  • En las aulas y durante las conferencias, se puede utilizar un pequeño control remoto para activar un dispositivo desde el modo de espera. También puede ser conveniente utilizar un control remoto para seleccionar qué fuente de entrada presentar.

  • Controlar la vista de la cámara (desplazamiento, inclinación y zoom) en situaciones en las que no se le permite utilizar el controlador táctil. Por ejemplo, en salas operativos de un habitación.

Descripción general funcional

Cuando se presiona un botón en el dispositivo de entrada USB, se activa una acción dentro de la API del dispositivo Cisco. Se pueden configurar macros o dispositivos de control externos de terceros para detectar estas acciones y reaccionar en consecuencia. Esta funcionalidad es similar a cómo se comportan los botones del control en la sala. Además, es posible supervisar estas acciones a través de webhooks o directamente dentro de una sesión SSH.

No se proporciona una biblioteca preexistente de acciones para elegir. Debe definir y establecer las acciones específicas que deben ocurrir en respuesta a los eventos. Por ejemplo:

  • Aumente el volumen del dispositivo Cisco cuando se presione la tecla Volume Up (Subir volumen).

  • Coloque el dispositivo Cisco en modo de espera cuando se presione la tecla de suspensión.

Configuraciones, eventos y estado

La configuración y el estado a los que se hace referencia en este artículo están disponibles tanto en la interfaz de web local del dispositivo como en las API. Lea el artículo sobre configuraciones de dispositivos para obtener información sobre cómo acceder a la interfaz web y utilizar la API.

Cuando se abra la interfaz web del dispositivo, haga clic en Configuración. En Configuraciones, cambie Periféricos > Modo de dispositivo de entrada a Activado. La compatibilidad para dispositivos de entrada USB de otros proveedores está deshabilitada de manera predeterminada.

Al presionar y soltar un botón se genera un evento Presionado y Lanzado:

 *e UserInterface InputDevice Key Action Key:  *e UserInterface InputDevice Action Code:  *e UserInterface InputDevice Key Action Type: Presione ** end *e UserInterface InputDevice Key Action Key:  *e UserInterface InputDevice Key Action Code:  *e UserInterface InputDevice Key Action Type: Lanzamiento ** finalización 

Para escuchar los eventos, debe registrar los comentarios desde el InputDevice events:

 xFeedback Register /event/UserInterface/InputDevice ** end 

Cuando el dispositivo Cisco detecte el periférico de terceros, aparecerá en Estado y en Periféricos > Dispositivo conectado. El dispositivo de terceros puede reportarse como varios dispositivos.

Más información

Busque más información sobre el uso de un dispositivo de entrada de terceros en la guía de personalización . Elija la versión más reciente.

El soporte de Cisco (TAC) no admite la depuración de código de terceros, incluidas las macros. Si necesita ayuda con el código de macros y de terceros, consulte Cisco RoomOS para dispositivos de colaboración . Consulte esta página para ver más ejemplos de macros y extensiones.

Ejemplo

En este ejemplo, queremos mostrarle cómo utilizar las teclas de un dispositivo de entrada USB de terceros (en este caso, un control remoto) para controlar determinadas funciones en un dispositivo Cisco.

Le mostramos cómo utilizar los botones de un control remoto Bluetooth (conectado a través de un adaptador de USB) para administrar funciones como el modo de espera, el ajuste de volumen y el control de un dispositivo de cámara de Cisco. Puede desarrollar una macro que escuche los eventos relevantes y ejecute las acciones correspondientes a través de la API del dispositivo de Cisco.

En el siguiente ejemplo, debe introducir el texto que está escrito en fuente normal. El texto en cursiva es la respuesta recibida del dispositivo Cisco.

1

Inicie sesión en el dispositivo Cisco en SSH. Necesita un usuario administrador local.

2

Configure el dispositivo para permitir el uso de un puerto USB control remoto.

 Modo de dispositivo de entrada de periféricos de xConfiguration: En ** finalizar Aceptar  

 

Puede comprobar si la configuración está activa o desactivada con este comando:

 xConfiguration Peripheral InputDevice Mode  *c xConfiguration Peripheral InputDevice Mode: El ** finalizar OK  
3

Regístrese para obtener comentarios, de modo que se nos notifique cuando se presionen control remoto botones de pantalla y se lanzarán.

 xFeedback Registrar /event/userinterface/inputdevice  ** finalizar Aceptar  

 

Puede comprobar los comentarios para los que está registrado el dispositivo con este comando:

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

Presione y suelte un botón en el control remoto para comprobar que funcione el registro de comentarios.

Esta acción genera dos eventos: Presionado y Liberado. Si presiona y presiona un botón, verá el evento Presionado hasta que suelte el botón. Luego se genera el evento Lanzado.

Estos eventos se emiten al presionar y soltar la tecla Entrar:

  *e Clave de acción de UserInterface InputDevice: CLAVE_INTRODUZCA *e Código de acción de la clave de entrada del dispositivo de la interfaz de usuario: 28 *e Tipo de acción de clave de dispositivo de entrada de interfaz de usuario: Presionar ** end *e Clave de acción de la tecla de entrada de la interfaz de usuario: CLAVE_INTRODUZCA *e Código de acción de la clave de entrada del dispositivo de la interfaz de usuario: 28 *e Tipo de acción de clave de dispositivo de entrada de interfaz de usuario: Lanzamiento ** finalización  
5

Escriba una macro que escuche los eventos InputDevice relevantes y lleve a cabo las acciones asociadas mediante la API del dispositivo.

  • Haga que los botones de modo de espera, de volumen hacia arriba y de bajar volumen se volveran a poner en marcha. Cuando la macro ve un evento que contiene_VOLUMEN CLAVE,__VOLUMEN EN VOLUMEN CLAVE o SUSPENSIÓN DE CLAVE, ejecuta los comandos relacionados.

  • Cree una función de control de cámara para las teclas de flecha. Queremos seguir moviendo la cámara mientras se pulsa el botón. Cuando el botón se lanza, el movimiento de la cámara se detiene. Cuando la macro ve un evento que contiene KEY_LEFT, KEY_RIGHT, KEY_UP o KEY_DOWN, ejecuta los comandos relacionados.

 const xapi = require('xapi'); función com(comando, args='') { xapi.command(comando, args); log(comando + ' ' + JSON.stringify(args)); } función log(evento) { console.log(evento); } función notify(mensaje) { xapi.command('Visualización de línea de texto del mensaje de la interfaz de usuario', { Texto: mensaje, duración: 3 }); } función cameraControl (motor, dirección, cameraId='1') { com('Camera Ramp', { 'CameraId': ID de cámara, [motor]: direction }); } función init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state.State === 'Off' ? false : true; }); xapi.status.on('Standby', state => { standbyState = state.State === 'Off' ? false : true; }); xapi.event.on('Acción de clave de dispositivo de entrada de la interfaz de usuario', presione => { si (press.Type == "Presionado") { switch (press.Key) { case "KEY_LEFT": cameraControl('Pan', 'Izquierda'); break; case "CLAVE_DERECHA": cameraControl('Pan', 'Derecha'); break; case "KEY_UP": cameraControl('Tilt', 'Arriba'); break; case "TECLA_ABAJO": cameraControl('Inclinar', 'Abajo'); break; valor predeterminado: break; } } else if (press.Type == "Released") { switch (press.Key) { case "KEY_LEFT": cameraControl('Pan', 'Detener'); break; case "CLAVE_DERECHA": cameraControl('Pan', 'Detener'); break; case "KEY_UP": cameraControl('Inclinar', 'Detener'); break; case "TECLA_ABAJO": cameraControl('Inclinar', 'Detener'); break; case 'VOLUMEUP_CLAVE': com('Aumento de volumen de audio'); break; case 'VOLUMEDOWN_CLAVE': com('Disminución del volumen de audio'); break; case 'SLEEP_KEY': com(standbyState ? 'Standby Deactivate' : 'Standby Activate'); break; valor predeterminado: break; } }}); } init();