Чтение только данных с планшета Wacom

Есть ли способ прочитать данные с планшета Wacom, не вызывая событий мыши в Linux?

Сейчас я использую Ubuntu 12.04 LTS и Wacom Intuos 5. Можно использовать планшет в Ubuntu, и я использую планшет через Ggtkmm3.0. Но хотелось бы получить ТОЛЬКО данные оси планшета без привязки к окну. Окно Gtkmm может получить событие планшета, но я думаю, что оно не является периодическим, потому что оно управляется событиями.

1 ответ

Использование Linux Input Subsystem будет доступно для выполнения вашей задачи.

Код здесь, это распечатка кордината (X, Y) и давления. (например, имя файла lis_read.c)

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

int main (int argc, char *argv[]) {
    struct input_event event;

    for (;;) {
        if (read(0, &event, sizeof(event)) != sizeof(event)) {
            exit(EXIT_FAILURE);
        }

        switch(event.type) {
        case EV_ABS:
            switch (event.code) {
            case ABS_X:
                printf("ABS_X: %d\n", event.value);
                break;
            case ABS_Y:
                printf("ABS_Y: %d\n", event.value);
                break;
            case ABS_PRESSURE:
                printf("ABS_PRESSURE: %d\n", event.value);
                break;
            default:
                break;
            }
            break;
        }
    }

    return EXIT_SUCCESS;
}

Вы можете построить это:

% gcc -o lis_read lis_read.c

Если ваш путь к устройству pentablet - /dev/input/event7, то использование этой программы:

% ./lis_read < /dev/input/event7

Root-разрешение понадобится этой программе.

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