Ez a funkció kiegészíti az érintővezérlő vagy az érintőképernyős felhasználói felület funkcióit. Nem célja, hogy helyettesítse őket.

Alkalmazási példák:

  • Az osztálytermekben és az előadások során egy kis távirányítóval fel lehet ébreszteni egy eszközt készenléti üzemmódból. Az is kényelmes lehet, ha távirányítóval választja ki, hogy melyik bemeneti forrást jelenítse meg.

  • A kamera nézetének vezérlése (pásztázás, döntés és nagyítás) olyan helyzetekben, amikor az érintővezérlő használata nem engedélyezett. Például egy kórház műtőjében.

Funkcionális áttekintés

Amikor megnyom egy gombot az USB beviteli eszközön, az elindít egy műveletet a Cisco eszköz API. Harmadik féltől származó makrók vagy külső vezérlőeszközök állíthatók be úgy, hogy észleljék ezeket a műveleteket, és ennek megfelelően reagáljanak. Ez a funkció hasonló a Szobai vezérlőgombok viselkedéséhez. Emellett ezeket a műveleteket webhookokon keresztül vagy közvetlenül egy SSH-munkameneten belül is figyelheti.

Nem áll rendelkezésre már létező művelettár, amelyből választhat. Meg kell határoznia és meg kell határoznia azokat a konkrét műveleteket, amelyeknek az eseményekre válaszul kell végrehajtaniuk. Például:

  • Növelje a Cisco eszköz hangerejét a Hangerő növelése gomb megnyomásakor.

  • Helyezze a Cisco készüléket készenléti üzemmódba az Alvó állapot gomb megnyomásakor.

Konfigurációk, események és állapot

A cikkben említett konfigurációk és állapotok az eszköz helyi webes felületén és az API-kban is elérhetők. A webes felület elérésével és a API használatával kapcsolatos információkért olvassa el az Eszközkonfigurációk cikket .

Amikor megnyílik az eszköz webes felülete, kattintson a Beállítások gombra . A Konfigurációk területen módosítsa a Peripherals > InputDevice Mode (Perifériákeszközbeviteli mód ) beállítást On (Be) értékre . A harmadik fél gyártótól származó USB beviteli eszközök támogatása alapértelmezés szerint le van tiltva.

Egy gomb megnyomása és felengedése Megnyomott, illetve Felengedett eseményt hoz létre:

 *e UserInterface InputDevice Key Action Key: <kulcs neve> *e UserInterface InputDevice Key Action Code: <a kulcs azonosítója> *e UserInterface InputDevice billentyűművelet típusa: Megnyomva ** end *e UserInterface InputDevice Key Action Key: <kulcs neve> *e UserInterface InputDevice Key Action Code: <a kulcs azonosítója> *e UserInterface InputDevice kulcsművelet típusa: Megjelent ** vége 

Az események figyeléséhez regisztrálnia kell az InputDevice eseményeitől kapott visszajelzésre:

 xFeedback Register /event/UserInterface/InputDevice ** end 

Ha a Cisco eszköz külső gyártótól származó perifériát észlel, az megjelenik az Állapot és a Peripherals > ConnectedDevice listában . Előfordulhat, hogy a harmadik féltől származó eszköz több eszközként jelenik meg.

További információk

A harmadik fél gyártótól származó beviteli eszköz használatára vonatkozóan a Testreszabási útmutató tartalmaz további információt. Válassza ki a legújabb verziót.

A Cisco támogatás (TAC) nem támogatja a harmadik féltől származó kódok (a makrókat is ideértve) hibáinak keresését. Ellenőrizze a Cisco RoomOS for Collaboration Devices oldalt, ha segítségre van szüksége a makrókkal és harmadik féltől származó kódokkal kapcsolatban. Ezen az oldalon további példákat talál a makrókra és kiterjesztésekre.

Példa

Ebben a példában azt szeretnénk megmutatni, hogyan használhatja egy harmadik féltől származó USB beviteli eszköz (ebben az esetben egy távirányító) billentyűit bizonyos funkciók vezérlésére egy Cisco eszközön.

