#include #include#include#include#include
voidkeyboard_test()
{int count_sw1 = 0;int count_sw2 = 0;int count_sw3 = 0;int count_sw4 = 0;int fd=open("/dev/input/event0",O_RDWR);if( fd <= 0)
{
printf("Can not open keyboard input file");
}struct input_event *event;char buf[128] = {0};
fd_set rfds;
FD_ZERO(&rfds);
FD_SET(fd,&rfds);while(1)
{int ret = select(fd + 1,&rfds, NULL,NULL,NULL);if(ret < 0)continue;if( FD_ISSET(fd, &rfds) )
{int readn = read(fd, buf, sizeof(structinput_event));if (readn <= 0)
{
printf("uart read error %d", readn);continue;
}struct input_event *my_event=(struct input_event*)buf;if(my_event->type ==EV_KEY)
{switch( my_event->code )
{case 256:
printf("This is a button:%d %d", my_event->code,my_event->value);
count_sw1++;if(count_sw1==1)
{
system("echo 1 > /sys/class/leds/zyrD1:green:usr0/brightness");
}else if(count_sw1==4)
{
system("echo 0 > /sys/class/leds/zyrD1:green:usr0/brightness");
count_sw1=0;
}break;case 257:
printf("This is a button:%d %d", my_event->code,my_event->value);
count_sw2++;if(count_sw2==1)
{
system("echo 1 > /sys/class/leds/zyrD2:green:usr1/brightness");
}else if(count_sw2==4)
{
system("echo 0 > /sys/class/leds/zyrD2:green:usr1/brightness");
count_sw2=0;
}break;case 258:
printf("This is a button:%d %d", my_event->code,my_event->value);
count_sw3++;if(count_sw3==1)
{
system("echo 1 > /sys/class/leds/zyrD3:green:heartbeat/brightness");
}else if(count_sw3==4)
{
system("echo 0 > /sys/class/leds/zyrD3:green:heartbeat/brightness");
count_sw3=0;
}break;case 259:
printf("This is a button:%d %d", my_event->code,my_event->value);
count_sw4++;if(count_sw4==1)
{
system("echo 1 > /sys/class/leds/zyrD4:green:mmc0/brightness");
}else if(count_sw4==4)
{
system("echo 0 > /sys/class/leds/zyrD4:green:mmc0/brightness");
count_sw4=0;
}break;default:break;
}
}
}
}
}intmain()
{
keyboard_test();return 0;
}