有什么方法可以从 Wacom 平板电脑读取数据而不在 Linux 上引发鼠标事件?
我现在使用的是 Ubuntu 12.04 LTS 和 Wacom Intuos 5。在 Ubuntu 上使用平板电脑没问题,我通过 Ggtkmm3.0 使用平板电脑。但我想只获取平板电脑的轴数据而不绑定到窗口。Gtkmm 的窗口可以获取 tablet-event 但我认为它不是周期性的,因为它是事件驱动的。
使用 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 权限。