Ansteuerung der Hardware/Beispiele > Taster abfragen > Beispiel in C

Navigation:

 

Ansteuerung der Hardware/Beispiele > Taster abfragen >



Beispiel in C

Previous pageReturn to chapter overviewNext page

#include <stdio.h>

#include <unistd.h>

#include <stdlib.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

#include <string.h>

 

#include <sys/select.h>

#include <sys/time.h>

#include <errno.h>

 

#include <linux/input.h>

 

#define BUTTON_FILE_PATH "/dev/input/event0"

 

 

int main(void)

{

 int        file;

 /* how many bytes were read */

 size_t        rb;

 

 // one event

 struct input_event event;

 char        *str = BUTTON_FILE_PATH;

 

 printf("Starting\n");

 

 printf("Button Path: %s\n", str);

 

 if((file = open(str, O_RDONLY)) < 0) {

         perror("button: File can not open");

         exit(1);

 }

 

 do

 {

         rb= read(file, &event, sizeof(event));        // Read one event

 

         if (rb < (int) sizeof(struct input_event)) {

                 perror("button-test: read");

                 exit(1);

         }

 

         if (event.type == EV_KEY)

         {

                 printf("%ld.%06ld ", event.time.tv_sec,                event.time.tv_usec);

                 printf("type %d code %d value %d\n", event.type, event.code, event.value);

         }

 } while(1==1);

 

 close(file);

 exit(0);

}