그냥 이해하려고 노력합니다. 키보드에서 키 입력 이벤트를 읽고 작은 이벤트를 트리거하는 작은 프로그램을 작성하고 있습니다 (switch 문 사용). 나는 몇 가지 가정을하고 키보드를 txt 파일처럼 취급하여 읽기를 시도하고있다.C에서 시스템 호출을 사용하여 키보드 이벤트 읽기
저는이 작업을 수행하는 가장 간단한 방법은별로 없습니다.
무엇을하고 싶은가요 (키보드 event4) 파일을 열고 무한 while 루프에서 문자로 문자를 읽으려면 fgets와 같은 것을 사용하고 switch 문을 사용하여 루프를 빠져 나갑니다.
내가 막혀 가고있는 이유는 이것들이 시스템 호출이라는 사실이며, 나는 그것들을 처리하는 방법을 기본적으로 확신 할 수 없다.
아래의 코드는 컴파일되지 않을 것이며, 내가하려는 일에 대한 대략적인 데모로 컴파일됩니다.
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
int main(void)
{
// errors on opening
int fd = open("/dev/input/event4", O_RDONLY);
if(fd < 0)
{
printf("error while opening/n");
return 1;
}
int keystroke = 0;
while (1)
{
keystroke = fgetsc(fd);
switch(keystroke)
{
case '1' :
break;
case '2' :
break;
case '3' :
break;
default:
printf("waiting for 1, 2, 3/n");
}
close(fd);
return 0;
}
'stdin'을 읽기 위해'read (0, ...)'을 쓰지 않는 이유는 무엇입니까? – Ilmirus