实验环境:1)Ubuntu9.10 OS
2)arm-linux-gcc 4.3.2交叉编译器
3)勤研S3C2440开发板(Linux2.6.29内核)
实现的功能:键盘驱动通过input子系统将按键事件上报给上层的应用程序,应用程序将相应的按键事件打印出来
关于input子系统的相关知识可以参考博文《Linux设备模型之input子系统详解》
http://blogold.chinaunix.net/u1/51562/showart_1090628.html
废话不多说,附上源码:
1) s3c2440键盘驱动源代码,参考2.6.29内核中触摸屏驱动s3c2410_ts.c实现
2) 一个简单的上层应用程序,通过读取键盘对应的设备文件将input子系统上报的键盘事件打印出来
以上代码在勤研2440的开发板上测试成功!
这是鄙人第一个完成的linux设备驱动,兴奋之余,知道以上内容肯定会有不足甚至错误之处,希望有兴趣的童鞋可以不吝赐教。