沙海草 发表于 2014-03-29 14:52

input子系统驱动--求高手指点啊

本帖最后由 沙海草 于 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");

沙海草 发表于 2014-03-29 14:54

我看了好几天了可还是一点头绪都没有啊,请高手给予指点啊,万分的感谢!

baron_zz 发表于 2014-04-01 19:02

打Debug打Debug打Debug
页: [1]
查看完整版本: input子系统驱动--求高手指点啊