În acest articol
Exemplul xxx
Utilizarea dispozitivelor de intrare USB terțe cu seria Board, Desk și Room
list-menuÎn acest articol
list-menuFeedback?

Puteți utiliza un periferic USB terț pentru a controla anumite funcții de pe dispozitiv, cum ar fi o tastatură USB sau o telecomandă Bluetooth® cu un dongle USB.

Această caracteristică este menită să completeze funcționalitățile controlerului tactil sau ale interfeței tactile cu utilizatorul. Nu este menit să le înlocuiască .

Exemple de aplicații:

  • În sălile de clasă și în timpul prelegerilor, o mică telecomandă poate fi utilizată pentru a activa un dispozitiv din modul standby. De asemenea, poate fi convenabil să utilizați o telecomandă pentru a selecta ce sursă de intrare să prezentați.

  • Controlarea vizualizării camerei (panoramare, înclinare și zoom) în situațiile în care nu aveți permisiunea de a utiliza controlerul tactil. De exemplu, în sălile de operație din spital.

Prezentare generală funcțională

Când un buton este apăsat pe dispozitivul de intrare USB, acesta declanșează o acțiune în API dispozitivului Cisco. Macrocomenzile sau dispozitivele de control externe de la terți pot fi configurate pentru a detecta aceste acțiuni și pentru a reacționa în consecință. Această funcționalitate este similară cu modul în care se comportă butoanele de control din sală. În plus, este posibil să monitorizați aceste acțiuni prin webhooks sau direct în cadrul unei sesiuni SSH.

Nu este furnizată o bibliotecă preexistentă de acțiuni din care să alegeți. Vi se cere să definiți și să stabiliți acțiunile specifice care ar trebui să aibă loc ca răspuns la evenimente. De exemplu:

  • Măriți volumul dispozitivului Cisco atunci când este apăsată tasta de creștere a volumului.

  • PUT dispozitivul Cisco în modul standby atunci când este apăsată tasta Repaus.

Configurații, evenimente și stare

Configurațiile și starea menționate în acest articol sunt disponibile atât din interfața web locală a dispozitivului, cât și din API-uri. Citiți articolul Configurații dispozitiv pentru informații despre cum să accesați interfața web și să utilizați API.

Când interfața web a dispozitivului este deschisă, faceți clic pe Setări . Sub Configurații , schimbați modul Periferice > InputDevice la Activat. Suportul pentru dispozitivele de intrare USB terțe este dezactivat în mod implicit.

Apăsarea și eliberarea unui buton generează un eveniment Apăsat și un Eliberat :

 *e UserInterface InputDevice Key Action Key: <numele cheii> *e UserInterface InputDevice Key Action Code: <ID a cheii> *e UserInterface InputDevice Key Action Type: Pressed ** end *e UserInterface InputDevice Key Action Key: <numele cheii> *e UserInterface InputDevice Key Action Code: <ID cheii> *e UserInterface InputDevice Key Action Type: Lansat ** sfârșit 

Pentru a monitoriza evenimente, trebuie să înregistrați feedback de la evenimentele InputDevice :

 xFeedback Register / event / UserInterface/InputDevice ** sfârșit 

Când dispozitivul Cisco detectează perifericul terț, acesta va fi listat sub Stare și în Periferice > DispozitivConectat . Este posibil ca dispozitivul terț să fie raportat ca mai multe dispozitive.

Informații suplimentare

Găsiți mai multe informații despre utilizarea unui dispozitiv de intrare terț în Ghidul de particularizare. Alegeți cea mai recentă versiune.

Cisco support (TAC) nu acceptă depanarea codului terță parte, inclusiv a macrocomenzilor. Verificați Cisco RoomOS pentru dispozitive de colaborare dacă aveți nevoie de ajutor cu macrocomenzile și codurile terțe. Consultați această pagină pentru mai multe exemple de macrocomenzi și extensii.

Exemplul xxx

În acest exemplu, dorim să vă arătăm cum să utilizați tastele unui dispozitiv de intrare USB terț (în acest caz o telecomandă) pentru a controla anumite funcții pe un dispozitiv Cisco.

