Cisco Webex Devices 새로운 기능 USB 입력 장치 사용

소개



Cisco Webex Devices의 새로운 기능을 확인하려고 연말에 What's New in Cisco Webex Room and Desk Devices을 읽으면 1. USB 입력 장치 지원, 2. HTTP POST 지원, 3. 기본 버튼 숨김 기능의 세 가지 새로운 기능이 출시되었습니다. 되었음을 알았습니다. 이 기사에서는 USB 입력 장치를 확인합니다.

개요



Cisco Webex Devices에는 USB 포트가 있습니다. 이 포트에 USB 키보드와 같은 소위 입력 장치를 연결하여 해당 동작을 매크로에 표시할 수 있습니다. 자세한 문서는 Support for Third Party USB Controllers에서 찾을 수 있습니다.
용도이지만 USB 숫자 키패드를 연결하고 숫자 입력을 지원하거나 키보드의 키보드 1을 누르면 결정된 위치로 발신, 설정 변경, USB 키 입력으로 변환 해주는 적외선 수광기를 이용 적외선 리모컨을 연결 등 다양한 이용 장면을 생각할 수 있습니다.

지원 장치는 아래 목록입니다.
  • Codec Plus
  • Codec Pro
  • DX70 and DX80
  • Room 55 and 55 Dual
  • Room 70 and 70 G2
  • Room Kit

  • DX80 및 USB 키보드로 실험



    DX80을 Cisco Webex Control Hub에 등록하고 고급 설정에서 로컬 관리자 localadmin을 미리 만들었습니다.

    Setup > Peripherals에서 InputDevice Mode를 On으로 설정합니다.



    USB 키보드를 꽂습니다. Status > Peripherals에서 확인합니다.



    Dell 키보드의 경우 두 개의 ID를 볼 수 있습니다. 만약을 위해, PFU의 키보드를 접속해 보았습니다. 이것은 ID가 하나입니다.



    마우스도 인식합니다.



    다만, 이것만으로는 키보드는 동작하지 않습니다. 어디까지나 인식하고 입력을 접수하게 된 것만으로, 그 입력에 따라 무엇을 하는지는 정의해 줄 필요가 있습니다.

    SSH로 기기에 로그인합니다.
    $ ssh -l localadmin 10.65.74.37
    Password: 
    
    *r Login successful
    OK
    

    입력에 따라 어떤 이벤트가 발생하는지 모니터링하기 위해 다음 명령을 입력합니다.
    xFeedback Register /event/UserInterface/InputDevice 
    

    덧붙여서 종료 할 때는 다음 명령입니다.
    xFeedback Deregister /event/UserInterface/InputDevice 
    

    마우스 왼쪽 클릭 이벤트를 주워 보았습니다.
    *e UserInterface InputDevice Key Action Key: CODE_273
    *e UserInterface InputDevice Key Action Code: 273
    *e UserInterface InputDevice Key Action Type: Pressed
    ** end
    *e UserInterface InputDevice Key Action Key: CODE_273
    *e UserInterface InputDevice Key Action Code: 273
    *e UserInterface InputDevice Key Action Type: Released
    ** end
    

    키보드라면 이런 느낌입니다.
    *e UserInterface InputDevice Key Action Key: KEY_6
    *e UserInterface InputDevice Key Action Code: 7
    *e UserInterface InputDevice Key Action Type: Released
    ** end
    *e UserInterface InputDevice Key Action Key: KEY_BACKSPACE
    *e UserInterface InputDevice Key Action Code: 14
    *e UserInterface InputDevice Key Action Type: Pressed
    ** end
    *e UserInterface InputDevice Key Action Key: KEY_BACKSPACE
    *e UserInterface InputDevice Key Action Code: 14
    *e UserInterface InputDevice Key Action Type: Released
    ** end
    *e UserInterface InputDevice Key Action Key: KEY_ENTER
    *e UserInterface InputDevice Key Action Code: 28
    *e UserInterface InputDevice Key Action Type: Pressed
    ** end
    *e UserInterface InputDevice Key Action Key: KEY_ENTER
    *e UserInterface InputDevice Key Action Code: 28
    *e UserInterface InputDevice Key Action Type: Released
    ** end
    

    이 Action Type 과 Action Key 를 매크로등으로 픽업해 주어 그 액션을 정의 붙여 줄 필요가 있습니다.
    /**
     * Mouse Click to Call
     * 
     */
    
    
    // library for communicating with video system
    const xapi = require('xapi');
    // Dial Destination
    const number1 = '[email protected]';
    const number2 = '[email protected]';
    
    function dial(number) {
      console.log('dial', number);
      xapi.command('dial', { Number: number });
    }
    
    function listenToGui(event) {
      if (event.Type === 'Pressed') {
        switch (event.Key) {
        case 'CODE_273': 
          // Left-Click
          dial(number1); 
          break;
        case 'CODE_272':
          // Right-Click
          dial(number2); 
          break;
        }
      }
    }
    
    xapi.event.on('UserInterface InputDevice Key Action', listenToGui);
    

    키보드 입력과 숫자 입력 매핑



    키보드 입력을 그대로 단말기 입력에 전달하려면 어떻게 해야 하나요? DX에는 화면상의 키보드 화면의 일부 키를 대체해 주는 xcommand UserInterface OSD Key Click Key: 명령이 있습니다. 이쪽을 이용합니다. 덧붙여 키의 일부는 동작하지 않기 때문에, 커멘드로 실제로 입력해 확인할 필요가 있습니다.
    xcommand UserInterface OSD Key Click Key: 
    +             7             F3            Ok            SrcPc
    -             8             F4            PhoneBook     SrcVcr
    0             9             F5            Presentation  Star
    1             C             Grab          Right         Up
    2             Call          Home          Selfview      VolumeDown
    3             Disconnect    Layout        Square        VolumeUp
    4             Down          Left          SrcAux        ZoomIn
    5             F1            Mute          SrcCamera     ZoomOut
    6             F2            MuteMic       SrcDocCam     
    xcommand UserInterface OSD Key Click Key: 1
    
    OK
    

    이것을 이용해 Dell 키보드의 10 키로부터의 입력을 받아들이도록 했습니다. 또한 Qwerty 키보드 측의 숫자 입력과 오른쪽의 10 키와는 Key Action 가 달라, 여기에서는 10 키만의 접수로 하고 있습니다.
    const xapi = require('xapi');
    
    function listenToGui(event) {
      let inputChar;
      if (event.Type === 'Pressed') {
        switch (event.Key) {
        case 'KEY_KP0':
          inputChar = '0';
          break;
        case 'KEY_KP1':
          inputChar = '1';
          break;
        case 'KEY_KP2':
          inputChar = '2';
          break;
        case 'KEY_KP3':
          inputChar = '3';
          break;
        case 'KEY_KP4':
          inputChar = '4';
          break;
        case 'KEY_KP5':
          inputChar = '5';
          break;
        case 'KEY_KP6':
          inputChar = '6';
          break;
         case 'KEY_KP7':
          inputChar = '7';
          break;     
        case 'KEY_KP8':
          inputChar = '8';
          break;
        case 'KEY_KP9':
          inputChar = '9';
          break;
        case 'KEY_BACKSPACE':
          inputChar = 'C';
          break;
        case 'KEY_RIGHT':
          inputChar = 'Right';
          break;
        case 'KEY_LEFT':
          inputChar = 'Left';
          break;
        case 'KEY_DOWN':
          inputChar = 'Down';
          break;  
        case 'KEY_UP':
          inputChar = 'Up';
          break;   
        case 'KEY_KPPLUS':
            inputChar = '+';
          break;
        case 'KEY_KPMINUS':
            inputChar = '-';
          break;    
        case 'KEY_KPASTERISK':
            inputChar = 'Star';
          break;    
    
        }
        if (inputChar !== undefined ){
          xapi.command('UserInterface OSD Key Click',{Key: inputChar});
        }
      }
    }
    
    xapi.event.on('UserInterface InputDevice Key Action', listenToGui);
    

    문서 예에서는 PTZ 카메라 컨트롤을 화살표 키로 수락합니다. 기능과 매핑하는 것으로, 다양한 사용법이 태어날지도 모르겠네요.

    좋은 웹페이지 즐겨찾기