Tämän ominaisuuden tarkoituksena on täydentää kosketusohjaimen tai kosketuskäyttöliittymän toimintoja. Sen ei ole tarkoitus korvata .

Esimerkkejä sovelluksista:

  • Luokkahuoneissa ja luentojen aikana pientä kaukosäädintä voidaan käyttää laitteen herättämiseen valmiustilasta. kaukosäätimellä voi olla myös kätevää valita esitettävä tulolähde.

  • Kameranäkymän ohjaaminen (panorointi, kallistus ja zoomaus) tilanteissa, joissa et saa käyttää kosketusohjainta. Esimerkiksi sairaalan leikkaussaleissa.

Toiminnallinen yleiskatsaus

Kun painiketta painetaan USB-syöttölaitteessa, se käynnistää toiminnon Ciscon laitteen API:ssa. Makrot tai kolmansien osapuolten ulkoiset ohjauslaitteet voidaan asettaa havaitsemaan nämä toimet ja reagoimaan niihin. Tämä toiminto on samanlainen kuin huoneen sisäisen ohjauksen painikkeiden toiminta. Lisäksi näitä toimintoja on mahdollista seurata webhookien avulla tai suoraan SSH-istunnon sisällä.

Ei ole olemassa olevaa toimintojen kirjastoa, josta valita. Sinun on määriteltävä ja vahvistettava erityistoimet, jotka on toteutettava tapahtumien johdosta. Esimerkiksi:

  • Lisää Ciscon laitteen äänenvoimakkuutta, kun äänenvoimakkuusnäppäintä painetaan.

  • Asettaa Ciscon laitteen valmiustilaan, kun Lepo-näppäintä painetaan.

Määritykset, tapahtumat ja tila

Tässä artikkelissa mainitut määritykset ja tila ovat saatavilla sekä laitteen paikallisesta verkkokäyttöliittymästä että sovellusrajapinnoista. Lue Device configurations -artikkelista , miten verkkokäyttöliittymää käytetään ja miten API:ta käytetään.

Kun laitteen verkkokäyttöliittymä on avattu, napsauta Asetukset . Muuta kohdassa Configurations Peripherals > InputDevice Mode muotoon On. Kolmannen osapuolen USB-syöttölaitteiden tuki on oletusarvoisesti poistettu käytöstä.

Painikkeen painaminen ja vapauttaminen synnyttää Pressed ja Released -tapahtuman:

 *e UserInterface InputDevice Key Action Key:  Toimintakoodi: *e UserInterface InputDevice Key:  Toimintatyyppi: *e UserInterface InputDevice Key: Painettu ** end *e UserInterface InputDevice Key Toimintonäppäin:  Toimintakoodi: *e UserInterface InputDevice Key:  Toimintatyyppi: *e UserInterface InputDevice Key: Vapautettu ** loppu 

Jotta voit kuunnella tapahtumia, sinun on rekisteröitävä palaute InputDevice -tapahtumista:

 xFeedback Rekisteri /event/UserInterface/InputDevice ** end 

Kun Ciscon laite havaitsee kolmannen osapuolen oheislaitteen, se on listattu kohdassa Status ja kohdassa Peripherals > ConnectedDevice . Kolmannen osapuolen laite voidaan ilmoittaa useana laitteena.

Lisätietoja

Lisätietoja kolmannen osapuolen syöttölaitteen käytöstä on osoitteessa Mukautusopas . Valitse uusin versio.

Ciscon tuki (TAC) ei tue kolmannen osapuolen koodin, mukaan lukien makrot, virheenkorjausta. Katso Cisco RoomOS for Collaboration Devices , jos tarvitset apua makrojen ja kolmannen osapuolen koodin kanssa. Katso tältä sivulta lisää esimerkkejä makroista ja laajennuksista.

Esimerkki

Tässä esimerkissä näytämme, miten kolmannen osapuolen USB-syöttölaitteen (tässä tapauksessa kaukosäätimen) näppäimiä käytetään Ciscon laitteen tiettyjen toimintojen ohjaamiseen.

Näytämme, miten Bluetooth-kaukosäätimen (joka on liitetty USB-donglen kautta) painikkeilla voi hallita toimintoja, kuten valmiustilaa, äänenvoimakkuuden säätöä ja Ciscon kameralaitteen ohjausta. Voit kehittää makron, joka kuuntelee asiaankuuluvia tapahtumia ja suorittaa vastaavat toimet Ciscon laitteen API:n kautta.

Seuraavassa esimerkissä sinun on kirjoitettava teksti, joka on kirjoitettu normaalilla fontilla. Kursivoitu teksti on Ciscon laitteelta saatu vastaus.

1

Kirjaudu sisään Ciscon laitteeseen SSH:lla. Tarvitset paikallisen admin -käyttäjän.

2

Määritä laite niin, että se sallii kolmannen osapuolen USB-kaukosäätimen käytön.

 xConfiguration Oheislaitteet InputDevice Mode: On ** end OK  

 

Voit tarkistaa tämän komennon avulla, onko määritys päällä vai pois päältä:

 xConfiguration Peripherals InputDevice Mode  *c xConfiguration Peripherals InputDevice Mode: ** lopussa OK  
3

Rekisteröidy palautetta varten, jotta saamme ilmoituksen, kun kaukosäätimen painikkeita painetaan ja vapautetaan.

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

 

Tällä komennolla voit tarkistaa, mihin palautteisiin laite on rekisteröity:

 xPalautelista /event/userinterface/inputdevice ** end OK  
4

Tarkista, että palautteen rekisteröinti toimii, painamalla kaukosäätimen painiketta ja vapauttamalla se.

Tämä toiminto tuottaa kaksi tapahtumaa: Puristettu ja Vapautettu. Jos painat painiketta ja pidät sitä painettuna, näet Pressed -tapahtuman, kunnes vapautat painikkeen. Tämän jälkeen syntyy Released -tapahtuma.

Nämä tapahtumat syntyvät, kun Enter-näppäintä painetaan ja vapautetaan:

  *e UserInterface InputDevice Key Action Key: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Painettu ** end *e UserInterface InputDevice Key Toimintonäppäin: KEY_ENTER *e UserInterface InputDevice Key Action Code: 28 *e UserInterface InputDevice Key Action Type: Vapautettu ** loppu  
5

Kirjoita makro, joka kuuntelee asiaankuuluvia InputDevice -tapahtumia ja suorittaa niihin liittyvät toimet laitteen API:n avulla.

  • Herätä valmiustila-, äänenvoimakkuuden lisäys- ja vähennyspainikkeet henkiin. Kun makro näkee tapahtuman, joka sisältää KEY_VOLUMEUP, KEY_VOLUMEDOWN tai KEY_SLEEP, se suorittaa vastaavat komennot.

  • Luo kameran ohjaustoiminto nuolinäppäimille. Haluamme jatkaa kameran liikuttamista niin kauan kuin painiketta painetaan. Kun painike vapautetaan, kameran liike pysähtyy. Kun makro näkee tapahtuman, joka sisältää KEY_LEFT, KEY_RIGHT, KEY_UP tai KEY_DOWN, se suorittaa siihen liittyvät komennot.

 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: viesti, kesto: 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.State === 'Off' ? false : true; }); xapi.status.on('Standby', state => { standbyState = state.State === 'Off' ? false : true; }); xapi.event.on('UserInterface InputDevice Key Action', press => { 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; default: 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('Äänenvoimakkuuden lisäys'); break; case 'KEY_VOLUMEDOWN': com('Äänenvoimakkuuden vähentäminen'); break; case 'KEY_SLEEP': com(standbyState ? 'Deaktivoi valmiustila' : 'Standby Activate'); break; default: break; } } }); } init();