如何从 STM32F103 USB 设备应用程序发送 ALT 代码?

How to send ALT Codes from STM32F103 USB Device Application?

我已将 STM32CubMX 生成的 STM32F1 USB HID 设备示例从鼠标修改为键盘,我可以通过发送 USB 报告中的扫描码向主机发送字符。

现在我想要在按下特定按钮时从键盘发送一些特殊字符。

他们的方式我看到它是发送构成字符 Unicode 的键的扫描码。

例如,要将带有 Unicode U+1F601(十进制 128513)的笑脸发送到 windows 机器,我将必须发送 1,2,8,5,1,3 的扫描码。我不明白的是如何使用 ALT 键修饰符发送它?

所有扫描代码应在设置了 ALT 修饰符的单个报告中或在不同的报告中发送?

我有一台 Ubuntu 机器并在报告中发送 CTRL+SHIFT+u 然后扫描代码后跟 Enter 键工作正常。

据我所知,您先发送 ALT 键修饰符,然后再发送键的扫描码。那应该可以正常工作。您需要牢记按键按下和按键弹起事件,因此当您不需要 ALT 修改时,您需要发送按键弹起。