Vă arătăm cum să utilizați butoanele de pe o telecomandă Bluetooth (conectată printr-un dongle USB) pentru a gestiona funcții precum modul standby, reglarea volumului și controlul unui dispozitiv cu cameră Cisco. Puteți dezvolta o macrocomandă care ascultă evenimentele relevante și execută acțiunile corespunzătoare prin intermediul API dispozitivului Cisco.

În exemplul următor, trebuie să introduceți textul care este scris cu font normal. Textul scris cu caractere cursive reprezintă răspunsul primit de la dispozitivul Cisco.

1

conectați-vă la dispozitivul Cisco pe SSH. Aveți nevoie de un utilizator administrator local .

2

Configurați dispozitivul pentru a permite utilizarea unei telecomenzi USB terțe.

 xConfiguration Peripherals InputDevice Mode: On ** end OK  

Puteți verifica dacă configurația este activată sau dezactivată utilizând această comandă:

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

Înregistrați-vă pentru feedback, astfel încât să fim informați când sunt apăsate și eliberate butoanele telecomenzii.

 xFeedback Înregistrare / eveniment / interfață utilizator / dispozitiv   de intrare ** sfârșit OK  

Puteți verifica pentru ce feedback-uri este înregistrat dispozitivul utilizând această comandă:

 xFeedback listă /eveniment/interfață utilizator/dispozitiv de intrare ** sfârșit OK  
4

Apăsați și eliberați un buton de pe telecomandă pentru a verifica dacă funcționează înregistrarea de feedback.

Această acțiune generează două evenimente: Apăsat și Eliberat. Dacă apăsați și mențineți apăsat un buton, vedeți evenimentul Apăsat până când eliberați butonul. Apoi este generat evenimentul Eliberat .

Aceste evenimente sunt generate atunci când apăsați și eliberați tasta Enter:

  *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

Scrieți o macrocomandă care ascultă evenimentele InputDevice relevante și efectuează acțiunile asociate utilizând API dispozitivului.

  • Aduceți la viață butoanele de standby, de creștere și de reducere a volumului. Când macrocomanda observă un eveniment care conține KEY_VOLUMEUP, KEY_VOLUMEDOWN sau KEY_SLEEP, execută comenzile corespunzătoare.

  • Creați o funcție de control al camerei pentru tastele săgeată. Vrem să continuăm să mișcăm camera atâta timp cât butonul este apăsat. Când butonul este eliberat, mișcarea camerei se oprește. Când macrocomanda observă un eveniment care conține KEY_LEFT, KEY_RIGHT, KEY_UP sau KEY_DOWN, execută comenzile corespunzătoare.

 const xapi = require('xapi'); funcția 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, durata: 3 }); } funcția cameraControl(motor, direcție, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: direcție }); } funcție init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state. Stare === 'Off' ? fals: adevărat; }); xapi.status.on('Standby', stare => { standbyState = stare. Stare === 'Off' ? fals: adevărat; }); xapi.event.on('UserInterface InputDevice Key Action', apăsați => { if (apăsați. Tastați == "Apăsat") { comutator (apăsați. Key) { cazul "KEY_LEFT": cameraControl('Pan', 'Left'); break; case "KEY_RIGHT": cameraControl('Pan', 'Right'); break; cazul "KEY_UP": cameraControl('Tilt', 'Up'); break; cazul "KEY_DOWN": cameraControl('Tilt', 'Down'); break; default: break; }} altfel dacă (apăsați. Tastați == "Eliberat") { comutator (apăsați. Cheie) { cazul "KEY_LEFT": cameraControl('Pan', 'Stop'); pauză; cazul "KEY_RIGHT": cameraControl('Pan', 'Stop'); pauză; cazul "KEY_UP": cameraControl('Tilt', 'Stop'); pauză; cazul "KEY_DOWN": cameraControl('Tilt', 'Stop'); pauză; cazul 'KEY_VOLUMEUP': com('Creștere volum audio'); pauză; caz 'KEY_VOLUMEDOWN': com('Scădere volum audio'); pauză; caz 'KEY_SLEEP': com(standbyState? "Dezactivare în așteptare": "Activare în așteptare"); Pauză; implicit: pauză; } } }); } init(); 
A fost util acest articol?
A fost util acest articol?