Arduino Trinket/Attiny85 USB:可以读取所有键的状态吗?

Arduino Trinket/Attiny85 USB: Possible to read the state of ALL keys?

例如,USB 键盘是系统内的共享设备。多个键盘是可能的,它们共享 num、scroll 和 capslock 状态。当您在键盘 #1 上按下大写锁定时,键盘 #2 将检测到此状态。

对于模拟 USB 键盘设备(使用 Trinket 库),您可以使用以下方法检查这些值:

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
  }
}

问题:

所以我想知道我是否可以使用任何键来做到这一点,或者这完全不可能吗?如果不是,为什么不呢?如果是,我该怎么做?

When you press capslock on keyboard #1, keyboard #2 will detect this state.

那是因为当前的 LED 状态由 OS 传输到所有键盘。但只有 LED 状态被传输,而不是按键状态。