上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.5.2 键盘驱动编写
针对Andorid要求,编写键盘驱动。EZ6410实验平台上有8个按键,即K1~K8。
Linux 系统提供了Input子系统,按键、触摸屏、键盘、鼠标等输入都可以利用Input接口函数实现设备驱动,因此,按键和触摸屏设备驱动都可以作为Input设备驱动而实现。
如图1.6所示为键盘原理图。
图1.6 键盘原理图
Android 系统键值要求可以参见Android 源码,具体的源码文件路径是system/usr/keylayout/qwerty.kl,我们用vim打开这个文件:
#vim system/usr/keylayout/qwerty.kl #define BACK 158 #define SOFT_RIGHT 60 #define MENU 229 #define SEARCH 127 #define HOME 102 #define DPAD_CENTER 232 #define DPAD_DOWN 108 #define DPAD_UP 103 #define DPAD_LEFT 105 #define DPAD_RIGHT 106 ……
我们实现其中的8个按键,对应关系如下:
代码参见“实验代码\键盘驱动代码”目录下的key_drv.c。