Ova funkcija ima za cilj da upotpuni funkcionalnost kontrolera osetljivog na dodir ili korisničkog interfejsa osetljivog na dodir. Nije namenjeno njihovoj zameni.

Primeri aplikacija:

  • U učionicama i tokom predavanja, mali daljinski upravljač se može koristiti za buđenje uređaja iz režima pripravnosti. Takođe može biti zgodno koristiti daljinski upravljač da biste izabrali koji izvor unosa treba predstaviti.

  • Kontrolisanje prikaza kamere (pomeranje, nagib i zumiranje) u situacijama kada nije dozvoljeno korišćenje kontrolera osetljivog na dodir. Na primer, u operacionim salama u bolnici.

Funkcionalni pregled

Kada se pritisne dugme na USB ulaznom uređaju, ono pokreće radnju u okviru programa Cisco uređaja API. Makroi ili spoljni kontrolni uređaji od trećih lica mogu biti podešeni da otkriju ove radnje i reaguju u skladu sa tim. Ova funkcionalnost je slična ponašanju dugmadi "Kontrola u sobi". Pored toga, izvodljivo je pratiti ove radnje putem webhooks-a ili direktno u okviru SSH sesije.

Nije obezbeđena postojeća biblioteka radnji koje treba odabrati. Od vas se zahteva da definišete i utvrdite određene radnje koje bi trebalo da se dese kao odgovor na događaje. Na primer:

  • Povećajte jačinu zvuka Cisco uređaja kada pritisnete taster "Povećaj jačinu zvuka".

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

Konfiguracije, događaji i status

Konfiguracije i statusi koji se upućuju na ovaj članak dostupni su i iz lokalnog Veb interfejsa uređaja i od API-ja. Pročitajte članak Konfiguracija uređaja Za informacije o tome kako da pristupite Veb interfejsu i koristite API.

Kada se otvori Veb interfejs uređaja, kliknite na dugme "Postavke " . U okviru Konfiguracije promenite Peripherals > InputDevice režim na On. Podrška za USB ulazne uređaje nezavisnog proizvođača podrazumevano je onemogućena.

Pritiskanje i otpuštanje dugmeta generiše pressed i objavljeni događaj:

 *e UserInterface InputDevice Ključ radnje Ključ: <ime ključ> *e UserInterface InputDevice Ključni kôd radnje: <id ključa> *e UserInterface InputDevice Tip radnje ključa: Presovano ** end *e UserInterface InputDevice Ključ radnje Ključ: <ime ključa> *e UserInterface InputDevice Ključni kod radnje: <id ključa> *e UserInterface InputDevice Tip radnje ključa: Pušten ** kraj 

Da biste slušali događaje, morate registrovati povratne informacije iz InputDevice događaja:

 xFeedback Register /event/UserInterface/InputDevice ** kraj 

Kada Cisco uređaj otkrije periferni uređaj nezavisnog proizvođača, on će biti naveden pod Status i u Peripherals > ConnectedDevice . Uređaj nezavisnog proizvođača može biti prijavljen kao više uređaja.

Dodatne informacije

Više informacija o korišćenju ulaznog uređaja nezavisnog proizvođača potražite u vodiču za prilagođavanje . Odaberite najnoviju verziju.

Cisco podrška (TAC) ne podržava otklanjanje grešaka u kodu nezavisnih proizvođača, uključujući makroe. Proverite da li u Cisco RoomOS-u imate uređaje za saradnju ako vam je potrebna pomoć oko makroa i koda nezavisnih proizvođača. Proverite da li na ovoj stranici ima više primera makroa i proširenja.

Primer

U ovom primeru, želimo da vam prikažemo kako da koristite ključeve USB ulaznog uređaja nezavisnog proizvođača (u ovom slučaju daljinskog upravljača) za kontrolisanje određenih funkcija na Cisco uređaju.

Pokazujemo vam kako da koristite dugmad na Bluetooth daljinskom upravljaču (povezanom preko USB donglea) za upravljanje funkcijama kao što su stanje pripravnosti, podešavanje jačine zvuka i kontrola uređaja Cisco kamere. Možete da razvijete makro koji osluškuje relevantne događaje i izvršava odgovarajuće radnje putem programa Cisco uređaja API.

U sledećem primeru morate uneti tekst koji je napisan normalnim fontom. Tekst u kurzivu je odgovor primljen sa Cisco uređaja.

1

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

2

Konfigurišite uređaj tako da dozvoli korišćenje USB daljinskog upravljača nezavisnog proizvođača.

 xConfiguration Peripherals InputDevice Mode: On ** end OK  

 

Pomoću ove komande možete da proverite da li je konfiguracija isključena ili isključena:

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

Registrujte se za povratne informacije, tako da budemo obavešteni kada se pritisnuti i izda dugmad daljinskog upravljača.

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

 

Možete proveriti koje povratne informacije je uređaj registrovan za korišćenje ove komande:

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

Pritisnite i otpustite dugme na daljinskom upravljaču da biste proverili da li funkcioniše registracija povratnih informacija.

Ova radnja generiše dva događaja:Pressed and Released. Ako pritisnete i držite dugme, videćete pritisnut događaj dok ne otpustite dugme. Onda se generiše objavljeni događaj.

Ovi događaji se izdaju prilikom pritiskanja i otpuštanja tastera Enter:

  *e UserInterface InputDevice Ključ radnje: KEY_ENTER *e UserInterface InputDevice Ključni kôd radnje: 28 *e UserInterface InputDevice Tip radnje ključa: Presovan ** kraj *e UserInterface InputDevice Ključ radnje Ključ radnje: KEY_ENTER *e UserInterface InputDevice Ključni kôd radnje: 28 *e UserInterface InputDevice Tip radnje ključa: Izdat ** kraj  
5

Napišite makro koji osluškuje relevantne InputDevice događaje i izvršava povezane radnje koristeći API korisnika uređaja.

  • Osvestite dugmad za stanje pripravnosti, jačinu zvuka i spustite jačinu zvuka. Kada makro vidi događaj koji sadrži KEY_VOLUMEUP, KEY_VOLUMEDOWN ili KEY_SLEEP, izvršava povezane komande.

  • Kreirajte funkciju kontrole fotoaparata za tastere sa strelicama. Želimo da nastavimo da pomeramo kameru sve dok je dugme pritisnuto. Kada se dugme oslobodi, pokret kamere se zaustavlja. Kada makro vidi događaj koji sadrži KEY_LEFT, KEY_RIGHT, KEY_UP ili KEY_DOWN, izvršava povezane 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 standbyState; xapi.status.get('Standby').then((state) => {standbyState = state. Stanje === 'Isključeno' ? netačno: tačno; }); xapi.status.on('Stanje pripravnosti', stanje => { stanje pripravnosti = stanje. Stanje === 'Isključeno' ? netačno: tačno; }); xapi.event.on('UserInterface InputDevice Key Action', pritisnite => { 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; else if (press. 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('Audio Volume Decrease'); break; case 'KEY_SLEEP': com(standbyState? 'Standby Deactivate' : 'Standby Activate'); razbiti; podrazumevano: prekid; } } }); } init();