input getevent sendevent event设备目录: /proc/bus/input/devices event设备信息: cat /proc/bus/input/devices crw-rw---- root input 13, 64 1970-01-03 16:24 event0 crw-rw---- root input 13, 65 1970-01-03 16:24 event1 crw-rw---- root input 13, 66 1970-01-03 16:24 event2 crw-rw---- root input 13, 67 1970-01-03 16:24 event3 crw-rw---- root input 13, 68 1970-01-03 16:24 event4 crw-rw---- root input 13, 69 2016-12-15 19:27 event5 crw-rw---- root input 13, 70 2016-12-15 19:27 event6 crw-rw---- root input 13, 63 1970-01-03 16:24 mice root@Coolpad5263S:/dev/input # cat /proc/bus/input/devices I: Bus=0018 Vendor=0000 Product=0000 Version=0000 N: Name="msg2xxx" P: Phys=I2C S: Sysfs=/devices/soc.0/78b9000.i2c/i2c-5/5-0026/input/input1 U: Uniq= H: Handlers=kbd kgsl event0 B: PROP=2 B: EV=b B: KEY=400 0 0 0 0 1000 40000800 0 0 0 0 B: ABS=650000 0 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="proximity" P: Phys= S: Sysfs=/devices/virtual/input/input2 U: Uniq= H: Handlers=event1 B: PROP=0 B: EV=9 B: ABS=2000000 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="mxc622x" P: Phys= S: Sysfs=/devices/virtual/input/input3 U: Uniq= H: Handlers=event2 B: PROP=0 B: EV=9 B: ABS=7 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="qpnp_pon" P: Phys=qpnp_pon/input0 S: Sysfs=/devices/virtual/input/input4 U: Uniq= H: Handlers=kbd event3 B: PROP=10 B: EV=3 B: KEY=140000 0 0 0 I: Bus=0019 Vendor=0001 Product=0001 Version=0100 N: Name="gpio-keys" P: Phys=gpio-keys/input0 S: Sysfs=/devices/soc.0/gpio_keys.64/input/input5 U: Uniq= H: Handlers=kbd event4 B: PROP=0 B: EV=3 B: KEY=80000 0 0 0 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="msm8909-skuc-snd-card Button Jack" P: Phys=ALSA S: Sysfs=/devices/soc.0/sound.68/sound/card0/input6 U: Uniq= H: Handlers=kbd event5 B: PROP=0 B: EV=3 B: KEY=1e 4 0 0 0 0 0 0 0 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="msm8909-skuc-snd-card Headset Jack" P: Phys=ALSA S: Sysfs=/devices/soc.0/sound.68/sound/card0/input7 U: Uniq= H: Handlers=event6 B: PROP=0 B: EV=21 B: SW=1c054 root@Coolpad5263S:/dev/input # I line:这行包含身份信息,显示了 bus type是 3 (usb), vendor, product, version等信息。 N line:这行包含了名字信息。 P line:这行包含了物理设备信息。 H line: 这行包含了与设备关联的 handler drivers。 B line: 这些行包含了显示设备能力的一些位域 (bitfield)。 root@Coolpad5263S:/dev/input # getevent add device 1: /dev/input/event6 name: "msm8909-skuc-snd-card Headset Jack"//耳机插拔事件 add device 2: /dev/input/event5 name: "msm8909-skuc-snd-card Button Jack"//耳机按键事件 add device 3: /dev/input/event3 name: "qpnp_pon" //PMIC按键事件 add device 4: /dev/input/event2 name: "mxc622x" //陀螺仪 add device 5: /dev/input/event1 name: "proximity" //距离传感器 could not get driver version for /dev/input/mice, Not a typewriter add device 6: /dev/input/event0 name: "msg2xxx" //触摸屏 add device 7: /dev/input/event4 name: "gpio-keys" //通用输入输出 name: "msm8x16-snd-card-mtp Headset Jack" //耳机插拔事件 name: "msm8x16-snd-card-mtp Button Jack" //耳机按键事件 name: "qpnp_pon" //PMIC按键事件 name: "compass" //指南针 name: "FT5x36" //触摸屏 name: "light" //光感 name: "gpio-keys" //gpio按键事件 shell@android:/proc/bus/input # getevent name: "pmic8xxx_pwrkey" //电源按键 name: "mione-keypad" //按键 name: "8660_handset" name: "accelerometer" //重力传感器 name: "proximity" //距离传感器 name: "lightsensor" //光敏 name: "compass" //罗盘 name: "mXT-touch" //触摸屏幕 key=$(ls /sys/devices/platform/gpio-keys.0/input) sleep 1 key_value=${key:5} echo $key_value command="event$key_value" #Send events to get power Hold menu sendevent /dev/input/$command 1 116 1 && echo PASSED | grep PASSED || exit_fun sendevent /dev/input/$command 0 0 0 && echo PASSED | grep PASSED || exit_fun sendevent /dev/input/$command 1 116 0 && echo PASSED | grep PASSED || exit_fun 大概这样子,截取之前写的一个部分 EventHub.cpp event 几的问题。 http://stackoverflow.com/questions/20005358/what-is-android-dev-input-eventx-file-used-for sendevent /dev/input/event0 1 116 1(0074转化为十进制后为116) sendevent /dev/input/event0 0 0 0 sleep 3 sendevent /dev/input/event0 1 116 0 sendevent /dev/input/event0 0 0 0 sendevent /dev/input/event0 1 116 1 && sendevent /dev/input/event0 0 0 0 && sleep 3 && sendevent /dev/input/event0 1 116 0 && sendevent /dev/input/event0 0 0 0