Ova funkcija ima za cilj da dopuni funkcionalnosti kontrolera osetljivog na dodir ili korisničkog interfejsa osetljivog na dodir. To nije namenjeno da ih zameni .

Primeri primene:

  • U učionicama i tokom predavanja, mali daljinski upravljač se može koristiti za buđenje uređaja iz stanja pripravnosti. Takođe može biti zgodno da koristite daljinski upravljač da biste izabrali koji ulazni izvor da predstavi.

  • Kontrolisanje prikaza kamere (pan, tilt i zum) u situacijama kada vam nije dozvoljeno da koristite kontroler osetljiv na dodir. Na primer, u operacionim salama u bolnici.

Funkcionalni pregled

Kada se pritisne dugme na USB ulaznom uređaju, on pokreće akciju unutar API-ja Cisco uređaja. Makroi ili spoljni kontrolni uređaji trećih strana mogu se podesiti da otkriju ove radnje i reaguju u skladu s tim. Ova funkcionalnost je slična načinu na koji se ponašaju tasteri za kontrolu u sobi. Pored toga, moguće je pratiti ove akcije putem vebhook-a ili direktno u okviru SSH sesije.

Već postojeća biblioteka akcija koje možete izabrati nije obezbeđena. Od vas se traži da definišete i utvrdite specifične akcije koje bi trebalo da se desi kao odgovor na događaje. Na primer:

  • Povećajte jačinu zvuka Cisco uređaja kada se pritisne taster za povećanje jačine zvuka.

  • Stavite Cisco uređaj u stanje pripravnosti kada se pritisne taster Sleep.

Konfiguracije, događaji i status

Konfiguracije i status koji su navedeni u ovom članku, dostupni su i sa lokalnog veb interfejsa uređaja i API-ja. Pročitajte članak Konfiguracije uređaja za informacije o tome kako pristupiti veb interfejsu i koristiti API.

Kada se otvori veb interfejs uređaja, kliknite na Podešavanja . Pod Konfiguracije , promenite Peripherals > InputDevice Mode na On. Podrška za USB ulazne uređaje nezavisnih proizvođača je podrazumevano onemogućena.

Pritiskom i otpuštanjem dugmeta generiše događaj Pressed i Released :

 *e UserInterface InputKljuč za uređaj: <naziv ključa> * e UserInterface InputŠifra akcije ključa uređaja: <id ključa> * e UserInterface InputTip akcije ključa uređaja: Pritisnuto ** kraj * e UserInterface InputAkcioni taster za uređaj: <naziv ključa> * e UserInterface InputAkцioni kod: <id ključa> * e UserInterface InputTip akцije ključa za uređaje: Oslobođen ** kraj 

Da biste slušali događaje, morate da registrujete povratne informacije od događaja InputDevice :

 kFeedback Register /event/UserInterface/InputDevice ** kraj 

Kada Cisco uređaj detektuje perifernu opremu treće strane, ona će biti navedena pod Status i u Peripherals > ConnectedDevice . Uređaj treće strane može se prijaviti kao više uređaja.

Dodatne informacije

Pronađite više informacija o korišćenju ulaznog uređaja treće strane u vodiču za prilagođavanje. Izaberite najnoviju verziju.

Cisco podrška (TAC) ne podržava otklanjanje grešaka koda treće strane, uključujući makroe. Molimo Vas da proverite Cisco RoomOS za uređaje za saradnju ako vam je potrebna pomoć sa makroima i kodom treće strane. Proverite ovu stranicu za više primera makroa i ekstenzija.

Primer

U ovom primeru želimo da vam pokažemo kako da koristite tastere USB ulaznog uređaja treće strane (u ovom slučaju daljinskog upravljača) za kontrolu određenih funkcija na Cisco uređaju.

Pokazaćemo vam kako da koristite tastere na Bluetooth daljinskom upravljaču (povezanom preko USB ključa) za upravljanje funkcijama kao što su stanje pripravnosti, podešavanje jačine zvuka i kontrola Cisco uređaja kamere. Možete razviti makro koji sluša relevantne događaje i izvršava odgovarajuće radnje putem API-ja Cisco uređaja.

