Значения ключа декодирования из / dev / input / eventx в C [закрыты]

Я создал кейлоггер на C, который отображает значения необработанных ключей с устройства ввода. Мне интересно, как я собираюсь расшифровать значения hese в символах ascii? Вот мой код:

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

void INThandler(){
        exit(0);
}

int main()
{
        char devname[] = "/dev/input/event3";
        int device = open(devname, O_RDONLY);
        struct input_event ev;

        signal(SIGINT, INThandler);

        while(1)
        {
                read(device,&ev, sizeof(ev));
                if(ev.type == 1 && ev.value == 1){
                        printf("Key: %i State: %i\n",ev.code,ev.value);
                }
        }
}

Результат:

Key: 32 State: 1
Key: 42 State: 1
Key: 29 State: 1

Я знаю, что эти значения являются порядковыми числами для размещения клавиш на клавиатурном устройстве и не являются ascii-кодами, так есть ли какой-то системный файл, содержащий инструкции для преобразования? Я не хочу делать преобразование вручную, потому что он будет другим для всех клавиатурных устройств.

Спасибо, любая помощь приветствуется

1
задан 19 September 2016 в 03:37

0 ответов

Другие вопросы по тегам:

Похожие вопросы: