2016-06-15 17 views
0

たとえば、USBキーボードは、システム内の共有デバイスです。いくつかのキーボードが可能で、num、scroll、capslockの状態を共有します。キーボード#1でcapslockを押すと、キーボード#2がこの状態を検出します。Arduino Trinket/Attiny85 USB:すべてのキーの状態を読み取ることができますか?

(小物ライブラリを使用して)エミュレートされたUSBキーボードデバイスの場合は、あなたが使用してこれらの値を確認することができます。

typedef struct { bool caps,num,scroll; } TKeyboardLEDState; 
..... 
TKeyboardLEDState usbGetKeyboardLedState() 
{ 
    uint8_t iState = TrinketHidCombo.getLEDstate(); 
    TKeyboardLEDState tResult; 

    tResult.caps = (iState & (1<< KB_LED_CAPS)); 
    tResult.num = (iState & (1<< KB_LED_NUM)); 
    tResult.scroll = (iState & (1<< KB_LED_SCROLL)); 

    return tResult; 
}  
....... 

void loop() 
{ 
    TKeyboardLEDState recKeybLEDstate = usbGetKeyboardLedState(); 

    if(recKeybLEDstate.caps) 
    { 
    // do something 
    } 
} 

質問:私はANYでこれを行うことができれば

をだから私は疑問に思います鍵かこれは完全に不可能ですか?そうでない場合は、どうしてですか?はいの場合、どうすればいいですか?

答えて

0

キーボード#1でcapslockを押すと、キーボード#2がこの状態を検出します。

現在のLED状態がOSによってすべてのキーボードに送信されるためです。しかし、LED状態のみが送信され、キー状態は送信されない。

関連する問題