繁体   English   中英

USB-HID 数据初始化

[英]USB-HID data initialisation

我在我的 RPi4 上将 USB 驱动程序配置为 USB 从设备,并将 RPI4 中的 USB 描述符设置为普通的 USB 键盘。 因此,我在 RPi4 上编写了一个 Java 程序,该程序从 USB 驱动程序(Scroll-Lock、Num-Lock 等)读取键盘状态

这很好用。 我可以在任何 PC 上插入 RPi4。 如果我在硬件键盘上按下 Num-Lock 键,我的 RPi 会同时识别更改,并在 Java 程序中显示与硬件键盘上的 LED 相同的 state。

但是对于这些状态,初始化到底是如何工作的呢? 到目前为止,我在 USB 文档中没有找到任何提示。

  • 当 PC 上的 Num-Lock 为“开启”(真)并且我插入 RPi 时,我的 Java 程序中的 state 保持“假”。 (不正确)
  • 在我按下 Num-Lock 键(PC 更改为假)的那一刻,我的程序得到更新并显示“假”,也是。 (正确的)
  • 在我再次按下 Num-Lock 键(PC 更改为 true)的那一刻,我的程序得到更新并显示“true”,也是。 (正确的)

这种从 PC 到 RPI4 的事件触发数据流按预期工作并且绝对正确。 但是,如何在 USB 数据流 model 中触发 Java 程序启动时程序内部状态的“手动更新”?

要检测 numlock/capslock/scrolllock 的 state,您需要读取主机在插入设备后不久发送给设备的相应 LED 灯报告的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM