本文共 5866 字,大约阅读时间需要 19 分钟。
/dev/input目录下的事件都是在驱动中调用input_register_device(struct input_dev *dev)产生的。如我的盒子的/dev/input目录的内容如下:
crw-rw---- root input 13, 64 1970-01-01 08:00 event0crw-rw---- root input 13, 65 1970-01-01 08:00 event1crw-rw---- root input 13, 66 1970-01-01 08:00 event2crw-rw---- root input 13, 67 1970-01-01 08:00 event3crw-rw---- root input 13, 68 1970-01-01 08:00 event4crw-rw---- root input 13, 69 1970-01-01 08:00 event5crw-rw---- root input 13, 70 2013-08-30 09:56 event6每个event将上报指定的事件,如G-Sensor、触摸屏、Mouse、按键等。
与event对应的相关设备信息位于/proc/bus/input/devices,例子如下:
root@android:/ # cat /proc/bus/input/devicescat /proc/bus/input/devicesI: Bus=0019 Vendor=0001 Product=0001 Version=0100N: Name="rk29-keypad"P: Phys=gpio-keys/input0S: Sysfs=/devices/platform/rk29-keypad/input/input0U: Uniq=H: Handlers=kbd event0 keychordB: PROP=0B: EV=3B: KEY=8000 100000 0 0 0I: Bus=0019 Vendor=0001 Product=0001 Version=0100N: Name="rkxx-remotectl"P: Phys=gpio-keys/input0S: Sysfs=/devices/platform/rkxx-remotectl/input/input1U: Uniq=H: Handlers=kbd event1 keychordB: PROP=0B: EV=3B: KEY=c 70110 260000 0 0 0 20100 2000000 7800000 4000a800 1e16c0 19 78000000 10006ffcI: Bus=0003 Vendor=0c45 Product=1109 Version=0100N: Name="coocaa Device coocaa Wireless Device"P: Phys=usb-usb20_host-1.3/input2S: Sysfs=/devices/platform/usb20_host/usb2/2-1/2-1.3/2-1.3:1.2/input/input2U: Uniq=H: Handlers=sysrq kbd event2 keychordB: PROP=0B: EV=12001bB: KEY=10000 7 ff800000 7ff febeffdf ffefffff ffffffff fffffffeB: ABS=700 0B: MSC=10B: LED=1fI: Bus=0003 Vendor=0c45 Product=1109 Version=0100N: Name="coocaa Device coocaa Wireless Device"P: Phys=usb-usb20_host-1.3/input3S: Sysfs=/devices/platform/usb20_host/usb2/2-1/2-1.3/2-1.3:1.3/input/input3U: Uniq=H: Handlers=sysrq kbd event3 keychordB: PROP=0B: EV=12001fB: KEY=4837fff 72ff32d bf544446 0 0 1 30f90 8b17c007 ffe77bfa d941dfff febeffdf ffefffff ffffffff fffffffeB: REL=40B: ABS=ffffff01 0B: MSC=10B: LED=1fI: Bus=0003 Vendor=0c45 Product=1109 Version=0100N: Name="coocaa Device coocaa Wireless Device"P: Phys=usb-usb20_host-1.3/input4S: Sysfs=/devices/platform/usb20_host/usb2/2-1/2-1.3/2-1.3:1.4/input/input4U: Uniq=H: Handlers=event4B: PROP=0B: EV=17B: KEY=1f0000 0 0 0 0 0 0 0 0B: REL=103B: MSC=10I: Bus=0003 Vendor=0c45 Product=1109 Version=0100N: Name="coocaa Device coocaa Wireless Device"P: Phys=usb-usb20_host-1.3/input5S: Sysfs=/devices/platform/usb20_host/usb2/2-1/2-1.3/2-1.3:1.5/input/input5U: Uniq=H: Handlers=sysrq kbd event5 keychordB: PROP=0B: EV=12001fB: KEY=4837fff 72ff32d bf544446 0 0 1 30f90 8b17c007 ffff7bfa d941dfff febeffdf ffefffff ffffffff fffffffeB: REL=40B: ABS=1 0B: MSC=10B: LED=1fI: Bus=0003 Vendor=093a Product=2510 Version=0111N: Name="PixArt USB Optical Mouse"P: Phys=usb-usb20_host-1.2.4/input0S: Sysfs=/devices/platform/usb20_host/usb2/2-1/2-1.2/2-1.2.4/2-1.2.4:1.0/input/input7U: Uniq=H: Handlers=event6B: PROP=0B: EV=17B: KEY=70000 0 0 0 0 0 0 0 0B: REL=103B: MSC=10
在上面的H:中可以看到对应的eventxx。
转载地址:http://kedmi.baihongyu.com/