我目前正在Python 3中编写USB HID代码....

NULL_CHAR = chr(0)
def write_report(report):
with open('/dev/hidg0', 'rb+') as fd:
    fd.write(report.encode())

# Press SHIFT + a = A
write_report(chr(32)+NULL_CHAR+chr(4)+NULL_CHAR*5)
# Release all keys
write_report(NULL_CHAR*8)

我的问题:

通过查看USB.org标准"USB HID Usage Tables"(v1.12 - 10-21-2004 - https://www.usb.org/document-library/hid-usage-tables-112)......

我知道从积极运行上面的例子(在十进制FYI中使用"USAGE ID"), CHR(32)< SHIFT > ,但在HID表中它显示 Decimal (32) 是一个键盘 < 3 >< # > ..

那是怎么回事 ?

我使用错误的表,我应该使用ASCii代码而不是USB HID键盘代码吗?

是否有更好/更准确的代码表?

因为如果chr(32)实际上是<SHIFT>,那么<3>会是什么?

是否有更简单的方法来组合功能键(F1 F3 F5)以及全文行,并通过USB发出它们的方式比我目前正在进行的方式?

任何帮助清除这个专业人士的帮助将非常感谢!!!