이 기능은 터치 컨트롤러 또는 터치 사용자 인터페이스의 기능을 보완하기 위한 것입니다. 이는 대체하기 위한 것이 아닙니다.

응용프로그램의 예제:

  • 교실과 강의 중에 작은 원격 제어를 사용하여 장치를 대기 모드에서 해제할 수 있습니다. 원격 제어를 사용하여 표시할 입력 소스를 선택하는 것이 편리할 수도 있습니다.

  • 터치 컨트롤러를 사용할 수 없는 상황에서 카메라 보기(이동(상하/좌우), 기울임 및 확대/축소)를 제어합니다. 예를 들어, 병원에 있는 운영실에서.

기능 개요

USB 입력 장치에서 버튼을 누르면 Cisco 장치의 API 내에서 작업이 트리거됩니다. 매크로 또는 타사의 외부 제어 장치는 해당 작업을 탐지하고 그에 따라 반응하도록 설정할 수 있습니다. 이 기능은 회의실 내 제어 버튼의 동작과 유사합니다. 또한 웹훅을 통해 또는 SSH 세션 내에서 직접 이러한 작업을 모니터링할 수 있습니다.

선택할 수 있는 기존 작업 라이브러리는 제공되지 않습니다. 이벤트에 대한 응답으로 실행되어야 하는 특정 작업을 정의하고 설정해야 합니다. 예를 들면,

  • 볼륨 높이기 키를 누르면 Cisco 장치의 볼륨을 높입니다.

  • 절전 키를 누르면 Cisco 장치를 대기 모드로 전환합니다.

구성, 이벤트 및 상태

이 문서에서 언급한 구성 및 상태는 장치의 로컬 웹 인터페이스와 API에서 모두 사용할 수 있습니다. 웹 인터페이스에 액세스하고 API를 사용하는 방법에 대한 정보는 장치 구성 문서 를 참조하십시오.

장치의 웹 인터페이스가 열리면 설정을 클릭합니다. 구성 아래에서 주변 장치 > InputDevice 모드켜기로 변경합니다. 제3자 USB 입력 장치에 대한 지원은 기본값으로 비활성화됩니다.

버튼을 누르고 을(를) 누르는 경우, 을(를) 누르는 중 및 발표된 이벤트가 생성 합니다.

 *e UserInterface InputDevice 키 작업 키:  *e UserInterface InputDevice 키 작업 코드:  *e UserInterface InputDevice 키 작업 유형: ** 종료 누르기 *e UserInterface InputDevice 키 작업 키:  *e UserInterface InputDevice 키 작업 코드:  *e UserInterface InputDevice 키 작업 유형: 해제됨 ** 종료 

이벤트를 청취하려면 InputDevice 이벤트에서 피드백을 등록해야 합니다.

 xFeedback 등록 /event/UserInterface/InputDevice ** 종료 

Cisco 장치에서 타사 주변 장치를 탐지하면 상태 주변 장치 > 연결된 장치 아래에 나열됩니다. 타사 장치는 여러 장치로 보고될 수 있습니다.

추가 정보

사용자 정의 안내서 에서 타사 입력 장치 사용에 대한 자세한 정보를 찾아보세요 . 최신 버전을 선택하십시오.

Cisco 지원(TAC)은 매크로를 포함하여 타사 코드의 디버깅을 지원하지 않습니다. 매크로 및 타사 코드에 대한 도움이 필요하시면 협업 장치용 Cisco RoomOS 를 확인하십시오. 매크로 및 내선 번호의 추가 예제를 확인하려면 이 페이지 를 확인하십시오.

예제

이 예제에서는 타사 USB 입력 장치(이 경우 원격 제어)의 키를 사용하여 Cisco 장치의 특정 기능을 제어하는 방법을 보여줍니다.

블루투스 리모컨의 버튼(USB 동글을 통해 연결된)을 사용하여 대기, 볼륨 조절 및 Cisco 카메라 장치의 제어와 같은 기능을 관리하는 방법을 보여줍니다. Cisco 장치의 API를 통해 관련된 이벤트를 수신하고 해당 작업을 실행하는 매크로를 개발할 수 있습니다.

다음 예제에서는 보통 글꼴로 쓰여진 텍스트를 입력해야 합니다. 기울임꼴로 표시된 텍스트는 Cisco 장치에서 수신한 응답입니다.

1

SSH에서 Cisco 장치에 로그인합니다. 로컬 관리 사용자가 필요합니다.

2

타사의 USB 장치 사용을 허용하도록 장치를 원격 제어.

 xConfiguration 주변 장치 InputDevice 모드: ** 종료 확인  

 

다음 명령어를 사용하여 구성이 On 또는 Off로 설정되어 있는지 확인할 수 있습니다.

 xConfiguration 주변 장치 InputDevice 모드  *c xConfiguration 주변 장치 InputDevice 모드: ** 종료 OK  
3

피드백에 등록하십시오. 이벤트 버튼을 원격 제어 때 알림을 보내드립니다.

 xFeedback 등록 /event/userinterface/inputdevice  ** 종료 확인  

 

이 명령어를 사용하기 위해 장치가 등록된 피드백을 확인할 수 있습니다.

 xFeedback list /event/userinterface/inputdevice ** 종료 확인  
4

피드백 등록이 작동하는지 확인 원격 제어 버튼을 누르고 릴리즈합니다.

이 작업은 두 개의 이벤트를 생성합니다. 누르기해제됨. 버튼을 누르고 홀드하면 버튼을 릴리즈할 때까지 누르는 이벤트가 표시됩니다. 그러면 1 의 이벤트가 생성됩니다.

해당 이벤트는 Enter 키를 누르고 을(를) 누를 때 발행됩니다.

  *e UserInterface InputDevice 키 작업 키: 키_ENTER *e UserInterface InputDevice 키 작업 코드: 28 *e UserInterface InputDevice 키 작업 유형: ** end *e UserInterface InputDevice 키 작업 키 누르기: 키_ENTER *e UserInterface InputDevice 키 작업 코드: 28 *e UserInterface InputDevice 키 작업 유형: 해제됨 ** 종료  
5

관련된 InputDevice 이벤트를 수신하고 장치의 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: 메시지, 지속 시간: 3 }); } 기능 cameraControl(모터, 방향, cameraId='1') { com('Camera Ramp', { 'CameraId': cameraId, [모터]: function init() { let standbyState; xapi.status.get('Standby').then((state) => {standbyState = state.State === 'Off' ? false : true; }); xapi.status.on('대기', state => { standbyState = state.State === '꺼짐' ? false : true; }); xapi.event.on('UserInterface InputDevice 키 작업', press => { 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('Tilt', 'Up'); break; case "KEY_DOWN": cameraControl('Tilt', 'Down'); break; 기본값: break; } } else if (press.Type == "해제됨") { switch (press.Key) { case "KEY_LEFT": cameraControl('Pan', 'Stop'); break; case "KEY_RIGHT": cameraControl('Pan', 'Stop'); break; case "KEY_UP": cameraControl('Tilt', 'Stop'); break; case "KEY_DOWN": cameraControl('Tilt', 'Stop'); break; case 'KEY_VOLUMEUP': com('오디오 볼륨 증가'); break; case 'KEY_VOLUMEDOWN': com('오디오 볼륨 낮추기'); break; case 'KEY_SLEEP': com(standbyState? '대기 비활성화': '대기 활성화'); break; 기본값: break; } } }); } init();