How to capture those events in a shell script?
Run a shell script on input device event
opkg update
opkg install evtest
example:
capture events from USB keyboard
evtest /dev/input/event0
Press the keys you want to capture
example results:
Testing ... (interrupt to exit)
key_play pressed:
Event: time 1579623858.490900, type 4 (EV_MSC), code 4 (MSC_SCAN), value 4b0
Event: time 1579623858.490900, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time 1579623858.490900, -------------- SYN_REPORT ------------
key_pause pressed:
Event: time 1579623859.906866, type 4 (EV_MSC), code 4 (MSC_SCAN), value 4ba
Event: time 1579623859.906866, type 1 (EV_KEY), code 32 (KEY_D), value 1
Event: time 1579623859.906866, -------------- SYN_REPORT ------------
key_stop pressed:
Event: time 1579623860.018862, type 4 (EV_MSC), code 4 (MSC_SCAN), value 4b1
Event: time 1579623860.018862, type 1 (EV_KEY), code 32 (KEY_D), value 0
Event: time 1579623860.018862, -------------- SYN_REPORT ------------
key_next pressed:
Event: time 1579623860.586844, type 4 (EV_MSC), code 4 (MSC_SCAN), value 48e
Event: time 1579623860.586844, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1579623860.586844, -------------- SYN_REPORT ------------
key_previous pressed:
Event: time 1579623860.834841, type 4 (EV_MSC), code 4 (MSC_SCAN), value 48f
Event: time 1579623860.834841, type 1 (EV_KEY), code 46 (KEY_C), value 1
Event: time 1579623860.834841, -------------- SYN_REPORT ------------
Bash script:
## to check events "type,code,value":
#evtest /dev/input/event0-1-2-3-4, etc
#
device='/dev/input/event0'
key_play='*type 4 (EV_MSC), code 4 (MSC_SCAN), value 4b0*'
key_pause='*type 4 (EV_MSC), code 4 (MSC_SCAN), value 4ba*'
key_stop='*type 4 (EV_MSC), code 4 (MSC_SCAN), value 4b1*'
key_next='*type 4 (EV_MSC), code 4 (MSC_SCAN), value 48e*'
key_previous='*type 4 (EV_MSC), code 4 (MSC_SCAN), value 48f*'
evtest "$device" | while read line; do
case $line in
($key_play) echo "key Play";;
($key_pause) echo "key Pause";;
($key_stop) echo "key STOP";;
($key_next) echo "key Next";;
($key_previous) echo "Key Previous";;
esac
done