HID 设置空闲SetIdle
2020-10-31
4138
1
SetIdle用于设置HID设备空闲速率。
默认情况下,空闲速率为0。
SetIdle是一个非必要请求。
- bmRequestType(1):0x21
- bRequest(1): SET_IDLE,值为0A.
- wValue(2):高字节用于指定空闲速率,以4ms为单位,可选的值为4ms~1020ms,低字节为ReportId.
- wIndex(2):接口ID
- wLength(2):数据长度,为0
SetIdle由主机发输,用于向设备的中断端点设置无动作参数,该请求使中断输入管道上的特定报告不再输放到主机,直到发生新事件或经过指定的时间量再输入。
该请求使端点在其当前报告保持不变的情况下拒绝对端点中的中断进行任何轮询。 在没有变化的情况下,轮询将在给定的基于时间的持续时间内继续 NAK。
SetIdle请求一般发生在HID设备枚举完成后用于设置HID设备,以节省USB带宽。
如果该中断端点可以返回多个报告,则 Set_Idle 请求可用于仅影响为指定报告 ID 生成重复报告的速率。 例如,具有两个输入报告的设备可以为报告 ID 1 指定 20 毫秒的空闲率,为报告 ID 2 指定 500 毫秒的空闲率。
键盘的推荐默认空闲率(设备初始化时的速率)为 500 毫秒和操纵杆和鼠标的为无穷大。
当然,当设备不支持该请求时,可以返回STALL.
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936