Тази функция е предназначена да допълни функционалностите на сензорния контролер или сензорния потребителски интерфейс. Тя не е предназначена да ги замени .

Примери за приложения:

  • В класните стаи и по време на лекции може да се използва малко дистанционно управление, за да се събуди устройство от режим на готовност. Също така може да е удобно да използвате дистанционно управление, за да изберете кой входен източник да представите.

  • Контролиране на изгледа на камерата (панорамиране, накланяне и мащабиране) в ситуации, в които нямате право да използвате сензорния контролер. Например, в операционни зали в болница.

Функционален преглед

Когато бутонът е натиснат на USB входното устройство, той задейства действие в рамките на API на устройството Cisco. Макроси или външни контролни устройства от трети страни могат да бъдат настроени да откриват тези действия и да реагират по съответния начин. Тази функционалност е подобна на начина, по който се държат бутоните за управление в стаята. Освен това е възможно да наблюдавате тези действия чрез webhooks или директно в рамките на SSH сесия.

Не се предоставя вече съществуваща библиотека с действия, от които да избирате. От вас се изисква да определите и установите конкретните действия, които трябва да се случат в отговор на събитията. Например:

  • Увеличете силата на звука на устройството Cisco, когато натиснете клавиша Volume Up.

  • Поставете устройството Cisco в режим на готовност, когато клавишът за заспиване е натиснат.

Конфигурации, събития и състояние

Конфигурациите и състоянието, посочени в тази статия, са достъпни както от локалния уеб интерфейс на устройството, така и от API. Прочетете статията Конфигурации на устройства за информация как да получите достъп до уеб интерфейса и да използвате API.

Когато уеб интерфейсът на устройството се отвори, кликнете върху Настройки . Под Конфигурации променете режима Периферни устройства > Входно устройство на Вкл. Поддръжката на USB входни устройства на трети страни е забранена по подразбиране.

Натискането и освобождаването на бутон генерира Натиснато и Освободено събитие:

 *e UserInterface InputDevice Key Action Key: <name of the key> *e UserInterface InputDevice Key Action Code: <id of the key> *e UserInterface InputDevice Key Action Type: Pressed ** end *e UserInterface InputDevice Key Action Key: <name of the key> *e UserInterface InputDevice Key Action Code: <id of the key> *e UserInterface InputDevice Key Action Type: Издаден ** край 

За да слушате събития, трябва да регистрирате обратна връзка от събитията на InputDevice :

 xFeedback Регистър /събитие/Потребителски интерфейс/InputDevice ** край 

Когато устройството на Cisco открие периферията на трета страна, то ще бъде посочено под Състояние и в Периферни устройства > Свързаноустройство . Устройството на трета страна може да бъде отчетено като няколко устройства.

Допълнителна информация

Намерете повече информация за използването на входно устройство на друг производител в ръководството за персонализиране. Изберете най-новата версия.

Поддръжката на Cisco (TAC) не поддържа отстраняване на грешки в код на трети страни, включително макроси. Моля, проверете Cisco RoomOS за устройства за сътрудничество, ако имате нужда от помощ с макроси и код на трети страни. Проверете тази страница за още примери за макроси и разширения.

Пример

В този пример искаме да ви покажем как да използвате ключовете на USB входно устройство на трета страна (в случая дистанционно управление), за да управлявате определени функции на устройство Cisco.

Ще ви покажем как да използвате бутоните на Bluetooth дистанционно управление (свързано чрез USB донгъл), за да управлявате функции като режим на готовност, регулиране на силата на звука и управление на устройство с камера Cisco. Можете да разработите макрос, който слуша съответните събития и изпълнява съответните действия чрез API на устройството Cisco.

В следващия пример трябва да въведете текста, който е написан с нормален шрифт. Текстът в курсив е отговорът, получен от устройството Cisco.

1

влезте в устройството на Cisco на SSH. Имате нужда от локален администратор потребител.

2

Конфигурирайте устройството така, че да позволява използването на USB дистанционно управление на трета страна.

 xConfiguration Периферни устройства InputDevice режим: On ** край OK  

 

Можете да проверите дали конфигурацията е Вкл. или Изкл., като използвате тази команда:

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

Регистрирайте се за обратна връзка, така че да бъдем уведомени, когато бутоните на дистанционното управление са натиснати и освободени.

 xFeedback Регистър /събитие/потребителски интерфейс/входно устройство  ** край OK  

 

Можете да проверите за кои обратни връзки е регистрирано устройството с помощта на тази команда:

 xFeedback списък  / събитие / потребителски интерфейс / входно устройство ** край OK  
4

Натиснете и освободете бутон на дистанционното управление, за да проверите дали регистрацията за обратна връзка работи.

Това действие генерира две събития: Натиснат и Освободен. Ако натиснете и задържите бутон, виждате събитието Натиснат , докато не отпуснете бутона. След това се генерира Освободеното събитие.

Тези събития се издават при натискане и освобождаване на клавиша 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

Напишете макрос, който слуша съответните събития на InputDevice и извършва свързаните с тях действия, като използва API на устройството.

  • Вдъхнете живот на бутоните в режим на готовност, увеличаване на звука и намаляване на звука. Когато макросът види събитие, съдържащо KEY_VOLUMEUP, KEY_VOLUMEDOWN или KEY_SLEEP, той изпълнява свързаните команди.

  • Създайте функция за управление на камерата за клавишите със стрелки. Искаме да продължим да движим камерата, докато бутонът е натиснат. Когато бутонът се освободи, движението на камерата спира. Когато макросът види събитие, съдържащо KEY_LEFT, KEY_RIGHT, KEY_UP или KEY_DOWN, той изпълнява свързаните команди.

 const xapi = изискване('xapi'); функция 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. Състояние === 'Изключено' ? невярно: вярно; }); xapi.status.on('Standby', state => { standbyState = state. Състояние === 'Изключено' ? невярно: вярно; }); xapi.event.on('UserInterface InputDevice Key Action', натиснете => { if (натиснете. Въведете == "Натиснат") { switch (натиснете. 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; } } иначе ако (натиснете. Въведете == "Освободен") { switch (натиснете. 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? "Деактивиране в режим на готовност": "Активиране в режим на готовност"); чупя; по подразбиране: прекъсване; } } }); } init();