Linux - 如何为X Windows以外的触摸屏编程

时间:2013-06-12 21:18:17

标签: linux raspberry-pi framebuffer touchscreen

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

您似乎只是看到了常规的事件设备。到目前为止你做了什么?您可以尝试Linux Journal上的Using the Input Subsystem文章。

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

/* 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);
}

然后你应该注意,发出什么事件类型,然后进一步使用它们。