Android系统移植和驱动开发
上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。