一张图解释按键码从键盘传递到浏览器的过程
传递过程
- 键盘按下某个按键后产生扫描码(scan code)
- 扫描码传递到键盘驱动,转换成虚拟码(virtual-Key code)
- 操作系统根据不同的键盘布局产生虚拟码对应的Unicode字符
- 操作系统将虚拟码和Unicode字符转递给浏览器
Reference
- https://www.w3.org/TR/uievents/#legacy-key-models
- https://www.w3.org/TR/uievents-code/
- https://social.msdn.microsoft.com/Forums/en-US/22b3150a-80f4-4cba-b199-fea8b6aef19e/virtual-key-codes-for-german-keyboard?forum=vcgeneral
- https://en.wikipedia.org/wiki/Scancode#PC_compatibles
- https://en.wikipedia.org/wiki/Keyboard_layout