1/ Plik /proc/bus/input/devices zawiera opis wszystkich urządzeń wejściowych.
2/ Katalog /dev/input/by-id zawiera linki do urządzeń o nazwie zbudowanej na podstawie ID urządzenia. Jeżeli klawiatury będą różnych producentów albo różne modele, to będziesz miał osobne wpisy.
3/ Obsługa eventów z własnego programu jest banalna:
#include
#include
// ........
static const char * EVDEV = "/dev/input/event1"; // Właściwe urządzenie znajdź wg 1/ albo 2/
// ........
ssize_t r;
struct input_event event;
int evfile;
// ........
evfile = open( EVDEV, O_RDONLY );
// ........
while( 1 ) {
r = read( evfile, &event, sizeof(struct input_event) );
if( r == -1 ) break;
if( r != sizeof(struct input_event) ) continue;
// ........
// Wyświetlenie danych z event
printf("type=%d, value=%d,code=%d\\n",event.type,event.value,event.code);
}
close(evfile);