This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
以下是客户可能需要您帮助的问题表:
客户想知道 Tiva 软件提供的 USB 库的 USBHIDKEYBOARD HID 键盘如何能够发送一个单独的修改键。 您可以帮助解决此问题吗? 谢谢。
此致、
樱桃
您好、Cherry、
[引用 userid="496057" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1065703/tm4c1294ncpdt-usb-lib-modifier-key "]发送单独的修改键。请参阅 USB 库
2.18.4.3 USDHIDKeyboardKeyStateChange
向 USB 主机报告关键状态变化。
原型:
uint32_t
USBDHIDKeyboardKeyStateChange (void *pvKeyboardDevice、
uint8_t ui8修饰符、
uint8_t ui8UsageCode、
bool bpress)
参数:
pvKeyboardDevice 是 USBDHIDKeyboardInit()返回的器件实例结构的指针。
ui8修饰符包含每个键盘修饰符的状态(左/右移位、
Ctrl、Alt 或 GUI 键)。 有效值是标签的逻辑或组合
HID_KEYB_LEFT_CTRL、HID_KEYB_LEFT_SHIFT、HID_KEYB_LEFT_ALT、
HID_KEYB_LEFT_GUI、HID_KEYB_RIGHT _CTRL、HID_KEYB_RIGHT _SHIFT、
HID_KEYB_RIGHT 和 HID_KEYB_RIGHT GUI。 存在其中一个
位标志表示相关的修饰符键被按下、而不存在则表示它被按下
已发布。
ui8UsageCode 是状态已更改的密钥的使用代码。 如果只有修饰键
已更改、应在此参数中传递 HID_KEYB_USAGE_RESERVED。
b 按键已按下时,按键为真;按键已松开时,按键为假。 如果只有修饰符
键已更改状态,此参数将被忽略。
描述:
此函数从当前按下的按键列表中添加或删除按键使用代码和
安排向主机发送报告,以通知主机新的键盘状态。 如果
已记录同时按键的最大次数、即向主机发送的报告
包含翻转错误代码 HID_KEYB_USAGE_ROLLOVER、而不是 KEY 使用代码
并且调用方收到返回代码 KEYB_ERR_TOW_MOUSE_KEY。
返回:
如果密钥使用代码被添加到或从中删除、则返回 KEYB_SUCCESS
当前列表成功。 如果尝试、则返回 KEYB_ERR_TOW_MOUSE_KEY
已按下第7个键(BIOS 键盘协议不能同时报告6个以上的内容
按键)。 如果在 USB 主机配置器件之前调用、
如果在尝试时报告错误、则返回 KEYB_ERR_NOT _CONFIG定
发送报告、返回 KEYB_ERR_TX_ERROR。 如果尝试删除
按键列表中的键(通过将参数 bPressed 设置为 false)、但键用法代码为
未找到、返回 KEYB_ERR_NOT _ FOUND。