U sledećem primeru, morate da unesete tekst koji je napisan normalnim fontom. Tekst u kurzivu je odgovor dobijen od Cisco uređaja.

1

Prijavite se na Cisco uređaj na SSH. Potreban vam je lokalni administrator .

2

Podesite uređaj tako da omogući korišćenje USB daljinskog upravljača treće strane.

 kConfiguration periferije UlazRežim uređaja: Uključeno  ** kraj OK  

 

Možete proveriti da li je konfiguracija uključena ili isključena pomoću ove komande:

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

Registrujte se za povratne informacije, tako da smo obavešteni kada se pritisnu i otpuste tasteri daljinskog upravljača.

 kFeedback Registrovati /event/userinterface/inputdevice  ** kraj OK  

 

Možete proveriti koje povratne informacije uređaj je registrovan za pomoću ove komande:

 kFeedback lista  / događaj / korisnički interfejs / inputdevice ** kraj OK  
4

Pritisnite i otpustite dugme na daljinskom upravljaču da biste proverili da li povratna registracija radi.

Ova akcija generiše dva događaja: Pritisnuti i Oslobođeni. Ako pritisnete i držite dugme, videćete Pressed događaj dok ne otpustite dugme. Zatim se generiše događaj Released .

Ovi događaji se izdaju pritiskom i otpuštanjem tastera Enter:

  * e UserInterface InputKljuč za uređaj: KEY_ENTER * e UserInterface InputŠifra akcije ključa uređaja: 28 * e UserInterface InputTip akcije ključa uređaja: Pritisne ** kraj * e UserInterface InputKljuč za uređaj: KEY_ENTER * e UserInterface InputAkцioni kod: 28 * e UserInterface InputTip akцije ključa za uređaj: Oslobođen ** kraj  
5

Napišite makro koji sluša relevantne događaje InputDevice i izvršava povezane akcije koristeći API uređaja.

  • Oživite dugmad za pripravnost, jačinu zvuka i smanjivanje jačine zvuka. Kada makro vidi događaj koji sadrži KEY_VOLUMEUP, KEY_VOLUMEDOWN ili KEY_SLEEP, on izvršava srodne komande.

  • Kreirajte funkciju kontrole kamere za tastere sa strelicama. Želimo da nastavimo da pomeramo kameru sve dok se pritisne dugme. Kada se dugme otpusti, kretanje kamere prestaje. Kada makro vidi događaj koji sadrži KEY_LEFT, KEY_RIGHT, KEY_UP ili KEY_DOWN, on izvršava srodne komande.

 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 standbiState; xapi.status.get('Standbi').then((state) => {standbiState = state. Država === 'Isključeno' ? lažno: istina; }); xapi.status.on('Standbi', state => { standbyState = država. Država === 'Isključeno' ? lažno: istina; }); xapi.event.on('UserInterface InputDevice Key Action', pritisnite => { if (pritisnite. Tip == "Pritisne") { prekidač (pritisnite. Ključ) { slučaj "KEY_LEFT": cameraControl('Pan', 'Left'); pauza; slučaj "KEY_RIGHT": cameraControl('Pan', 'Desno'); pauza; slučaj "KEY_UP": cameraControl('Nagib', 'Gore'); pauza; slučaj "KEY_DOWN": cameraControl('Nagib', 'Dole'); pauza; podrazumevano: pauza; } } Else if (Press. Tip == "Oslobođen") { prekidač (pritisnite. Ključ) { slučaj "KEY_LEFT": cameraControl('Pan', 'Stop'); pauza; slučaj "KEY_RIGHT": cameraControl('Pan', 'Stop'); pauza; slučaj "KEY_UP": cameraControl('Tilt', 'Stop'); pauza; slučaj "KEY_DOWN": cameraControl('Tilt', 'Stop'); pauza; slučaj 'KEY_VOLUMEUP': com('Audio Volume Increase'); pauza; slučaj 'KEY_VOLUMEDOWN': com('Audio Volume Reduction'); pauza; slučaj 'KEY_SLEEP': com(standbiState? 'Standbi Deactivate': 'Standbi Activate'); razbiti; podrazumevano: pauza; } } }); } init();