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

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

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

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

Общ преглед на функциите

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

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

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

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

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

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

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

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

 *e Ключ за действие на ключ за UserInterface InputDevice:  *e Код за действие на ключ за UserInterface InputDevice:  *e Тип действие на ключ за UserInterface InputDevice: Натиснат ** end *e Ключ за действие на ключ за UserInterface InputDevice:  *e Код за действие на ключ за UserInterface InputDevice:  *e Тип действие на ключ за UserInterface InputDevice: Издадено ** край 

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

 xFeedback Register /event/UserInterface/InputDevice ** край 

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

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

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

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

Пример

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

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

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

1

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

2

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

 Режим на входно устройство за периферни устройства xConfiguration: На ** край OK  

 

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

 xКонфигурационен режим на периферните устройства InputDevice  *c xКонфигурационен режим на периферните устройства InputDevice: На ** край OK  
3

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

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

 

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

 xСписък с обратна връзка /събитие/потребителски интерфейс/входящо устройство ** край OK  
4

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

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

Тези събития се издават при натискане и освобождаване на клавиша Enter:

  *e Ключ за действие с ключ за UserInterface InputDevice: КЛЮЧ_ENTER *e Код за действие с ключ за UserInterface InputDevice: 28 *e Тип действие с ключ за UserInterface InputDevice: Натиснат ** end *e ключ за действие на UserInterface InputDevice Key: КЛЮЧ_ENTER *e Код за действие с ключ за UserInterface InputDevice: 28 *e Тип действие с ключ за UserInterface InputDevice: Издадено ** край  
5

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

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

  • Създайте функция за управление на камерата за клавишите със стрелки. Искаме да продължим да движим камерата, стига бутонът да е натиснат. Когато бутонът бъде освободен, движението на камерата спира. Когато макросът види събитие, съдържащо КЛАВИШ_НАЛЯВО, КЛЮЧ_НАДЯСНО, КЛЮЧ_НАГОРЕ или КЛЮЧ_НАДОЛУ, той изпълнява свързаните команди.

 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', { Текст: съобщение, продължителност: 3 }); } function cameraControl(motor, direction, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [мотор]: direction }); } function init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state.State === 'Изкл.'? false: true; }); xapi.status.on('Standby', state => { standbyState = state.State === 'Off'? false: true; }); xapi.event.on(’UserInterface InputDevice Key Action’, натиснете => { 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 („Накланяне“, „Нагоре“); break; case „KEY_DOWN“: cameraControl („Накланяне“, „Надолу“); прекъсване; по подразбиране: 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 („Накланяне“, „Стоп“); break; case „KEY_DOWN“: cameraControl („Накланяне“, „Стоп“); break; case „KEY_VOLUME“: com(„Увеличаване на силата на звука на аудиото“); break; case „KEY_DOWN VOLUME“: com(„Намаляване на силата на звука на аудиото“); break; case „KEY_SLEEP“: com(standbyState? „Деактивиране на режим на готовност“: „Активиране в режим на готовност“); прекъсване; по подразбиране: break; } }); } init();