当前位置: 首页 > news >正文

手机端 网站 模板关于网站设计的新闻

手机端 网站 模板,关于网站设计的新闻,磁力猫引擎入口,不用下载的游戏直接玩文章目录 一、输入子系统#xff08;一#xff09;输入子系统框架结构#xff08;二#xff09;输入子系统的API 二、实现两个按键的驱动#xff08;一#xff09;实现思路#xff08;二#xff09;代码实现 一、输入子系统 在linux系统中使用输入子系统驱动上报鼠标一输入子系统框架结构二输入子系统的API 二、实现两个按键的驱动一实现思路二代码实现 一、输入子系统 在linux系统中使用输入子系统驱动上报鼠标键盘触摸屏游戏摇杆等输入类设备上报的事件。当输入子系统驱动被安装到linux内核之后就会在/dev/input/eventX节点如果想要获取上报的输入事件的值直接从这个文件中读取input_event结构类型的数据即可。 一输入子系统框架结构 二输入子系统的API 1.分配对象 struct input_dev *key_dev; struct input_dev *input_allocate_device(void); //void input_free_device(struct input_dev *dev); 功能申请input_dev结构体内存 参数无 返回值成功返回首地址失败返回NULL2.对象初始化set_bit(EV_KEY, key_dev—evbit); //设置事件类型set_bit(KEY_L, key_dev—keybit); //可以上报l键set_bit(KEY_S, key_dev—keybit); //可以上报s键set_bit(KEY_ENTER, key_dev—keybit); //可以上报enter键3.注册int input_register_device(struct input_dev *dev)4.注销void input_unregister_device(struct input_dev *dev)5.上报数据 void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) //上报数据 参数1inpu_dev结构体指针参数2类型参数3那个键参数4值 以下的函数都是在input_event函数基础上做的封装input_report_key(struct input_dev *dev, unsigned int code, int value)void input_report_rel(struct input_dev *dev, unsigned int code, int value)void input_report_abs(struct input_dev *dev, unsigned int code, int value)void input_sync(struct input_dev *dev)二、实现两个按键的驱动 一实现思路 分配对象初始化对象注册对象注销上报数据 二代码实现 #include linux/init.h #include linux/input.h #include linux/interrupt.h #include linux/module.h #include linux/of.h #include linux/of_gpio.h #include linux/of_irq.h // mykeys{ // interrupt-parent gpiof; // interrupts 9 0,7 0,8 0; // keys_no gpiof 9 0,gpiof 7 0,gpiof 8 0; // }; enum {KEYL,KEYS,KEYEN, }; struct device_node* node; unsigned int irqno[3]; int gpiono[3]; struct timer_list mytimer; struct input_dev* key_dev;void key_irq_timer_func(struct timer_list* timer) {int i;for (i 0; i ARRAY_SIZE(gpiono); i) {if (!gpio_get_value(gpiono[i])) {switch (i) {case KEYL:input_report_key(key_dev,KEY_L,1);input_report_key(key_dev,KEY_L,0);input_sync(key_dev);break;case KEYS:input_report_key(key_dev,KEY_S,1);input_report_key(key_dev,KEY_S,0);input_sync(key_dev);break;case KEYEN:input_report_key(key_dev,KEY_ENTER,1);input_report_key(key_dev,KEY_ENTER,0);input_sync(key_dev);break;}}} } // 中断处理函数 irqreturn_t keys_irq_handle(int irq, void* dev) {mod_timer(mytimer, jiffies 1); // 再次启动定时器return IRQ_HANDLED; } static int __init mykeys_init(void) {int ret, i;// 1.获取节点node of_find_node_by_name(NULL, mykeys);if (node NULL) {pr_err(of_find_node_by_name error\n);ret -ENODATA;goto err1;}for (i 0; i 3; i) {// 2.获取gpio号gpiono[i] of_get_named_gpio(node, keys_no, i);if (gpiono[i] 0) {pr_err(of_get_named_gpio error\n);ret gpiono[i];goto err1;}// 3.解析得到软中断号irqno[i] irq_of_parse_and_map(node, i);if (irqno[i] 0) {pr_err(irq_of_parse_and_map error\n);ret -EAGAIN;goto err1;}}// 4.初始化并注册输入子系统key_dev input_allocate_device();if (!key_dev) {pr_err(input_allocate_device error\n);ret -ENOMEM;goto err1;}set_bit(EV_KEY, key_dev-evbit); // 设置键盘类事件set_bit(KEY_L, key_dev-keybit); // 可以上报键盘中的L键set_bit(KEY_S, key_dev-keybit); // 可以上报键盘中的S键set_bit(KEY_ENTER, key_dev-keybit); // 可以上报键盘中的ENTER键ret input_register_device(key_dev);if (ret) {pr_err(input_register_device error\n);goto err2;}// 5.初始化并定时器mytimer.expires jiffies 1; // 10mstimer_setup(mytimer, key_irq_timer_func, 0);add_timer(mytimer);for (i 0; i 3; i) {// 6.注册中断ret request_irq(irqno[i], keys_irq_handle,IRQF_TRIGGER_FALLING, key, NULL);if (ret) {pr_err(request_irq error\n);goto err3;}}return 0; err3:for (--i; i 0; i--) {free_irq(irqno[i], NULL);}del_timer(mytimer);input_unregister_device(key_dev);key_dev NULL; err2:input_free_device(key_dev); err1:return ret; } static void __exit mykeys_exit(void) {int i;for (i 0; i 3; i) {free_irq(irqno[i], NULL);}del_timer(mytimer);input_unregister_device(key_dev); } module_init(mykeys_init); module_exit(mykeys_exit); MODULE_LICENSE(GPL);
http://www.hkea.cn/news/14360855/

相关文章:

  • app与手机网站的区别微信公众号开发需要多少钱
  • 网站该如何做马鞍山网站建设推广
  • 网站建设方案书阿里云免费的h5制作网站模板
  • 建设集团招工信息网站互联网平台有哪些
  • 抄袭网站案例石灰土做击实检测网站怎么填
  • 行业网站排行榜网站做国际化
  • 哈尔滨网站制作维护上海建设部门网站
  • 外贸设计网站建设网站被做跳转怎么办
  • 济宁网站建设 果壳科技自然志wordpress下载
  • 网站开发验收资料微网站建设正规公司
  • 做企业免费网站查看网站是否备案
  • 新桥做网站合肥优化推广公司
  • 石油网站编辑怎么做江门关键词优化公司
  • 网站没快照个人网站备注模板
  • 怎样查网站备案营销网站建设方案
  • 西部数码网站建设教程整人图片制作器
  • h5创建网站各大网站投稿邮箱
  • 福建省网站备案wordpress4.6字体
  • 百度推广登录平台怎么收费东莞网站seo公司
  • 怎么做视频网站赚钱吗爱廷玖达泊西汀
  • 国外网站建设接单坡头手机网站建设
  • 网站建设 开发中国建设工程造价管理网站
  • 台州电子商务网站建设网页版微信登录入口官网
  • 小说网站建设方案书ppt模板wordpress 卡慢
  • 便宜的做网站公司福田欧曼前四后八新车报价
  • 长沙竞价网站建设价格wordpress娱乐网主题
  • 精品课程网站开发平台江苏省建设集团是国企吗
  • 2013影响网站百度搜索排名关键因素统计博客系统wordpress
  • 孝感做招聘信息的网站网站建设中的功能
  • jsp网站开发教学视频凤岗网站建设