Skip to content

Commit 682aad9

Browse files
Revised README.
1 parent 57beb9a commit 682aad9

1 file changed

Lines changed: 58 additions & 8 deletions

File tree

README

Lines changed: 58 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,71 @@
11
Libsuinput
22
==========
33

4-
Uinput allows attaching user-space device drivers into the Linux
5-
kernel. However, it is pretty low level from the application
6-
developers perspective. This library provides a set of helper
7-
functions for making the uinput usage easier.
4+
Uinput is a Linux kernel module which allows attaching user-space
5+
device drivers into the Linux kernel. However, it is pretty low level
6+
from the application developers perspective. This library provides a
7+
set of helper functions for making the usage of uinput easier.
8+
9+
Usage example
10+
-------------
11+
12+
Create and use a new uinput device with key-capabilities:
13+
14+
int uinput_fd;
15+
int keys[] = {KEY_E, KEY_H, KEY_L, KEY_O};
16+
struct uinput_user_dev user_dev;
17+
18+
memset(&user_dev, 0, sizeof(struct uinput_user_dev));
19+
strcpy(user_dev.name, "libsuinput-example-keyboard");
20+
21+
uinput_fd = suinput_open();
22+
23+
suinput_set_capabilities(uinput_fd, EV_KEY, keys, 4);
24+
25+
suinput_create(uinput_fd, &user_dev);
26+
27+
suinput_write(uinput_fd, EV_KEY, KEY_H, 1); /* Press. */
28+
suinput_syn(uinput_fd); /* "Flushes" events written so far. */
29+
30+
suinput_write(uinput_fd, EV_KEY, KEY_H, 0); /* Release */
31+
suinput_syn(uinput_fd);
32+
33+
suinput_write(uinput_fd, EV_KEY, KEY_E, 1);
34+
suinput_syn(uinput_fd);
35+
36+
suinput_write(uinput_fd, EV_KEY, KEY_E, 0);
37+
suinput_syn(uinput_fd);
38+
39+
suinput_write(uinput_fd, EV_KEY, KEY_L, 1);
40+
suinput_syn(uinput_fd);
41+
42+
suinput_write(uinput_fd, EV_KEY, KEY_L, 0);
43+
suinput_syn(uinput_fd);
44+
45+
suinput_write(uinput_fd, EV_KEY, KEY_L, 1);
46+
suinput_syn(uinput_fd);
47+
48+
suinput_write(uinput_fd, EV_KEY, KEY_L, 0);
49+
suinput_syn(uinput_fd);
50+
51+
suinput_write(uinput_fd, EV_KEY, KEY_O, 1);
52+
suinput_syn(uinput_fd);
53+
54+
suinput_write(uinput_fd, EV_KEY, KEY_O, 0);
55+
suinput_syn(uinput_fd);
56+
57+
suinput_destroy(uinput_fd);
858

959
General information
1060
-------------------
1161

12-
- Author: [Tuomas Jorma Juhani Räsänen](http://tjjr.fi) <tuomas.rasanen@tjjr.fi>
13-
- Homepage: <http://tjjr.fi/projects/libsuinput>
62+
- Author: Tuomas Jorma Juhani Räsänen <tuomas.rasanen@tjjr.fi>
63+
- Homepage: <http://tjjr.fi/sw/libsuinput>
1464
- License: GPLv3+ (see COPYING for details)
1565
- Version: 0.4
16-
- Bugs: <http://bugs.launchpad.net/libsuinput>
17-
- Tarball: <http://launchpad.net/libsuinput/trunk/0.4/+download/libsuinput-0.4.tar.gz>
1866
- Repository: <http://github.com/tuos/libsuinput>
67+
- Bugs: <http://github.com/tuos/libsuinput/issues>
68+
- Tarballs: <http://github.com/tuos/libsuinput/downloads>
1969

2070
Build requirements
2171
------------------

0 commit comments

Comments
 (0)