|
7 | 7 |
|
8 | 8 | int main(void) |
9 | 9 | { |
10 | | - int i; |
11 | | - int uinput_fd; |
12 | | - int keys[] = {KEY_E, KEY_H, KEY_L, KEY_O}; |
13 | | - struct uinput_user_dev user_dev; |
| 10 | + int i; |
| 11 | + int uinput_fd; |
| 12 | + int keys[] = {KEY_E, KEY_H, KEY_L, KEY_O}; |
| 13 | + struct uinput_user_dev user_dev; |
14 | 14 |
|
15 | | - memset(&user_dev, 0, sizeof(struct uinput_user_dev)); |
16 | | - strcpy(user_dev.name, "libsuinput-example-keyboard"); |
| 15 | + memset(&user_dev, 0, sizeof(struct uinput_user_dev)); |
| 16 | + strcpy(user_dev.name, "libsuinput-example-keyboard"); |
17 | 17 |
|
18 | | - uinput_fd = suinput_open(); |
| 18 | + uinput_fd = suinput_open(); |
19 | 19 |
|
20 | | - if (uinput_fd == -1) |
21 | | - err(1, "suinput_open"); |
| 20 | + if (uinput_fd == -1) |
| 21 | + err(1, "suinput_open"); |
22 | 22 |
|
23 | | - /* Error handling is omitted to keep code as readible as possible. */ |
| 23 | + /* Error handling is omitted to keep code as readible as possible. */ |
24 | 24 |
|
25 | | - for (i = 0; i < 4; ++i) { |
26 | | - suinput_enable_event(uinput_fd, EV_KEY, keys[i]); |
27 | | - } |
| 25 | + for (i = 0; i < 4; ++i) { |
| 26 | + suinput_enable_event(uinput_fd, EV_KEY, keys[i]); |
| 27 | + } |
28 | 28 |
|
29 | | - suinput_create(uinput_fd, &user_dev); |
| 29 | + suinput_create(uinput_fd, &user_dev); |
30 | 30 |
|
31 | | - suinput_emit(uinput_fd, EV_KEY, KEY_H, 1); /* Press. */ |
32 | | - suinput_syn(uinput_fd); /* "Flushes" events written so far. */ |
| 31 | + suinput_emit(uinput_fd, EV_KEY, KEY_H, 1); /* Press. */ |
| 32 | + suinput_syn(uinput_fd); /* "Flushes" events written so far. */ |
33 | 33 |
|
34 | | - suinput_emit(uinput_fd, EV_KEY, KEY_H, 0); /* Release */ |
35 | | - suinput_syn(uinput_fd); |
| 34 | + suinput_emit(uinput_fd, EV_KEY, KEY_H, 0); /* Release */ |
| 35 | + suinput_syn(uinput_fd); |
36 | 36 |
|
37 | | - suinput_emit(uinput_fd, EV_KEY, KEY_E, 1); |
38 | | - suinput_syn(uinput_fd); |
| 37 | + suinput_emit(uinput_fd, EV_KEY, KEY_E, 1); |
| 38 | + suinput_syn(uinput_fd); |
39 | 39 |
|
40 | | - suinput_emit(uinput_fd, EV_KEY, KEY_E, 0); |
41 | | - suinput_syn(uinput_fd); |
| 40 | + suinput_emit(uinput_fd, EV_KEY, KEY_E, 0); |
| 41 | + suinput_syn(uinput_fd); |
42 | 42 |
|
43 | | - suinput_emit(uinput_fd, EV_KEY, KEY_L, 1); |
44 | | - suinput_syn(uinput_fd); |
| 43 | + suinput_emit(uinput_fd, EV_KEY, KEY_L, 1); |
| 44 | + suinput_syn(uinput_fd); |
45 | 45 |
|
46 | | - suinput_emit(uinput_fd, EV_KEY, KEY_L, 0); |
47 | | - suinput_syn(uinput_fd); |
| 46 | + suinput_emit(uinput_fd, EV_KEY, KEY_L, 0); |
| 47 | + suinput_syn(uinput_fd); |
48 | 48 |
|
49 | | - suinput_emit(uinput_fd, EV_KEY, KEY_L, 1); |
50 | | - suinput_syn(uinput_fd); |
| 49 | + suinput_emit(uinput_fd, EV_KEY, KEY_L, 1); |
| 50 | + suinput_syn(uinput_fd); |
51 | 51 |
|
52 | | - suinput_emit(uinput_fd, EV_KEY, KEY_L, 0); |
53 | | - suinput_syn(uinput_fd); |
| 52 | + suinput_emit(uinput_fd, EV_KEY, KEY_L, 0); |
| 53 | + suinput_syn(uinput_fd); |
54 | 54 |
|
55 | | - suinput_emit(uinput_fd, EV_KEY, KEY_O, 1); |
56 | | - suinput_syn(uinput_fd); |
| 55 | + suinput_emit(uinput_fd, EV_KEY, KEY_O, 1); |
| 56 | + suinput_syn(uinput_fd); |
57 | 57 |
|
58 | | - suinput_emit(uinput_fd, EV_KEY, KEY_O, 0); |
59 | | - suinput_syn(uinput_fd); |
| 58 | + suinput_emit(uinput_fd, EV_KEY, KEY_O, 0); |
| 59 | + suinput_syn(uinput_fd); |
60 | 60 |
|
61 | | - suinput_destroy(uinput_fd); |
| 61 | + suinput_destroy(uinput_fd); |
62 | 62 |
|
63 | | - return 0; |
| 63 | + return 0; |
64 | 64 | } |
0 commit comments