Cette fonctionnalité est destinée à compléter les fonctionnalités du contrôleur tactile ou de l'interface utilisateur tactile. Il n'est pas destiné à les remplacer .

Exemples d'applications :

  • Dans les salles de classe et pendant les cours, une petite télécommande peut être utilisée pour réveiller un appareil du mode veille. Il peut également être pratique d'utiliser une télécommande pour sélectionner la source d'entrée à présenter.

  • Contrôle de la vue de la caméra (panoramique, inclinaison et zoom) lorsque vous n'êtes pas autorisé à utiliser le contrôleur tactile. Par exemple, dans les blocs opératoires d'un hôpital.

Vue d'ensemble fonctionnelle

Lorsque vous appuyez sur un bouton du périphérique d'entrée USB, une action est déclenchée dans le API du périphérique Cisco. Des macros ou des dispositifs de contrôle externes de tiers peuvent être configurés pour détecter ces actions et réagir en conséquence. Cette fonctionnalité est similaire au comportement des boutons de contrôle de la pièce. De plus, il est possible de surveiller ces actions via des webhooks ou directement dans une session SSH.

Une bibliothèque préexistante d'actions à choisir n'est pas fournie. Vous devez définir et établir les actions spécifiques qui doivent se produire en réponse aux événements. Par exemple :

  • Augmentez le volume du périphérique Cisco lorsque vous appuyez sur Volume Augmenter.

  • Mettez le périphérique Cisco en mode veille lorsque vous appuyez sur Veille.

Configurations, événements et états

Les configurations et l'état auxquels il est fait référence dans cet article sont disponibles à la fois à partir de l'interface Web locale de l'appareil et des API. Lisez l'article Configurations de périphérique pour plus d'informations sur l'accès à l'interface Web et l'utilisation de la API.

Lorsque l'interface Web de l'appareil est ouverte, cliquez sur Paramètres . Sous Configurations , définissez Périphériques> Mode InputDevice (PériphériquesEntréePériphériques ) sur Activé. La prise en charge de périphériques d'entrée USB de fabricants tiers est désactivée par défaut.

Appuyer et relâcher un bouton génère un événement Appuyé et Relâché :

 *e UserInterface InputDevice Key Action Key : <name of the key> *e UserInterface InputDevice Key Action Code : <id of the key> *e UserInterface InputDevice Key Type d'action : Appuyé sur ** end *e UserInterface InputDevice Key Action Key : <nom de la clé> *e UserInterface InputDevice Key Action Code : <id de la clé> *e Type d'action de clé UserInterface InputDevice : Libéré ** fin 

Pour recevoir des événements, vous devez enregistrer vos retours d'information d'événements InputDevice :

 xFeedback Register /event/UserInterface/InputDevice ** end 

Lorsque le périphérique Cisco détecte le périphérique tiers, il apparaît sous État et dans Périphériques > Périphérique connecté. L'appareil tiers peut être signalé comme étant plusieurs appareils.

Plus d'informations

Trouver plus d'informations sur l'utilisation d'un périphérique de saisie tiers dans le Guide de personnalisation. Choisissez la version la plus récente.

L'assistance technique de Cisco (TAC) ne prend en charge le débogage du code de fabricants tiers, y compris les macros. Si vous avez besoin d'aide avec les macros et le code tiers, vérifiez la présence de périphériques de collaboration dans Cisco RoomOS. Consultez cette page pour plus d'exemples de macros et d'extensions.

Exemple

Dans cet exemple, nous voulons vous montrer comment utiliser les touches d'un périphérique d'entrée USB tiers (dans ce cas, une télécommande) pour contrôler certaines fonctions sur un périphérique Cisco.

Nous vous montrons comment utiliser les boutons d'une télécommande Bluetooth (connectée via un dongle USB) pour gérer des fonctions telles que le mode veille, le réglage du volume et le contrôle d'une caméra Cisco. Vous pouvez développer une macro qui écoute les événements pertinents et exécute les actions correspondantes via la API du périphérique Cisco.

Dans l'exemple suivant, vous devez saisir le texte qui a été écrit dans la police normale. Le texte en italique correspond à la réponse reçue du périphérique Cisco.

1

Connexion au périphérique Cisco sur SSH. Vous devez avoir un utilisateur Administrateur local.

2

Configurez le périphérique pour permettre l'utilisation d'une télécommande USB de fabricant tiers.

 xConfiguration Périphériques EntréeMode périphérique : On ** fin OK  

 

Vous pouvez vérifier si la configuration active ou non à l'aide de cette commande :

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

Inscrivez-vous pour activer les retours d'information, afin que nous soyons avertis lorsque les boutons de la télécommande sont enfoncés et relâchés.

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

 

Vous pouvez vérifier pour quels retours d'information l'appareil est enregistré en utilisant cette commande :

 Liste xFeedback /événement/interface utilisateur/périphérique d'entrée ** fin OK  
4

Appuyez et relâchez un bouton de la télécommande pour vérifier que l'enregistrement des retours d'information fonctionne.

Cette action génère deux événements : Appuyé et Relâché. Si vous appuyez et maintenez la pression sur un bouton, vous voyez l'événement Appuyé jusqu'à ce que vous relâchiez le bouton. Puis l'événement Relâché est généré.

Ces événements sont émis en appuyant sur la touche Entrée et en la relâchant :

  *e UserInterface InputDevice Key Action Key : KEY_ENTER *e UserInterface InputDevice Key Code d'action de clé : 28 * e UserInterface InputDevice Key Type d'action : Appuyé ** end *e UserInterface InputDevice Key Action Key : KEY_ENTER *e UserInterface InputDevice Key Action Code : 28 * e UserInterface InputDevice Key Action Type : Libéré ** end  
5

Écrire une macro qui écoute les événements InputDevice pertinents et effectue les actions associées à l'aide de l'API du périphérique.

  • Donnez vie aux boutons de mise en veille, d'augmentation et de réduction du volume. Lorsque la macro voit un événement contenant KEY_VOLUMEUP, KEY_VOLUMEDOWN ou KEY_SLEEP, elle exécute les commandes associées.

  • Créer une fonction de contrôle de la caméra pour les touches fléchées. Vous souhaitez continuer à déplacer la caméra tant que le bouton est enfoncé. Lorsque vous relâchez le bouton, le déplacement de la caméra s'arrête. Lorsque la macro voit un événement contenant KEY_LEFT, KEY_RIGHT, KEY_UP, ou KEY_DOWN, elle exécute les commandes associées.

 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. Etat === 'Off' ? false : vrai ; }) ; xapi.status.on('Standby', state => { standbyState = state. Etat === 'Off' ? false : vrai ; }) ; xapi.event.on('UserInterface InputDevice Key Action', press => { if (Press. Type == "Pressé") { 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 (Appuyez sur. Type == "Released") { 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('Diminution du volume audio') ; pause ; case 'KEY_SLEEP' : com(standbyState ? 'désactive en veille' : 'activation en veille') ; casser ; valeur par défaut : pause ; } } }) ; } init() ;