linux/input.h密钥码是否独立于布局?

linux/input.h密钥码是否独立于布局?,linux,keyboard,keycode,scancodes,Linux,Keyboard,Keycode,Scancodes,例如,在input.h中,KEY_D等于32。在QWERTY键盘上,D是主行左侧的第三个可打印键。在DVORAK键盘上,同一个键被标记为E。因此,如果我在DVORAK键盘上按E键,我会得到键32还是键18?你会得到键D。这些值是对键的抽象,因为它们被放置在典型的物理键盘上。从所有接口细节中抽象出来后,请参见和其他网格。但这还没有考虑到其他的布局,既没有像AZERTY这样的全国性布局,也没有像Dvorak这样的特殊布局。它们在下一层实现,其中独立的键码受修饰符的影响,并转换为结果字符串和事件 US

例如,在input.h中,KEY_D等于32。在QWERTY键盘上,D是主行左侧的第三个可打印键。在DVORAK键盘上,同一个键被标记为E。因此,如果我在DVORAK键盘上按E键,我会得到键32还是键18?

你会得到键D。这些值是对键的抽象,因为它们被放置在典型的物理键盘上。从所有接口细节中抽象出来后,请参见和其他网格。但这还没有考虑到其他的布局,既没有像AZERTY这样的全国性布局,也没有像Dvorak这样的特殊布局。它们在下一层实现,其中独立的键码受修饰符的影响,并转换为结果字符串和事件

USB HID使用情况表明确说明:

注 关于用法和语言的一般说明:由于不同语言的键盘不同,因此不可能为每种语言指定精确的键映射。如果此列表不是特定于语言中的键功能,则应使用最接近的等效键位置,以便只需打印不同的键帽即可修改不同语言的键盘。一个例子是北美键盘上的Y键。在德国,这通常是Z。供应商应该使用Y,而不是更改键盘固件以将Z的用法放入描述符列表中的该位置 在北美和德国键盘上使用。这仍然是业界现有的做法,以尽量减少对电子设备的更改,以适应其他语言

因此,即使您的键盘最初是Dvorak,您也会得到D键。您可以将其视为通用键。再次参见ISO9995键名,如果这满足大多数布局源使用此符号