This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
testmmousetablet.c
67 lines (65 loc) · 2.19 KB
1
2
3
#include <stdio.h>
#include "SDL.h"
4
5
SDL_Surface *screen;
int quit = 0;
6
7
int
8
main(int argc, char *argv[])
9
{
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
SDL_Event event;
int mice;
int i;
printf("Initing...\n");
if (SDL_Init(0) != 0) {
return 1;
}
if (SDL_InitSubSystem(SDL_INIT_VIDEO) != 0) {
return 1;
} else {
screen = SDL_SetVideoMode(640, 480, 32, SDL_DOUBLEBUF);
}
mice = SDL_GetNumMice();
printf("%d pointing devices found\n", mice);
for (i = 0; i < mice; ++i) {
printf("device index: %d name:%s\n", i, SDL_GetMouseName(i));
}
while (quit != 1) {
if (SDL_PollEvent(&event) == 0) {
} else {
switch (event.type) {
case SDL_MOUSEMOTION:
printf
("Device id: %d x: %d y: %d relx: %d rely: %d pressure: %d\n \
pressure_max: %d pressure_min: %d current cursor:%d\n",
event.motion.which, event.motion.x, event.motion.y, event.motion.xrel, event.motion.yrel,
event.motion.pressure, event.motion.pressure_max, event.motion.pressure_min,
event.motion.cursor);
break;
case SDL_PROXIMITYIN:
printf("proximity in id: %d x: %d y: %d\n",
(int) event.proximity.which, event.proximity.x,
event.proximity.y);
break;
case SDL_PROXIMITYOUT:
printf("proximity out id: %d x: %d y: %d\n",
(int) event.proximity.which, event.proximity.x,
event.proximity.y);
break;
case SDL_MOUSEBUTTONDOWN:
printf("mouse button down id: %d button:%d\n",
event.button.which, event.button.button);
break;
case SDL_MOUSEBUTTONUP:
printf("mouse button up id: %d button: %d\n",
event.button.which, event.button.button);
break;
case SDL_QUIT:
printf("Quitting\n");
SDL_QuitSubSystem(SDL_INIT_VIDEO);
SDL_Quit();
quit = 1;
break;
}
}
}
return 0;
67
}