Эта функция предназначена для дополнения функциональных возможностей сенсорного контроллера или пользовательского интерфейса сенсорного экрана. Он не предназначен для их замены .

Примеры приложений:

  • В классах и во время лекций для пробуждения устройства из режима ожидания можно использовать небольшое пульт дистанционного управления. Также может быть удобно использовать пульт дистанционного управления для выбора источника ввода для презентации.

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

Обзор функциональных возможностей

Нажатие кнопки на устройстве ввода USB инициирует действие в API устройства Cisco. Можно настроить макросы или внешние устройства управления сторонних производителей для обнаружения этих действий и реагирования на них. Эта функция аналогична поведению кнопок управления комнатой. Кроме того, эти действия можно отслеживать с помощью веб-перехватчиков или непосредственно в сеансе SSH.

Уже существующая библиотека действий для выбора не предоставляется. Необходимо определить и установить конкретные действия, которые должны выполняться в ответ на события. Пример.

  • Увеличьте громкость устройства Cisco при нажатии клавиши увеличения громкости.

  • Переведите устройство Cisco в режим ожидания при нажатии клавиши перехода в спящий режим.

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

Конфигурации и состояния, упомянутые в этой статье, доступны как из локального веб-интерфейса устройства, так и из API. Информацию о том, как получить доступ к веб-интерфейсу и использовать API, см. в статье Конфигурации устройства .

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

При нажатии и выпуске кнопки создается событие «Нажатие » и «Сброс »:

 * Ключ действия ключа ввода устройства UserInterface:  * Код действия ключа ввода устройства UserInterface:  * Тип действия ключа ввода устройства UserInterface: Нажато ** end *e Ключ действия ключа ввода устройства UserInterface:  *e Код действия ключа ввода устройства UserInterface:  *e Тип действия ключа ввода устройства UserInterface: Выпуск ** завершен 

Чтобы прослушивать события, необходимо зарегистрировать обратную связь от события InputDevice :

 xFeedback Register /event/UserInterface/InputDevice ** end 

При обнаружении устройством Cisco стороннего периферийного устройства оно будет отображено в разделе Состояние и в разделе Периферийные устройства > Подключенное устройство . Стороннее устройство может быть представлено как несколько устройств.

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

Узнайте больше об использовании стороннее устройство ввода в руководстве по настройке . Выберите последнюю версию.

Поддержка Cisco (TAC) не поддерживает отладку кода третьих сторон, включая макроки. Если вам нужна помощь с макросами и сторонним кодом, проверьте Cisco RoomOS для устройств для совместной работы . Дополнительные примеры макросов и добавочных номеров см. на этой странице .

Пример

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

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

В следующем примере необходимо ввести текст, написанный обычным шрифтом. Выделенный курсивом текст – это ответ, полученный от устройства Cisco.

1

Войдите в устройство Cisco на SSH. Вам необходим локальный пользователь-администратор .

2

Настройте устройство так, чтобы устройство позволяло использовать usb-порты сторонних удаленное управление.

 Режим ввода периферийных устройств xConfiguration: На ** завершите ОК  

 

Можно проверить, включит ли конфигурация или выключается, используя эту команду:

 xConfiguration Peripherals InputDevice Mode  *c xConfiguration Peripherals InputDevice Mode: ** Завершить "ОК"  
3

Зарегистрируйтесь для получения обратной связи, чтобы получить уведомление о нажатии удаленное управление кнопки видео.

 xРегистрация обратной связи /event/userinterface/inputdevice  ** завершить ОК  

 

Можно проверить, какие отзывы зарегистрированы на устройство с помощью этой команды:

 xСписок обратной связи /event/userinterface/inputdevice ** end OK  
4

Нажмите и отпустите кнопку на удаленное управление, чтобы проверить работу регистрации обратной связи.

Это действие генерирует два события: Нажато и Снято. При нажатии и удержании кнопки нажатие кнопки будет от конференции «Нажатие» (Pressed ) до ее выпуска. Затем будет сформировано событие "Освобождено".

Эти события выпускаются при нажатии и выпуске клавиши Enter:

  *e Ключ действия «Пользовательский интерфейс»: КЛЮЧ_ВВЕДИТЕ *e код действия ключа UserInterface InputDevice: Тип действия ключа ввода устройства пользователя 28 *: Нажато ** end *e Пользовательский интерфейс ВводDevice Key Action Key: КЛЮЧ_ВВЕДИТЕ *e код действия ключа UserInterface InputDevice: Тип действия ключа ввода устройства пользователя 28 *: Выпуск ** завершен  
5

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

  • Привнесите кнопки для режимов ожидания, громкости и громкости. Когда макрос видит событие, содержащее ГРОМКОСТЬ_КЛЮЧА, ГРОМКОСТЬ_КЛЮЧА или КЛЮЧЕВОЙ_СПЯЩИЙ, он выполняет соответствующие команды.

  • Создайте функцию управления камерой для клавиш со стрелками. Мы движемся камерой до тех пор, пока кнопка не будет нажата. После сброса кнопки перемещение камеры прекращается. Когда макрос видит событие, содержащее КЛАВИШУ ВЛЕВО_,_КЛЮЧ ВПРАВО, KEY_UP или KEY_DOWN, он выполняет соответствующие команды.

 const xapi = require('xapi'); функция com(command, args='') { xapi.command(command, args); log(command + ' ' + JSON.stringify(args)); } функция log(event) { console.log(event); } функция notify(message) { xapi.command('UserInterface Message TextLine Display', { Text: сообщение, продолжительность: 3); } функция cameraControl(motor, direction, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [двигатель]: direction }); } функция init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState === 'Выкл.' ? false : true; }); xapi.status.on('Standby', state => { standbyState === 'Выкл.' ? false : true; }); xapi.event.on('UserInterface InputDevice Key Action', нажмите => { if (press.Type == "Нажато") { switch (press.Key) { case "KEY_LEFT": cameraControl("Pan", "Влево"); break; регистр "КЛАВИША_ВПРАВО": cameraControl("Pan", "Вправо"); break; обращение "КЛАВИША_UP": cameraControl("Наклон", "Вверх"); break; регистр "КЛАВИША_ВНИЗ": cameraControl("Наклон", "Вниз"); break; по умолчанию: break; }} else if (press.Type == "Освобожден") { switch (press.Key) { case "KEY_LEFT": cameraControl("Pan", "Stop"); break; регистр "КЛАВИША_ВПРАВО": cameraControl("Pan", "Stop"); break; обращение "KEY_UP": cameraControl("Наклон", "Остановка"); break; регистр "ВНИЗ_": cameraControl ("Наклон", "Остановка"); break; регистр "КЛЮЧ_ГРОМКОСТЬ": com("Увеличение громкости аудио"); break; обращение "КЛАВИША_УМЕНЬШЕНИЕ ГРОМКОСТИ": com("Уменьшение громкости аудио"); break; регистр "КЛЮЧ_СПЯЩИЙ": com(состояние ожидания? "Деактивировать режим ожидания": "Активация режима ожидания"); разбивка; по умолчанию: break; } }}); } init();