Ticket #91: key_event.c

File key_event.c, 943 bytes (added by Alex Foulon, 9 years ago)

A little program to test key pressed and released events

Line 
1#include <stdio.h>
2#include <stdlib.h>
3#include <caca.h>
4
5int main(int argc, char *argv[])
6{
7        caca_canvas_t *cv;
8        caca_display_t *dp;
9        caca_event_t ev;
10
11        int i = 0;
12        int count = 0;
13
14        dp = caca_create_display(NULL);
15        if (!dp)
16        {
17                fprintf(stderr, "Cannot create caca display !\n");
18                return 1;
19        }
20        else
21                cv = caca_get_canvas(dp);
22
23        caca_set_display_title(dp, "Key Events");
24        caca_put_str(cv, 0, 0, "Key Events:");
25        caca_refresh_display(dp);
26        caca_set_display_time(dp, 100000);
27
28        if (argc == 2)
29                count = atoi(argv[1]);
30
31        if (count <= 0)
32                count = 10;
33
34        while (i <= count)
35        {
36                caca_get_event(dp, CACA_EVENT_ANY, &ev, -1);
37                if (caca_get_event_type(&ev) == CACA_EVENT_KEY_PRESS)
38                {
39                        caca_put_str(cv, 0, i + 1, "- KEY PRESSED");
40                        i += 1;
41                }
42
43                if (caca_get_event_type(&ev) == CACA_EVENT_KEY_RELEASE)
44                {
45                        caca_put_str(cv, 0, i + 1, "- KEY RELEASED");
46                        i += 1;
47                }
48
49                caca_refresh_display(dp);
50        }
51
52        caca_free_display(dp);
53        return 0;
54}
55