免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2213 | 回复: 3
打印 上一主题 下一主题

input子系统驱动--求高手指点啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-29 14:52 |只看该作者 |倒序浏览
5可用积分
本帖最后由 沙海草 于 2014-03-29 14:53 编辑

我是这样写的可不知道咋样做测试程序啊。这样写还需要改哪些?谢谢啊!
#include <linux/fs.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/device.h>
#include <linux/wait.h>
#include <linux/sched.h>
#include <linux/poll.h>
#include <linux/input.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/poll.h>
MODULE_AUTHOR("shahaicao");
MODULE_DESCRIPTION("Mouse device");

static struct input_dev *mouse_dev;
int mouse_event(struct input_dev *dev,unsigned int type,unsigned int code,int value)
{
        printk("working");
        if(type!=EV_KEY)
                return -1;
        switch(code)
                case KEY_L:printk("click the left");
                        break;
                case KEY_R:printk("click the right");
                        break;
                default:printk("do not click");
}
static int __init mouse_init(void)
{

mouse_dev = input_allocate_device();

input_register_device(mouse_dev);
Set_bit(EV_KEY,mouse_dev.evbit);
Set_bit(KEY_L,mouse_dev.evbit);
Set_bit(KE_R,mouse_dev.evbit);
mouse_dev.event=mouse_event;
printk(KERN_INFO "hello come here");
return 0;
}

static void __exit mouse_exit(void)
{

input_unregister_device(mouse_dev);
input_free_device(mouse_dev);
printk(KERN_INFO "see you");
}

module_init(mouse_init);
module_exit(mouse_exit);
MODULE_LICENSE("GPL");

论坛徽章:
0
2 [报告]
发表于 2014-03-29 14:54 |只看该作者
我看了好几天了可还是一点头绪都没有啊,请高手给予指点啊,万分的感谢!

论坛徽章:
0
3 [报告]
发表于 2014-04-01 19:02 |只看该作者
打Debug打Debug打Debug
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP