この記事の内容
サードパーティ製 USB 入力デバイス(Board、デスクおよびルームシリーズ)の使用
list-menuこの記事の内容
list-menuフィードバックがある場合

サードパーティ製の USB 周辺機器を使って、USB キーボードや USB ドングル付きの Bluetooth®リモコンなど、デバイスの特定の機能を操作できます。

この機能は、タッチコントローラーやタッチユーザインターフェースの機能を補完 するためのものです。 それは彼らを 代替するためのものではない

アプリケーションの例:

  • 教室や講義中には、小型リモコンを使ってスタンバイモードからデバイスを起動させることができます。また、リモコンを使って入力ソースを選択するのも便利です。

  • タッチコントローラーの使用が許されない状況でのカメラビュー(パン、チルト、ズーム)を操作すること。 例えば、病院の手術室などです。

機能概要

USB 入力デバイスのボタンを押すと、Cisco デバイスの API 内でアクションがトリガーされます。 マクロ や外部制御装置は、第三者から設置され、これらの動作を検知し適切に対応できるように設定できます。 この機能は、インルームコントロールボタンの動作に似ています。 さらに、これらの動作をウェブフックや SSH セッション内で直接監視することも可能です。

選択可能なアクションの既存のライブラリは提供されていません。 出来事に応じて行うべき具体的な行動を定義し、確立する必要があります。 次に例を示します。

  • Volume Up キーを押すときに Cisco デバイスの音量を上げてください。

  • PUT Cisco デバイスをスリープキーを押すとスタンバイモードにします。

構成、イベント、現状

この記事で言及されている設定やステータスは、デバイスのローカルウェブインターフェースと API の両方から利用可能です。 ウェブインターフェースへのアクセス方法や API の使い方については、デバイス設定の記事 をご覧ください。

デバイスのウェブインターフェースを開いたら、 設定 をクリックします。 Configurations の下で、Change Peripherals > InputDevice Mode to On。 他社製 USB 入力デバイスのサポートは、デフォルトでは無効になっています。

ボタンを押して離すと、 Pressed および a Released イベントが生成されます:

 *e UserInterface InputDevice キーアクションキー:<キー名> *e UserInterface InputDevice キーアクションコード:キーの<ID> *e UserInterface InputDevice キーアクションタイプ:押した**終了 *e UserInterface InputDevice キーアクションキーキーキー:<キー名> *e UserInterface InputDevice キーアクションコード:キーの<ID> *e UserInterface InputDevice キーアクションタイプ: 釈放**終了 

イベントを聴くには、the InputDevice events からのフィードバック登録が必要です:

 xFeedback レジスタ /event/UserInterface/InputDevice ** 終了 

Cisco デバイスがサードパーティ周辺機器を検出すると、 Status および Peripherals > ConnectedDevice に表示されます。 サードパーティのデバイスは複数のデバイスとして報告されることがあります。

詳細情報

サードパーティ入力デバイスの使用については Customization guide でさらに詳しくご覧いただけます。 最新バージョンを選択してください。

Ciscoサポート(TAC)は、マクロを含むサードパーティコードのデバッグに対応していません。 マクロやサードパーティコードの助けが必要な場合は、 Cisco RoomOS for Collaboration Devices をご覧ください。 マクロや拡張のさらなる例は このページ をご覧ください。

この例では、サードパーティ製の USB 入力デバイス(この場合はリモコン)のキーを使って、Cisco デバイスの特定の機能を制御する方法をお見せしたいと思います。

Bluetooth リモコン(USB ドングルを介して接続)のボタンを使って、スタンバイ、音量調整、Cisco カメラ機器の操作などの操作方法をお見せします。 関連するイベントを聞き取り、Cisco デバイスの API を通じて対応するアクションを実行するマクロを開発できます。

次の例では、通常のフォントで書かれたテキストを入力しなければなりません。 斜体のテキストは Cisco デバイスから受け取った応答です。

1

SSH で Cisco デバイスにログインしてください。 ローカル admin user が必要です。

2

デバイスをサードパーティ製の USB リモコンの使用許可に設定してください。

 xConfiguration Peripherals InputDevice Mode: On ** end OK  

設定がオンかオフかは以下のコマンドで確認できます:

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

フィードバック登録をして、リモコンボタンが押されて離されたときに通知を受け取ってください。

 xFeedback レジスタ /event/userinterface/inputdevice  ** 終了 OK  

このコマンドを使って、デバイスがどのフィードバックに登録されているか確認できます:

 xFeedback list /event/userinterface/inputdevice ** 終了 OK  
4

リモコンのボタンを押して離すと、フィードバックの登録が正常かどうか確認できます。

このアクションは 2 つのイベントを生成します: Pressed および Released。 ボタンを押し続けると、ボタンを離すまで Pressed イベントが表示されます。 その後 Released イベントが生成されます。

これらのイベントは、エンターキーを押して離すと発生します。

  *e ユーザインターフェース 入力デバイスキー アクションキー:KEY_ENTER *e ユーザインターフェース 入力デバイスキーアクションコード:28 *e ユーザインターフェース 入力デバイスキーアクションタイプ:押注済み ** 終了 *e ユーザインターフェース 入力デバイスキーアクションキーキーキー:KEY_ENTER *e ユーザインターフェース 入力デバイスキーアクションコード:28 *e ユーザインターフェース入力デバイスキーアクションタイプ:リリース済み ** 終了  
5

関連する InputDevice events を受信し、デバイスの API を使って関連するアクションを実行するマクロを書きます。

  • スタンバイ、音量アップ、ボリュームダウンボタンを起動します。 マクロが KEY_VOLUMEUP、KEY_VOLUMEDOWN、または KEY_SLEEP を含むイベントを感知すると、関連するコマンドを実行します。

  • 矢印キー用のカメラ操作機能を作成します。 ボタンが押されている間はカメラを動かし続けたいのです。 ボタンを離すとカメラの動きが止まります。 マクロが KEY_LEFT、KEY_RIGHT、KEY_UP、KEY_DOWN を含むイベントを感知すると、関連するコマンドを実行します。

 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: 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.状態 ===「オフ」?false: true;});xapi.status.on('Standby', state => { standbyState = state.状態 ===「オフ」?false: true;});xapi.event.on('UserInterface InputDevice Key Action', => { if (press.タイプ == "Pressed") { switch (押す。キー) { ケース「KEY_LEFT」: cameraControl('Pan', 'Left'); break; ケース "KEY_RIGHT": cameraControl('Pan', 'Right'); break;ケース「KEY_UP」: cameraControl('Tilt', 'Up'); break;ケース「KEY_DOWN」: cameraControl('Tilt', 'Down'); break;デフォルト: break; } }そうでなければ(押す)タイプ == "解放") { スイッチ(押す。キー) { ケース "KEY_LEFT": cameraControl('Pan', 'Stop'); break; ケース "KEY_RIGHT": cameraControl('Pan', 'Stop'); break; ケース "KEY_UP": cameraControl('傾き', 'Stop'); break; ケース "KEY_DOWN": cameraControl('傾き', 'Stop'); break; ケース 'KEY_VOLUMEUP': com('Audio Volume Increase'); break; case 'KEY_VOLUMEDOWN': com('Audio Volume Decrease'); break; ケース 'KEY_SLEEP': com(standbyState? 「スタンバイ・デアクティベート」:スタンバイ・アクティベート);休憩;デフォルト:休止;} } });} init(); 
この投稿記事は役に立ちましたか?
この投稿記事は役に立ちましたか?