2012-07-31 102 views
3

我想開發一個使用USB實驗API的Chrome擴展。我從來沒有設法找到我的USB設備連接。我的這個擴展的起點是這樣的代碼: knob example 我改變了VID和PID來匹配我的USB設備,但沒有任何成功。我在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嗎? – 2012-07-31 09:25:51

+0

是的實驗延期啓用 – samux 2012-07-31 18:52:28

+0

@samux,您的清單是正確的。某些設備不能直接訪問,因爲操作系統內核在用戶空間代碼有機會執行它之前(例如MacOSX中的HID設備)獲取並解釋它們。 Chromium USB支持基於libusb(目前的Canary 1.0.8)。如果您想測試您的設備是否適合您的Chrome應用,那麼您可以使用任何基於libusb的客戶端進行測試。 – mangini 2012-07-31 22:40:14

回答

0

正如mangini所說,chrome.usb無法訪問HID級設備,因爲底層操作系統在API實現獲得機會之前獲取它們。幸運的是,我們正在解決這個問題。請按照the tracking bug for adding USB HID support的要求提供有關API的適用性和實施​​質量的反饋。

相關問題