摘要: 00000076 static void input_pass_event(struct input_dev *dev,00000077 unsigned int type, unsigned int code, int value)00000078 {00000079 struct input_handler *handler;00000080 struct input_handle *handle;00000081 00000082 rcu_read_lock();00000083 00000084 handle = rcu... 阅读全文
posted @ 2013-08-22 20:17 lknlfy 阅读(2477) 评论(0) 推荐(2) 编辑
摘要: 00000518 /* get current state of buttons */00000519 for (i = 0; i nbuttons; i++)00000520 gpio_keys_report_event(&ddata->data[i]);00000521 input_sync(input);00000522 00000523 device_init_wakeup(&pdev->dev, wakeup);00000524 00000525 return 0;00000526 00000527 fail3:0000052... 阅读全文
posted @ 2013-08-22 19:59 lknlfy 阅读(1863) 评论(1) 推荐(0) 编辑
摘要: 分别是总线类型、厂商号、产品号和版本号。1156行,evbit,设备支持的事件类型的位图,每一位代表一种事件,比如EV_KEY、EV_REL事件等等。BITS_TO_LONGS(nr)是一个宏,假设long型变量为32位,1位可以表示一种事件,那么这个宏的意思就是nr种事件需要用多少个long型变量来表示。EV_CNT的值为0x1f+1,因此BITS_TO_LONGS(0x1f+1)的值就为1。1157行,keybit,设备拥有的按键的位图,每一位代表一个按键。1158行,relbit,设备拥有的相对轴的位图,每一位代表一个相对轴。1159行,absbit,设备拥有的绝对轴的位图,每一位代表一 阅读全文
posted @ 2013-08-22 19:43 lknlfy 阅读(2752) 评论(0) 推荐(0) 编辑
摘要: 前言 以前在移植Qt到开发板上时只知道在配置文件中需要指定触摸屏的设备文件/dev/input/event0,仅此而已。直到一年半前突然想到用红外遥控器控制Tiny6410开发板上的Android系统,从而代替物理按键。实现原理是很简单的,就是首先解码红外信号,然后根据解码出的键值模拟一个按键信号。既然要模拟按键信号,那得首先找到按键信号产生的地方,通过查看内核编译生成的文件知道drivers/input/keyboard/gpio_keys.c文件是产生按键信号的源头,这是一个通用的用IO口模拟键盘的驱动程序。别小看这样一个功能,这是开发Android机顶盒、Android盒子必须要接触.. 阅读全文
posted @ 2013-08-22 19:28 lknlfy 阅读(7992) 评论(0) 推荐(3) 编辑