原创 对PS/2的个人理解

2009-7-10 15:37 2052 7 7 分类: 工程师职场

     今天上午忙乎了一上午在弄这个PS/2,现在把学到的总结如下pdf


以上为找到的资料。现在市面上见到的键盘主要有三种。 AT,PS/2 ,USB三种。纵观现在的市场USB将是未来的主要发展方向。PS/2我们常称为小口 而AT则成为大口。现在我们常见的PS/2主要是六线制的miniDIN型。点击开大图


接口定义如上。


PS/2键盘的编码
现在PC机使用的PS/2键盘都默认采用第二套扫描码集。扫描码有两种不同的类型:通码(make code)和断码(break code)。当一个键被按下或持续按住时,键盘会将该键的通码发送给主机;而当一个键被释放时,键盘会将该键的断码发送给主机。
根据键盘按键扫描码的不同,在此可将按键分为如下几类:
第一类按键,通码为1字节,断码为0xF0+通码形式。如A键,其通码为0x1C,断码为0xF0 0x1C。
第二类按键,通码为2字节0xE0+0xXX形式,断码为0xE0+0xF0+0xXX形式。如right ctrl键,其通码为0xE0 0x14,断码为0xE0 0xF0 0x14。
第三类特殊按键有两个,print screen键通码为0xE0 0x12 0xE0 0x7C,断码为0xE0 0xF0 0x7C 0xE0 0xF0 0x12; pause键通码为0x E1 0x14 0x77 0xE1 0xF0 0x14 0xF0 0x77,断码为空。
组合按键的扫描码发送按照按键发生的次序,如以下面顺序按左SHIFT+A键:1按下左SHIFT键,2按下A键,3释放A键,4释放左SHIFT键,那么计算机上接收到的一串数据为0x12 0x1C 0xF0 0x1C 0xF0 0x12。
在驱动程序设计中,就是根据这样的分类来对不同的按键进行不同处理的。

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条