Linux 输入设备驱动上报按键值方法
来源:互联网 发布:zoomla 逐浪cms 编辑:程序博客网 时间:2024/05/02 04:44
input_set_capability和input_event以及input_sync函数实现Linux 输入设备驱动上报按键值方法
input_report_key 函数貌似也有人用,这个demo 看看先!
input_report_key 调用input_event实现的!
在 linux/include/uapi/linux/input.h 里面有
#define KEY_VOLUMEDOWN 114
#define KEY_VOLUMEUP 115
#define KEY_BACK 158 /* AC Back */
#define KEY_FORWARD 159 /* AC Forward */
#define KEY_RECORD 167
#define KEY_CAMERA 212
#define KEY_SOUND 213
./hexdump /dev/input/eventx (x 为01,2,3...) 根据实际情况而定。
不过要注意Linux 上传按下信号,也要上传松开信号,否则Linux 系统会一直以为按键还在按下状态。
/*获取按键值*/
45 down = !s3c2410_gpio_getpin(button_irqs->pin); //down: 1(按下),0(弹起)
46 if (!down) {47
48 /*报告事件*/
49 key_values = button_irqs->number; 50 //printk("====>rising key_values=%d\n",key_values);
51 if(key_values==0) 52 input_report_key(button_dev, KEY_1,0); 53 if(key_values==1) 54 input_report_key(button_dev, KEY_2,0); 55 if(key_values==2) 56 input_report_key(button_dev, KEY_3,0); 57 if(key_values==3) 58 input_report_key(button_dev, KEY_4,0); 59 if(key_values==4) 60 input_report_key(button_dev, KEY_5,0); 61 if(key_values==5) 62 input_report_key(button_dev, KEY_6,0); 63 /*报告结束*/
64 input_sync(button_dev);65} 66
67 else { 68
69 key_values = button_irqs->number; 70 //printk("====>falling key_values=%d\n",key_values);
71 if(key_values==0) 72 input_report_key(button_dev, KEY_1,1); 73 if(key_values==1) 74 input_report_key(button_dev, KEY_2,1); 75 if(key_values==2) 76 input_report_key(button_dev, KEY_3,1); 77 if(key_values==3) 78 input_report_key(button_dev, KEY_4,1); 79 if(key_values==4) 80 input_report_key(button_dev, KEY_5,1); 81 if(key_values==5) 82 input_report_key(button_dev, KEY_6,1); 83input_sync(button_dev); 84
85 }
- Linux 输入设备驱动上报按键值方法
- Linux的input输入子系统:设备驱动之按键驱动
- 输入设备驱动之按键设备驱动
- 输入设备驱动之按键设备驱动
- Linux混杂设备驱动 - 按键设备驱动
- linux 应用读取input按键驱动上报键值案例
- linux输入子系统--按键驱动
- 输入设备驱动之按键设备驱动_笔记
- Linux输入子系统(4):设备驱动层实例之按键驱动
- Linux输入子系统(4):设备驱动层实例之按键驱动
- 基于linux驱动设备-platform按键驱动
- linux设备驱动(二)---字符设备之按键驱动
- 蜕变成蝶~Linux设备驱动之按键设备驱动
- 蜕变成蝶:Linux设备驱动之按键设备驱动
- linux字符设备驱动(按键)
- Linux字符设备驱动之中断按键
- 【Linux设备驱动】TQ2440按键驱动程序设计
- linux设备驱动-按键中断实验笔记
- Android 知名博客
- Mesh网格篇(一)代码生成圆柱Mesh
- iOS UIApplication功能
- 从零开始学shell(4)--命令行及处理
- org.hibernate.QueryException:Expected positional parameter count: 1
- Linux 输入设备驱动上报按键值方法
- 程序员必备神器
- leetcode345
- IT女性的职业困惑 (1)
- java中Array/List/Map/Object与Json互相转换详解
- Http通信模仿迅雷多线程下载
- time类中的运算符重载
- HDU - 4002 Find the maximum (Java大数打表)
- 关于JSONArray:JSONArray jsonArray=JSONArray.fromObject(list)不执行!