用shell脚本读取gpio按键的对应的eventx

我们可以从cat /proc/bus/input/devices可以看到所有input设备和eventx对应的关系:

I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="gpio_keys_polled.7"
P: Phys=gpio-keys-polled/input0
S: Sysfs=/devices/soc.0/gpio_keys_polled.7/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=100003
B: KEY=780 0 0 0

I: Bus=0003 Vendor=046d Product=c077 Version=0111
N: Name="Logitech USB Optical Mouse"
P: Phys=usb-ffb40000.usb-1.1/input0
S: Sysfs=/devices/soc.0/ffb40000.usb/usb1/1-1/1-1.1/1-1.1:1.0/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: PROP=0
B: EV=17
B: KEY=ff0000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10

I: Bus=0003 Vendor=413c Product=2107 Version=0111
N: Name="DELL Dell USB Entry Keyboard"
P: Phys=usb-ffb40000.usb-1.3/input0
S: Sysfs=/devices/soc.0/ffb40000.usb/usb1/1-1/1-1.3/1-1.3:1.0/input/input2
U: Uniq=
H: Handlers=sysrq kbd event2
B: PROP=0
B: EV=120013
B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10

 

 

read_eventx.sh脚本:

#/bin/bash

line=$(cat cat /proc/bus/input/devices| grep -n "gpio-keys" | awk -F: '{print $1}')
echo $line
line=$(($line + 3))
echo $line

cat cat /proc/bus/input/devices| sed -n ''$line'p' |awk '{print $3}'

cat cat /proc/bus/input/devices| sed -n "$line"p |awk '{print $3}'

 

很简单,这里需要在sed命令中使用变量中的行号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值