Bash:如何检测shell脚本中的多媒体按键?

时间:2015-03-25 19:36:26

标签: linux bash shell

所以我一直在研究一个旧的kobo电子阅读器(没有触摸屏),我一直在试图弄清楚如何检测按钮上的按钮。

到目前为止,我已经使用了hexdump来计算密钥代码,但它们不像常规键盘一样工作,因为showkey对它们不起作用。这是我为按钮获得的hexdump输出:

hexdump  /dev/input/event0
upPress 0000000 fc92 5512 92dd 0003 0001 0067 0001 0000
upRelease 0000010 fc92 5512 7905 0006 0001 0067 0000 0000
rightPress 0000020 fcab 5512 0cec 000b 0001 006a 0001 0000
rightRelease 0000030 fcab 5512 7de5 000d 0001 006a 0000 0000
downPress 0000040 fcb6 5512 48eb 0001 0001 006c 0001 0000
downRelease 0000050 fcb6 5512 b9e4 0003 0001 006c 0000 0000
leftPress 0000060 fcc0 5512 2b98 000f 0001 0069 0001 0000
leftRelease 0000070 fcc1 5512 3342 0002 0001 0069 0000 0000
middlePress 0000080 fccd 5512 acaa 0000 0001 001c 0001 0000
middleRelease 0000090 fccd 5512 1da4 0003 0001 001c 0000 0000

我已经确定密钥代码是第7个数字,例如0x67。我现在唯一的问题是我无法弄清楚如何在shell脚本中检测它们。

这让我很难过,现在该设备有Linux 2.6.28,Busybox v1.17.1和其他一些程序。虽然它连接到互联网,所以我可以安装一些东西,但是没有包管理器,所以我不愿意。

编辑:我试过的东西 - 阅读不起作用,至少我正在使用它的方式。

#!/bin/bash
read -n 1 -s key
echo "key pressed:" $key

很多谷歌搜索 - 大多数需要X,我没有。 bind命令可能有效,但我在系统上没有它。

编辑2:更多事情 -

更多的研究指向了cat命令,它以奇怪的代码显示了键的输出,如下所示:

cat /dev/input/event0
T)U┐Ä☺g☺T)Utè☺gW)U╗☺l☺W)Uúp
☺lY)U3⌐
       ☺l☺Y)U"☺lZ)Uë"
☺l☺Z)Uæ║
        ☺l\)U║╙☺i☺\)U▓D♥☺i

不幸的是,每次看起来都不一样,所以我不知道如何理解它。

0 个答案:

没有答案