USB 键盘发送的键码代表键盘上键的物理位置,而不是 ascii/unicode 键数据。就本地化而言,这可能是一件坏事,但这是 90 年代的协议,他们希望保持简单,并保持当时 PC/AT 标准的心态。
这种方法的问题是硬件无法强制打印在其物理按钮上的布局。它所能做的就是提示驱动程序有关其映射的信息。USB HIDbCountryCode在 USB 描述符数据(第 6.2.1 节,第 22 页)中定义了一个字段:
识别本地化硬件的国家代码的数字表达式。
不幸的是,这是未指定的(相同语言的键盘变体之间没有区别等),因此硬件制造商从不经常使用该字段,他们几乎总是将0x00,即NotSupported. 由于硬件从未使用过这么多,因此从未开发过操作系统支持。