1

有什么方法可以从 Wacom 平板电脑读取数据而不在 Linux 上引发鼠标事件?

我现在使用的是 Ubuntu 12.04 LTS 和 Wacom Intuos 5。在 Ubuntu 上使用平板电脑没问题,我通过 Ggtkmm3.0 使用平板电脑。但我想只获取平板电脑的轴数据而不绑定到窗口。Gtkmm 的窗口可以获取 tablet-event 但我认为它不是周期性的,因为它是事件驱动的。

4

1 回答 1

2

使用 Linux 输入子系统将可以完成您的任务。

代码在这里,这是打印出坐标(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 权限。

于 2014-09-02T14:51:00.320 回答