此功能旨在補充 觸控控制器或觸控使用者介面的功能。這並不意味著取代 他們。

應用程式範例:

  • 在課堂上和講座期間,可使用小型遠端控制將裝置從待機模式喚醒。使用遠端控制來選擇要顯示的輸入來源可能也很方便。

  • 在不允許您使用觸控控制器的情況下控制攝影機檢視(平移、傾斜和縮放)。例如,在醫院的手術室中。

功能概觀

當按下USB輸入裝置上的按鈕時,會觸發Cisco裝置的API中的動作。 或第三方的外部控制裝置可"安裝;設定"為偵測這些動作並做出相應的反應。此功能與「會議室控制」按鈕的行為相似。此外,透過 Webhook 或直接在 SSH 階段作業中監控這些動作也是可行的。

未提供預先存在的動作庫供您選擇。您需要定義並建立應發生以回應事件的特定動作。例如:

  • 按下提高音量鍵時,提高Cisco裝置的音量。

  • 按下睡眠鍵時,將Cisco裝置置於待機模式。

組配置、事件和狀態

可從裝置的本機Web 介面和 API 獲取此文章中提及的組態和狀態。請閱讀 裝置設定文章 獲取如何存取Web 介面及使用API的資訊。

當裝置的Web 介面開啟後,按一下 設定。低於 設定,變更 周邊設備 > 輸入裝置模式開啟。協力廠商 USB 輸入裝置的支援預設為停用。

按下並放開按鈕會產生 已按下和 已放開 事件:

 *e 使用者介面輸入裝置鍵動作鍵: *e 使用者介面輸入裝置鍵動作代碼: *e 使用者介面輸入裝置鍵動作類型:按一下 ** end *e 使用者介面輸入裝置鍵動作鍵: *e 使用者介面輸入裝置鍵動作代碼: *e 使用者介面輸入裝置鍵動作類型:已在 ** 結束 

若要聽取事件,您必須註冊 InputDevice 事件的意見回饋:

 x意見回饋註冊 /event/UserInterface/InputDevice ** end 

當Cisco裝置偵測到第三方周邊設備時,會將其列於 狀態 並在 周邊設備 > 已連線裝置。第三方裝置可能會報告為多個裝置。

進一步資訊

在自訂指南中尋找協力廠商輸入裝置 使用相關資訊 。選擇最新版。

Cisco 支援 (TAC) 不支援協力廠商代碼(包括宏)的調試。請檢查 適用於協作裝置的Cisco RoomOS 您需要關於 macros 和第三方代碼的幫助。檢查 此頁面 如需更多關於 macros 和擴充功能的範例。

範例

在此範例中,我們想向您展示如何使用第三方USB輸入裝置(在此案例中為遠端控制)的按鍵來控制Cisco裝置上的某些功能。

我們將向您展示如何使用藍牙遠端控制(透過USB適配器連接)上的按鈕來管理待機、音量調整以及控制Cisco攝影機裝置等功能。您可以開發可偵聽相關事件並透過Cisco裝置的API執行對應動作的宏。

在下列範例中,您必須輸入以一般字型大小撰寫的文字。斜體文字是從Cisco裝置收到的回應。

1

透過 SSH 登入Cisco裝置。您需要一個本地管理員 使用者。

2

設定裝置以允許使用協力廠商 USB 遠端控制。

 x配置周邊設備輸入裝置模式:開啟**確定 

 

您可以使用以下指令檢查組配置是開還是關:

 x配置周邊設備輸入裝置模式 *c x配置周邊設備輸入裝置模式:在 ** 結束時確定  
3

註冊意見回饋,如此一來,當按下及遠端控制按鈕時,我們會收到通知。

 x意見回饋註冊器 /事件/使用者介面/輸入裝置 **確定 

 

您可以使用此指令檢查裝置註冊的意見回饋:

 x意見回饋清單/事件/使用者介面/輸入裝置 ** end 確定 
4

按下按鈕並放開,遠端控制回饋註冊是否有效。

此動作會產生兩個事件:已按下已發行。如果您按住按鈕,則會看到 已按下事件 ,直到放開該按鈕。然後產生 已釋 出事件。

按下並放開 Enter 鍵時,將發出這些事件:

  *e 使用者介面輸入裝置鍵動作鍵:鍵_輸入 *e 使用者介面輸入裝置鍵動作代碼:28 *e 使用者介面輸入裝置鍵動作類型:按一下 ** end *e 使用者介面輸入裝置鍵動作鍵:鍵_輸入 *e 使用者介面輸入裝置鍵動作代碼:28 *e 使用者介面輸入裝置鍵動作類型:已在 ** 結束  
5

寫入用於聆聽相關 InputDevice 事件的宏,然後使用裝置 API 執行相關動作。

  • 讓待命、音量調高和音量降低按鈕恢復使用。當宏發現包含 KEY_VOLUMEUP、KEY_VOLUMEDOWN 或 KEY_SLEEP 的事件時,會執行相關的指令。

  • 為方向鍵建立攝影機控制功能。只要按下按鈕,我們即可保持移動攝影機。釋出按鈕時,攝影機會停止移動。當宏發現包含 KEY_LEFT、KEY_RIGHT、KEY UP 或 KEY__DOWN 的事件時,會執行相關的指令。

 常量 xapi = 需要('xapi'); function com(command, args='') { xapi.command(command, args);記錄 (command + ' ' + JSON.串化(參數)); } 功能記錄(活動) { 主控台.log(活動); } function notify(message) { xapi.command('使用者介面訊息 Text Line 顯示', { Text: 訊息,持續時間:3 }); } Function CameraControl(電機,方向,cameraId = '1') { com('相機斜坡',{ 'CameraId':CameraId,[電機]:方向 }); } 功能初始化 () { 讓待機狀態; xapi.status.get('Standby').then((狀態) => {standbyState = state.State === '關閉' ? false : 真; }); xapi.status.on(「待機」,狀態 => {備用狀態 = state.State ===「關閉」?false :真; }); xapi.event.on('使用者介面輸入裝置鍵動作', 按一下 => { 如果 (press.Type = = "按一下") { switch (press.Key) { case "鍵_向左」:CameraControl('平移','向左');破碎;情況下「金鑰_向右」:CameraControl('平移','向右');破碎;情況下「金鑰_向上”:CameraControl('傾斜','向上');破碎;情況下「金鑰_向下」:CameraControl('傾斜','下');破碎;預設值:破碎; } } else if (press.Type == "已釋出") { switch (press.Key) { case "KEY_向左」:CameraControl('平移','停止');破碎;情況下「金鑰_向右」:CameraControl('平移','停止');破碎;案例「金鑰_向上”:CameraControl('傾斜','停止');破碎;案例「金鑰_向下」:CameraControl('傾斜','停止');破碎;大小寫鍵_音量”:com('音訊音量增加');破碎;大小寫鍵_降低音量」:com('音訊音量降低');破碎;大小寫鍵_睡眠”:com(standbyState ?「待機停用」:「待機啟動」);破碎;預設值:破碎; } } }); } 初始化 ();