2012-07-31 3 views
3

USB 실험용 API를 사용하여 Chrome 확장 프로그램을 개발하고 싶습니다. 나는 나의 USB 장치가 연결된 것을 결코 발견하지 못했다. 이 확장 기능의 시작점은 다음과 같습니다. knob example 내 USB 장치와 일치하도록 vid와 pid가 변경되었지만 성공하지 못했습니다. 나는 canary와 dev 채널을 모두 가지고 Windows에서 시도했다. Chrome 실험 USB API에 연결된 기기가 없습니다.

{ 
    "name": "USB Spinner", 
    "version": "0.1", 
    "manifest_version": 2, 
    "app": { 
     "background": { 
      "scripts": ["background.js"] 
     } 
    }, 
    "permissions": [ 
     "app.window", 
     "experimental", 
     "usb" 
    ] 
} 

내가 권한에 실험 ANS의 USB 필드를 추가 : 나는 어떤 결과가 없다고보고

, 나는에 매니페스트를 수정했습니다. 그러나 여전히 결과가 없습니다. USB 장치에 액세스 할 수

내 코드는 다음과 같습니다

var VENDOR_ID = 0x1234; 
var PRODUCT_ID = 0x0006; 

var usb = chrome.experimental.usb; 

var deviceOptions = { 
    onEvent: function(usbEvent) { 
    } 
}; 

usb.findDevice(
    VENDOR_ID, 
    PRODUCT_ID, 
    deviceOptions, 
    function(device) { 
     if (!device) { 
      console.log('device not found'); 
      return; 
     } 
     console.log('Found device: ' + device.handle); 
    } 
); 

어떤 도움이 정말 감사하겠습니다.

무엇이 누락 되었습니까?

+0

'chrome : // flags'에서 실험용 API를 사용 설정 했습니까? –

+0

예 실험 확장 프로그램이 활성화되었습니다. – samux

+0

@samux, 매니페스트가 올바른 것입니다. OS 커널이 사용자 공간 코드 (예 : MacOSX의 HID 장치)를 수행하기 전에이를 잡아 해석하기 때문에 일부 장치는 직접 액세스 할 수 없습니다. Chromium USB 지원은 libusb (현재 Canary의 1.0.8)를 기반으로합니다. Chrome 앱에서 기기를 볼 수 있는지 테스트하고 싶은 경우 libusb 기반 클라이언트로 테스트 할 수 있습니다. – mangini

답변

0

mangini가 말한 것처럼 chrome.usb은 API 구현에 기회가 오기 전에 기본 운영 체제가 HID 클래스 장치를 획득하기 때문에 HID 클래스 장치에 액세스 할 수 없습니다. 다행히도, 우리는 그것을 고치고 있습니다. the tracking bug for adding USB HID support을 따르고 API의 적합성 및 구현 품질에 대한 의견을 제공하십시오.

관련 문제