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");
我看了好几天了可还是一点头绪都没有啊,请高手给予指点啊,万分的感谢! 打Debug打Debug打Debug
页:
[1]