Megmutatjuk, hogyan használhatja a (USB-hardverkulccsal csatlakoztatott) Bluetooth távirányító gombjait olyan funkciók kezeléséhez, mint a készenléti állapot, a hangerő-beállítás és a Cisco kameraeszköz vezérlése. Létrehozhat olyan makrót, amely figyeli a releváns eseményeket, és végrehajtja a megfelelő műveleteket a Cisco eszköz API.

Az alábbi példában a normál betűtípussal írt szöveget kell megadnia. A dőlt betűvel szedett szöveg a Cisco eszköztől kapott válasz.

1

Jelentkezzen be a Cisco készülékre SSH-kapcsolaton keresztül. Helyi rendszergazda felhasználónak kell lennie.

2

Úgy állítsa be az eszközt, hogy az engedélyezze a harmadik fél gyártótól származó USB távirányító használatát.

 xConfiguration Peripherals InputDevice mód: Be ** end OK  

 

A következő paranccsal ellenőrizheti, hogy a konfiguráció be vagy ki van-e kapcsolva:

 xConfiguration perifériák InputDevice mód  *c xConfiguration perifériák InputDevice mód: Be ** end OK  
3

Regisztráljon visszajelzésre, így értesítést kapunk, amikor a távirányító gombjait megnyomja, illetve felengedi.

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

 

A következő paranccsal ellenőrizheti, hogy az eszköz milyen visszajelzésre regisztrált:

 xFeedback lista /esemény/felhasználói felület/inputdevice ** end OK  
4

Nyomja meg és engedje fel a távirányító egy gombját annak ellenőrzéséhez, hogy működik-e a visszajelzésre való regisztráció.

Ez a művelet két eseményt hoz létre: Megnyomott és Felengedett. Ha megnyom és nyomva tart egy gombot, akkor addig fogja látni a Megnyomott eseményt, amíg fel nem engedi a gombot. Ekkor bekövetkezik a Felengedett esemény.

A következő események az Enter billentyű megnyomásakor és felengedésekor kerülnek kiadásra:

  *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Megnyomva ** end *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Release ** end  
5

Írjon olyan makrót, amely figyeli a releváns InputDevice (beviteli eszköz) eseményeit, és az eszköz API-ja segítségével végzi el a hozzárendelt műveleteket.

  • Keltse életre a készenléti, a hangerő fel és hangerő le gombokat! Amikor a makró KEY_VOLUMEUP, KEY_VOLUMEDOWN vagy KEY_SLEEP értéket tartalmazó eseményt lát, végrehajtja a kapcsolódó parancsokat.

  • Készítsen kameravezérlő funkciót a nyíl gombokhoz! Azt akarjuk, hogy a kamera addig mozogjon, amíg a gomb le van nyomva. Amikor a gombot felengedik, leáll a kamera mozgása. Amikor a makró KEY_LEFT, KEY_RIGHT, KEY_UP vagy KEY_DOWN értéket tartalmazó eseményt lát, végrehajtja a kapcsolódó parancsokat.

 const xapi = require('xapi'); function com(parancs, args='') { xapi.command(parancs, args); log(command + ' ' + JSON.stringify(args)); } function log(event) { console.log(event); } function notify(message) { xapi.command('UserInterface Message TextLine Display', { Szöveg: üzenet, időtartam: 3 }); } function cameraControl(motor, irány, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [motor]: irány }); } function init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state. Állapot === 'Ki' ? hamis: igaz; }); xapi.status.on('Készenlét', állapot => { standbyState = állapot. Állapot === 'Ki' ? hamis: igaz; }); xapi.event.on('UserInterface InputDevice Key Action', nyomja meg a => { if (nyomja meg a gombot. Type == "Megnyomva") { switch (nyomja meg. 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 (nyomja meg a gombot. Type == "Release") { switch (nyomja meg a gombot. 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 Decline'); break; case 'KEY_SLEEP': com(standbyState? "Készenlét deaktiválása": "Készenlét aktiválása"); törik; alapértelmezett: break; } } }); } init();