loufand
deepin
2017-09-13 01:44 http://www.mouseos.com/os/doc/scan_code.html
这篇文章中说
按着 或 不放,再按 abcd 键,再放开 或 键
这样会产生一个 或 键的 mark 码,然后依次是 abcd 的 mark 和 break 码,最后是一个 或 键的 break 码
我也一直这么以为,但是。。。
为什么我在按下shift后数字键的扫描码就变了呢?而且不光数字键像,.;'[]-=等键都有这个问题,
难道是我电脑的问题?我是联想小新v1000
这篇文章中说
按着 或 不放,再按 abcd 键,再放开 或 键
这样会产生一个 或 键的 mark 码,然后依次是 abcd 的 mark 和 break 码,最后是一个 或 键的 break 码
我也一直这么以为,但是。。。
为什么我在按下shift后数字键的扫描码就变了呢?而且不光数字键像,.;'[]-=等键都有这个问题,
难道是我电脑的问题?我是联想小新v1000
Reply Like 0 View the author


中文 


最近在学习操作系统相关知识,现在看到了键盘操作部分,想自己实现一个键盘驱动,但遇到了一些问题,求大神解答。
现在已经实现了a-z的输入,可以通过shift切换大小写,但字母上方的数字键有了一些问题,可以显示1234567890,但是当按下shift后再数字键,就会显示!Q|$%~^}*(,而不是!@#$%^&*(),打印扫描码发现按下shift后数字键的扫描码居然变了,
2的make code 和break code 分别是0x03 和0x83,但按下shift后变成了0x10和0x90,这是怎么回事?在百度上搜了半天
发现这方面的资料实在太少,所以求助于大家。