|
/***************************************************************/
// 编制:lqm
// 日期:2012-9-22
// 平台:x210/x210ii/i210开发板
// 测试方法:执行如下指令编译源码:
// arm-none-linux-gnueabi-gcc -o button button.c
// 将生成的button可执行文件拷贝到开发板并运行:
// ./button
// 按开发板上的六个按键,会有不同的键值消息打印出来.
/***************************************************************/
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/input.h>
int main()
{
int keys_fd; //按键句柄
char ret[2]; s
struct input_event t;
keys_fd = open("/dev/event0", O_RDONLY);
if(keys_fd<=0)
{
printf("open /dev/event0 device error!\n");
return 0;
}
while(1)
{
if(read(keys_fd,&t,sizeof(t))==sizeof(t))
{
if(t.type==EV_KEY) //获取的是按键消息
if(t.value==0 || t.value==1) //返回值是1或者0
printf("key %d %s\n",t.code,(t.value)?"Pressed":"Released"); //1表按下,0表弹起
}
}
close(keys_fd);
return 0;
}
|
|