在写完输入子系统后要对其进行测试,下面是几个用于测试的方法。声明:本文章是看韦东山老师视频后所写的,同时使用与视频相对应的开发板。
下面对测试方法进行介绍:
1.使用hexdump /dev/event1 ,其中的event1是本机的,这个根据不同的驱动而定,你所写的可能不是1,而是2,3,4等
hexdump的意思是十六进制显示 设备/dev/event1,他就相当于是实现了(open(/dev/event1),read(),write()),先打开/dev/event1设备,然后读按键的值,并将读到的值以十六进制写出来。
我们得到的是
秒 微秒 type code value
0000000 0bb2 0000 0e48 000c 0001 0026 0001 0000 //对于上面四字节的,低字节在前高字节在后
0000010 0bb2 0000 0e54 000c 0000 0000 0000 0000
0000020 0bb2 0000 5815 000e 0001 0026 0000 0000
0000030 0bb2 0000 581f 000e 0000 0000 0000 0000
对应于
/*
* The event structure itself
*/
struct input_event {
struct timeval time;
__u16 type; //表示哪类事件,如同步事件,按键事件,相对位移等
__u16 code; //表示上面事件中的具体类,如按键事件中的“L”被按下
__s32 value; //具体值,如上面的1表按下,0表抬起
};
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
2.在没有启动QT的情况下使用 cat /etc/tty1
使用 exec 0</dev/tty1 命令将标准输入改为tty1.直接使用按键实现ls