android的设备带全键盘的很少,即使带全键盘的也都是USB HID键盘的居多,我们的设备类似于上网本,需要一个全键盘,但是设备上只有两个USB host口,Wifi用掉一个,剩下的一个USB host被用来做鼠标或者U盘接口用。刚好所用的ARM芯片带的有PS2控制器,所以我们采用PS键盘。linux本身支持PS2协议,如果PS2键盘使用的是标准的第二套键盘扫描码
101 102 和104 键的键盘:
| KEY |
MAKE |
BREAK |
KEY |
MAKE |
BREAK |
KEY |
MAKE |
BREAK |
| A |
1C |
F0,1C |
9 |
46 |
F0,46 |
[ |
54 |
F0,54 |
| B |
32 |
F0,32 |
` |
0E |
F0,0E |
INSERT |
E0,70 |
E0,F0,70 |
| C |
21 |
F0,21 |
- |
4E |
F0,4E |
HOME |
E0,6C |
E0,F0,6C |
| D |
23 |
F0,23 |
= |
55 |
F0,55 |
PG UP |
E0,7D |
E0,F0,7D |
| E |
24 |
F0,24 |
\ |
5D |
F0,5D |
DELETE |
E0,71 |
E0,F0,71 |
| F |
2B |
F0,2B |
BKSP |
66 |
F0,66 |
END |
E0,69 |
E0,F0,69 |
| G |
34 |
F0,34 |
SPACE |
29 |
F0,29 |
PG DN |
E0,7A |
E0,F0,7A |
| H |
33 |
F0,33 |
TAB |
0D |
F0,0D |
U ARROW |
E0,75 |
E0,F0,75 |
| I |
43 |
F0,43 |
CAPS |
58 |
F0,58 |
L ARROW |
E0,6B |
E0,F0,6B |
| J |
3B |
F0,3B |

在Android设备中,由于USB接口有限,选择了通过PS2控制器来接入全键盘。本文介绍如何利用Linux内核自带的PS2键盘驱动,针对ARM芯片上的PS2控制器,结合ARM的DDI0143.pdf文档进行驱动开发。通过添加platform资源并在init_machine时注册设备,以及编译时启用相应的设备驱动选项,实现PS2全键盘在Android系统中的支持。
2527

被折叠的 条评论
为什么被折叠?



