-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmouseeventblocking.c
70 lines (70 loc) · 1.7 KB
/
mouseeventblocking.c
1
2
3
4
5
6
7
8
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
67
68
69
70
//#include <stdio.h>
//#include <stdlib.h>
//#include <fcntl.h>
//#include <linux/input.h>
//
//#define MOUSEFILE "/dev/input/mice"
////
//int main() {
// int fd;
// struct input_event ie;
// //
// unsigned char button, bLeft, bMiddle, bRight;
// char x, y;
// int absolute_x, absolute_y;
//
// if ((fd = open(MOUSEFILE, O_RDONLY)) == -1) {
// printf("Device open ERROR\n");
// exit(EXIT_FAILURE);
// } else {
// printf("Device open OK\n");
// }
// //
// printf("right-click to set absolute x,y coordinates origin (0,0)\n");
// while (read(fd, &ie, sizeof(struct input_event))) {
//
//
// printf("type: %u\tcode: %u\tvalue: %d \n", ie.type, ie.code, ie.value);
//
// printf("EV_KEY = %u\nBTN_LEFT = %u \n", EV_KEY, BTN_LEFT);
//
// if (ie.type == EV_KEY) {
// printf("KEY\n");
// }
//
// if (ie.code == BTN_LEFT) {
// printf("BTN_LEFT\n");
// }
//
// unsigned char *ptr = (unsigned char *)&ie;
// int i;
// //
// button = ptr[0];
// bLeft = button & 0x1;
// bMiddle = (button & 0x4) > 0;
// bRight = (button & 0x2) > 0;
// x = (char)ptr[1];
// y = (char)ptr[2];
// printf("bLEFT:%d, bMIDDLE: %d, bRIGHT: %d, rx: %d ry=%d\n", bLeft, bMiddle,
// bRight, x, y);
// //
// absolute_x += x;
// absolute_y -= y;
// if (bRight == 1) {
// absolute_x = 0;
// absolute_y = 0;
// printf("Absolute x,y coords origin recorded\n");
// }
// //
// printf("Absolute coords from TOP_LEFT= %i %i\n", absolute_x, absolute_y);
// //
// // comment to disable the display of raw event structure datas
// //
// for (i = 0; i < sizeof(ie); i++) {
// printf("%02X ", *ptr++);
// }
// printf("\n");
// }
//
// return 0;
//}