1 KERN_DIR = /work/system/linux-2.6.22.6
2
3 all:
4 make -C $(KERN_DIR) M=`pwd` modules
5
6 clean:
7 make -C $(KERN_DIR) M=`pwd` modules clean
8 rm -rf modules.order
9
10 obj-m += input_subsys_drv.o
1 # insmod input_subsys_drv.ko
2 input: input_subsys_dev as /class/input/input1
3 input subsys open!
4 input subsys init!
1 # ./input_subsys_test
2 type: 0x1 code: 0x26 value: 0x1
3 type: 0x1 code: 0x26 value: 0x0
4 led event!
5 value: 0xaa
6 led write!
7 type: 0x11 code: 0x7 value: 0xaa
8 type: 0x1 code: 0x1f value: 0x1
9 type: 0x1 code: 0x1f value: 0x0
10 led event!
11 value: 0xee
12 led write!
13 type: 0x11 code: 0x7 value: 0xee
type: 0x1 code: 0x26 value: 0x1 //按键按下
type: 0x1 code: 0x26 value: 0x0 //按键弹起
led event! //应用程序操作write, 发送LED控制事件,调用led_event()
value: 0xaa //读到的LED亮的命令
led write! //返回应用程序继执行
type: 0x11 code: 0x7 value: 0xaa //因为应用程序发送了事件给驱动程序,驱动把这个事件作为一个输入事件(相当于按键输入事件),同样通过异步通知反馈到应用程序