2011年6月18日星期六

  android按键驱动开发实例1(修改一个按键)

--作者:赖玉平(Peter Lai)aulyp@163.com

我们实际修改开发板上已有一个按键的功能来练习。

要达到的效果:在开发板上的一个按键,做成数字“1”键,也就是在进到android后,对某个编辑框,按这个键,能输入数字“1”

一、查数字键“1”对应的code

linux-2.6.36-android/include/linux/input.h

#define KEY_1            2
#define KEY_2 3
#define KEY_3 4
#define KEY_4 5
#define KEY_5 6
#define KEY_6 7
#define KEY_7 8
#define KEY_8 9
#define KEY_9 10
#define KEY_0 11

二、硬件连接


按键

K1

K2

K4

K4

K5

K6

K7

K8

对应的中断

EINT0

EINT1

EINT2

EINT3

EINT4

EINT5

EINT19

EINT20

可复用为GPIO

GPN0

GPN1

GPN2

GPN3

GPN4

GPN5

GPL11

GPL12

clip_image002

我们使用K4 来做为数字键“1” 对应GPIO是GPN2

按下为低电平!

三、驱动中修改代码

1、按键定义

Linux-2.6.36-android\arch\arm\mach-s3c64xx\Mach-mini6410.c文件

static struct gpio_keys_button gpio_buttons[] = {
……
, {
.gpio = S3C64XX_GPN(2),
.code = 2,
.desc = "KEY _1",
.active_low = 1,
.wakeup = 0,
}
}

到这一步,已经成功地把开发板上右向键(DPAD_RIGHT)改为数字键“1”了

可以编译内核,烧录到开发板去看效果

csdn签名

没有评论:

发表评论