Key.c application кодыг дараах байдлаар өөрчилсөн.
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/input.h>
#define NOKEY 0
int main()
{
int keys_fd;
int led_fd;
int tolow;
int led_no;
char ret[2];
struct input_event t;
keys_fd = open("/dev/input/event0", O_RDONLY);
if(keys_fd<=0)
{
printf("open /dev/event0 device error!\n");
return 0;
}
while(1)
{
led_fd=open("/dev/led",O_RDWR);
if(led_fd<=0)
{
printf("open /dev/event0 device error!\n");
return 0;
}
if(read(keys_fd,&t,sizeof(t))==sizeof(t)) {
if(t.type==EV_KEY)
if(t.value==0 || t.value==1)
{
switch(t.code)
{
case 102:
printf("key_4 %s\n",(t.value)?"Pressed":"Released");
for (led_no==0; led_no<4; led_no++){
if(led_no==2){
tolow==0;}else{tolow=1;}
ioctl(led_fd,led_no, tolow);
}
break;
case 139:
printf("key_1 %s\n",(t.value)?"Pressed":"Released");
for (led_no==0; led_no<4; led_no++){
if(led_no==1){
tolow==0;}else{tolow=1;}
ioctl(led_fd,led_no, tolow);
}
break;
case 158:
printf("key_2 %s\n",(t.value)?"Pressed":"Released");
for (led_no==0; led_no<4; led_no++){
if(led_no==0){
tolow==0;}else{tolow=1;}
ioctl(led_fd,led_no, tolow);
}
break;
case 231:
printf("key_0 %s\n",(t.value)?"Pressed":"Released");
for (led_no==0; led_no<4; led_no++){
tolow==1;
ioctl(led_fd,led_no, tolow);
}
break;
case 107:
printf("key_3 %s\n",(t.value)?"Pressed":"Released");
for (led_no==0; led_no<4; led_no++){
if(led_no==0||led_no==1){
tolow==0;}else{tolow=1;}
ioctl(led_fd,led_no, tolow);
}
break;
case 30:
printf("key_5 %s\n",(t.value)?"Pressed":"Released");
for (led_no==0; led_no<4; led_no++){
if(led_no==0||led_no==2){
tolow==0;}else{tolow=1;}
ioctl(led_fd,led_no, tolow);
}
break;
case 48:
printf("key_6 %s\n",(t.value)?"Pressed":"Released");
for (led_no==0; led_no<4; led_no++){
if(led_no==1||led_no==2){
tolow==0;}else{tolow=1;}
ioctl(led_fd,led_no, tolow);
}
break;
case 46:
printf("key_7 %s\n",(t.value)?"Pressed":"Released");
for (led_no==0; led_no<4; led_no++){
if(led_no==0||led_no==1||led_no==2){
tolow==0;}else{tolow=1;}
ioctl(led_fd,led_no, tolow);
}
break;
default:
break;
}
}
}
}
close(keys_fd);
return 0;
}
Гаралтын үр дүн:
Зураг1. Key_1 дарагсан үед
Зураг2. Key_3 дарагсан үед
Зураг3. Key_7 дарагсан үед
Гэх мэтчлэн харгалзах комбинацаар асаасан.




No comments:
Post a Comment