0xe0表示什么键?
这个0xe0的存在,主要是为了区分不同长度的按键编码。普通的ASCII字符通常占一个字节,而像Ctrl加其他键、PgUp、PgDn这类复杂操作,会占用两个字节。第一个字节固定为0xE0,第二个字节才是真正的键码。将这两个返回值合并,才能构成一个完整的32位键值,从而准确识别用户具体按下了哪个复杂组合键。
这个0xe0的存在,主要是为了区分不同长度的按键编码。普通的ASCII字符通常占一个字节,而像Ctrl加其他键、PgUp、PgDn这类复杂操作,会占用两个字节。第一个字节固定为0xE0,第二个字节才是真正的键码。将这两个返回值合并,才能构成一个完整的32位键值,从而准确识别用户具体按下了哪个复杂组合键。
原来如此,之前一直搞不懂为什么有些键的扫描码是两位,原来是为了和单字节字符做区分,这个扩展机制设计得挺巧妙的。