Ця функція призначена для доповнення функцій сенсорного контролера або сенсорного інтерфейсу користувача. Вони не призначені для заміни їх.

Приклади додатків:

  • У класах та під час лекцій для пробудження пристрою з режиму очікування можна використовувати невелике віддалене керування. Також може бути зручно використовувати віддалене керування, щоб вибрати джерело введення для презентації.

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

Функціональний огляд

Коли кнопку натискають на вхідному пристрої USB, вона ініціює дію в API пристрою Cisco. Щоб виявляти ці дії та реагувати відповідно, можна налаштувати макроси або пристрої зовнішнього керування від третіх сторін. Ця функція подібна до поведінки кнопок керування в кімнаті. Крім того, можна здійснювати моніторинг цих дій через вебсигнальники або безпосередньо в межах сеансу SSH.

Наявна бібліотека дій, з якої вибрати, не надається. Ви повинні визначити та встановити конкретні дії, які мають відбуватися у відповідь на події. Наприклад:

  • Збільшувати гучність пристрою Cisco, коли натискається клавіша «Гучність вгору».

  • Під час натискання клавіші «Сон» переведіть пристрій Cisco в режим очікування.

Конфігурації, події та статус

Конфігурації та стан, про які йдеться в цій статті, доступні як з локального вебінтерфейсу пристрою, так і з API. Інформацію про те, як отримати доступ до вебінтерфейсу та використання API, див. у статті Конфігурації пристроїв .

Коли вебінтерфейс пристрою буде відкрито, клацніть Налаштування . У розділі Конфігурації змініть параметр Периферійні пристрої > Режим вводу пристрою на Увімк. Підтримка сторонніх пристроїв введення USB за замовчуванням відключена.

Натискання та відпускання кнопки створює подію з натиснутою та випущеною :

 *e UserInterface InputDevice Key Action Key:  *e UserInterface InputDevice Key Action Code:  *e UserInterface InputDevice Key Action Type: Натиснуто ** end *e UserInterface InputDevice Key Action Key:  *e UserInterface InputDevice Key Action Code:  *e UserInterface InputDevice Key Action Type: Випуск ** кінець 

Щоб прослухати події, необхідно зареєструвати відгуки від подій InputDevice :

 Реєстрація xFeedback /подія/Інтерфейс користувача/Вхідний пристрій ** end 

Коли пристрій Cisco виявить сторонній периферійний пристрій, його буде відображено в розділі Стан і в розділі Периферійні пристрої > ConnectedDevice . Сторонній пристрій може бути повідомлено як кілька пристроїв.

Додаткова інформація

Дізнайтеся більше про використання стороннього пристрою вводу в посібнику з налаштування . Виберіть останню версію.

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

Приклад

У цьому прикладі ми хочемо показати вам, як використовувати ключі стороннього пристрою для введення USB (у цьому випадку віддаленого керування) для керування певними функціями на пристрої Cisco.

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

У наступному прикладі необхідно ввести текст, який написаний звичайним шрифтом. Текст курсивом – це відповідь, отримана від пристрою Cisco.

1

Увійдіть на пристрій Cisco за допомогою SSH. Вам потрібен локальний користувач адміністратора .

2

Налаштуйте пристрій, щоб дозволити використання стороннього USB-пульта.

 Режим вводу пристрою xConfiguration Peripherals: У ** завершити OK  

 

Ви можете перевірити, чи ввімкнуто або вимкнуто конфігурацію, за допомогою цієї команди:

 xConfiguration Peripherals InputDevice Mode  *c xConfiguration Peripherals InputDevice Mode: О ** завершити OK  
3

Зареєструйтеся для зворотного зв'язку, щоб ми отримували сповіщення при натисканні та відпустці кнопок пульта дистанційного керування.

Реєстрація
 xFeedback /подія/інтерфейс користувача/пристрій введення  ** end OK  

 

Ви можете перевірити, на які відгуки пристрій зареєстровано за допомогою цієї команди:

xСписок
 відгуків /подія/інтерфейс користувача/пристрій введення ** end OK  
4

Натисніть і відпустіть кнопку на пульті дистанційного керування, щоб перевірити, чи працює реєстрація зворотного зв'язку.

Ця дія породжує дві події: Натиснуто й випущено. Якщо натиснути та утримувати кнопку, ви побачите натиснуту подію, доки не відпустіть кнопку. Потім генерується подія Released .

Ці події видаються при натисканні і відпусканні клавіші Enter:

  * e Ключ дії ключа введення пристрою користувача в інтерфейс: КЛЮЧ_ВВЕДІТЬ *e Код дії ключа вхідного пристрою для інтерфейсу користувача: 28 * e Тип дії ключа вхідного пристрою користувача інтерфейсу користувача: Натиснути ** end * e Ключ дії ключа введення пристрою для інтерфейсу користувача: КЛЮЧ_ВВЕДІТЬ *e Код дії ключа вхідного пристрою для інтерфейсу користувача: 28 * e Тип дії ключа вхідного пристрою користувача інтерфейсу користувача: Випуск ** кінець  
5

Напишіть макрос, який прослуховує відповідні події InputDevice , і виконуйте пов'язані з ними дії за допомогою API пристрою.

  • Доведіть до життя кнопки очікування, збільшення гучності та зменшення гучності. Коли макрос бачить подію, що містить КЛЮЧОВИЙ_ОБ'ЄМ, КЛЮЧОВИЙ_ОБ'ЄМ АБО КЛЮЧОВИЙ_СОН, він виконує пов'язані команди.

  • Створіть функцію керування камерою для клавіш зі стрілками. Ми хочемо продовжувати рухати камеру до тих пір, поки натиснута кнопка. Коли кнопка відпускається, рух камери припиняється. Коли макрос бачить подію, що містить КЛЮЧ_ЛІВОРУЧ, КЛЮЧ ВПРАВО_, КЛАВІШУ_ВГОРУ або КЛАВІШУ_ВНИЗ, він виконує пов'язані команди.

 var 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: повідомлення, тривалість: 3 }); } function cameraControl(motor, direction, cameraId='1') { com('Camera Ramp', { 'CameraId': ідентифікаторКамери, [двигун]: direction }); } function init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state.State === 'Off' ? false: true; }); xapi.status.on('Standby', state => { standbyState === 'Off' ? false : true; }); xapi.event.on('UserInterface InputDevice Key Action', press => { if (press.Type == "Натиснуто") { switch (press.Key) { case "KEY_LEFT": cameraControl(« Панель », « Ліворуч »); break; case « KEY_RIGHT »: cameraControl(« Панель », « Праворуч »); break; case « KEY_UP »: cameraControl(« Tilt », « Вгору »); break; case « KEY_DOWN »: cameraControl (« Нахил », « Вниз »); break; за замовчуванням: break; } } else if (press.Type == "Випущено") { switch (press.Key) { case "KEY_LEFT": cameraControl(« Панорама », « Зупинити »); break; case « KEY_RIGHT »: cameraControl(« Панорама », « Зупинити »); break; case « KEY_UP »: cameraControl('Tilt', 'Stop'); break; case "KEY_DOWN": cameraControl('Tilt', 'Stop'); break; case 'KEY_VOLUME': com('Збільшення гучності аудіо'); break; case 'KEY_VOLUME DOWN': com('Зменшення гучності аудіо'); break; case 'KEY_SLEEP': com (standbyState ? "Деактивувати в режимі очікування": "Активувати в режимі очікування"); break; за замовчуванням: break; } } }); } init();