Samsung 6410 矩阵键盘驱动移植

Samsung 6410 矩阵键盘驱动移植

目录

 

1       概述:...1

2       驱动文件:...1

3       编译到内核:...2

4       驱动文件分析:...2

4.1        s3c-keypad.h.2

4.2        s3c-keypad.c.3

5       应用层获取键盘事件...4

 

1       概述:

由于项目需要用到键盘操作,所以移植了6410的键盘驱动程序,先GOOGLE一下前辈的精华,在结合自己实际移植情况,做一些简单记录,以备忘。

 

因为移植都还比较顺利,本文描述的也比较简单,有不足或错误的地方,欢迎大家讨论,学习交流。

 

内核版本: 2.6.28

硬件部分:略,基本按DATASHEET来

上层应用:QT2.2.0

 

欢迎讨论:QQ  67016879 或 lxj_com@163.com

移植好的驱动下载: http://download.csdn.net/detail/lxj_com2006/4381793

2       驱动文件:

linux2.6.28/drivers/input/keyboard/s3c-keypad.h

linux2.6.28/drivers/input/keyboard/s3c-keypad.c

 

3       编译到内核:

make menuconfig

 

选择 DeviceDrivers -> Input device support -> Keyboards -> S3C keypad support

将驱动编译进内核

 

4       驱动文件分析:

 

4.1    s3c-keypad.h

 

先看头文件,头文件是非常可帮助了解文件结构和接口的。

 

4.2    s3c-keypad.c

linux内核封装了keypad到应用层的接口,驱动程序从按键设备获取中断后,利用一个定时器,检测那些按键是否,按下(防抖),弹起,长按键等,分类出不同的事件通过 input_report_key 函数送入 linux,而应用层则通过和linux的底层通讯,可以主动或被动获得这些消息,然后再分发出去。

 

5       应用层获取键盘事件

如QT中:我们在写窗口程序时,只要覆盖相关虚函数:

 

void keyReleaseEvent(QKeyEvent *event);

void keyUpEvent(QKeyEvent *event);

 

通过QKeyEvent可以获得键盘不同事件和键码,并进行自己的流程处理。

 

注:还有些复杂按键,如:2,3组合键等,在此略。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值