我在POSIXy环境中使用libusb(特别是FreeBSD,但我希望它相当便携)。
我想使用libusb_get_string_descriptor
从USB设备获取一些字符串,但我不确定我应该为langid
使用什么值。我知道来自http://www.usb.org/developers/docs/USB_LANGIDs.pdf的官方列表,但有一种简单的方法可以在例如{{3}}的结果之间进行映射。 setlocale(LC_MESSAGES, NULL)
和此PDF中的LANGID?
这甚至是正确的方法吗?我看到的示例代码看起来都可以获取第一个字符串,而不必担心语言选择。
答案 0 :(得分:0)
我无法找到您所描述的任何映射,而且我不确定是否有任何映射,特别是因为语言名称在操作系统中不是标准的。
在我的(公认有限的)体验中,设备倾向于忽略langid并且总是返回给定索引的相同字符串。但是,我在美国并且无法访问旨在支持多种语言的设备,因此在全球范围内可能并非如此。
也就是说,每个USB设备(完全支持字符串描述符)都需要在字符串索引0上提供至少一个支持的langid,因此您可以首先(使用langid 0)获取该设备作为默认值。