2

我有一个带触摸控制的小型 TFT,连接到 Raspberry Pi。触摸屏在 X 窗口中运行良好。

我希望能够在 X windows 之外使用触摸屏。一些简单的东西,比如屏幕上的两个按钮。

我有 C 和使用 SDL 写入帧缓冲区的经验。或者直接记忆。

我不知道如何检测触摸屏的输入,我希望有人能指出我正确的方向。

我将触摸屏视为 /dev/input/event0

4

1 回答 1

3

您似乎只是看到了一个常规事件设备。到目前为止你做了什么?例如,您可以尝试使用 Linux Journal 上的输入子系统文章。

你首先应该尝试的应该是:

/* how many bytes were read */
size_t rb;
/* the events (up to 64 at once) */
struct input_event ev[64];

rb=read(fd,ev,sizeof(struct input_event)*64);

if (rb < (int) sizeof(struct input_event)) {
    perror("evtest: short read");
    exit (1);
}

for (yalv = 0;
     yalv < (int) (rb / sizeof(struct input_event));
     yalv++)
{
    //if (EV_KEY == ev[yalv].type)
        printf("%ld.%06ld ",
               ev[yalv].time.tv_sec,
               ev[yalv].time.tv_usec,
        printf("type %d code %d value %d\n",
               ev[yalv].type,
               ev[yalv].code, ev[yalv].value);
}

然后您应该注意正在发出的事件类型,然后进一步使用它们。

于 2013-06-12T22:29:43.577 回答