🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72839

dev/input/event - odczytanie stringa z emulatora klawiatury

#72839
From: Tinta Tintoski
Date: Tue, 10 Oct 2017 12:19
64 lines
2725 bytes
pomoĹĽe ktoĹ›?

Potrzebuje odczytać stringa z urządzenia emulujacego klawiaturę (rfid reader)

#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <linux/input.h>
#include <string.h>
#include <stdio.h>

static const char *const evval[3] = {
    "RELEASED",
    "PRESSED ",
    "REPEATED"
};

int main(void)
{
    const char *dev = "/dev/input/event3";
    struct input_event ev;
    ssize_t n;
    int fd;

    fd = open(dev, O_RDONLY);
    if (fd == -1) {
        fprintf(stderr, "Cannot open %s: %s.\n", dev, strerror(errno));
        return EXIT_FAILURE;
    }
    
    
       while (1) {
         n = read(fd, &ev, sizeof ev);
         if (n == (ssize_t)-1) {
            if (errno == EINTR)
                continue;
            else
                 break;
         } else
         if (n != sizeof ev) {
             errno = EIO;
             break;
         }
        
        
        if (ev.type == EV_KEY && ev.value >= 0 && ev.value <= 2){
            printf("%s 0x%04x (%d)\n", evval[ev.value], (int)ev.code, (int)ev.code);
        }
            
    }
    
    
    
    
    
    fflush(stdout);
    fprintf(stderr, "%s.\n", strerror(errno));
    return EXIT_FAILURE;
}



jednak podany kod wyświetla mi w pętli dane natomiast ja potrzebuję to w jednej zmiennej. Nie ogarniam c wcale, więc proszę jakąś dobrą duszę o pomoc.
Technical Details
Message-ID: <eb435cf4-ae43-4847-a298-6ae0e29abfe3@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!z50no1873759qtj.0!news-out.google.com!r5ni1121qtc.1!nntp.google.com!k31no905032qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 10.200.18.132 with SMTP id y4mr7609841qti.24.1507637959647;        Tue, 10 Oct 2017 05:19:19 -0700 (PDT)
X-Received: by 10.31.67.11 with SMTP id q11mr142715vka.27.1507637959620; Tue, 10 Oct 2017 05:19:19 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!z50no1873759qtj.0!news-out.google.com!r5ni1121qtc.1!nntp.google.com!k31no905032qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.os.linux.programowanie
Date: Tue, 10 Oct 2017 05:19:19 -0700 (PDT)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=80.94.28.201; posting-account=gQTNAAoAAABOQRHYqn6-uNGSwBUqQbcU
NNTP-Posting-Host: 80.94.28.201
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <eb435cf4-ae43-4847-a298-6ae0e29abfe3@googlegroups.com>
Subject: dev/input/event - odczytanie stringa z emulatora klawiatury
From: Tinta Tintoski <tintoski@gmail.com>
Injection-Date: Tue, 10 Oct 2017 12:19:19 +0000
X-Received-Body-CRC: 601878124
X-Received-Bytes: 2741
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit