Commit graph

40 commits

Author SHA1 Message Date
Peter Hutterer
a28473cb62 Add libevdev_has_event_pending()
Returns non-zero if there are events avialable to be read.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-08-01 13:53:04 +10:00
Peter Hutterer
40493c3ff2 When enabling EV_REP, set the delay/period values
Just enabling EV_REP sets them to zero, but when enabling them directly,
a value is required.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2013-07-31 08:36:51 +10:00
Peter Hutterer
9fd6c45e03 Document mailing list
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-22 08:21:03 +10:00
Peter Hutterer
a9a5a93a78 Change github.com references to freedesktop.org
Except for the API documentation, that'll stay on github for now until
I figure out where to put it (and have the space to put it in).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-17 13:06:35 +10:00
Peter Hutterer
9e64f40f61 Don't include config.h in the public header
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-09 14:39:23 +10:00
Peter Hutterer
1d2c0d6674 doc: couple of minor documentation fixes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-06 10:27:10 +10:00
Peter Hutterer
72a9f3ce02 Add documentation about the test suite
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-05 09:38:14 +10:00
Peter Hutterer
1065231148 Some minor documentation fixes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-04 11:37:20 +10:00
Peter Hutterer
e6f85ee1f1 Add two helper functions to check event type/code
These aren't really that useful since they're just one or two lines in
code, but it saves callers from accidentally misplacing braces, etc.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-04 10:07:44 +10:00
Peter Hutterer
bafd498b67 Add a simple example to the documentation
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-03 15:53:50 +10:00
Peter Hutterer
25a0a65d7f Indent some documentation better
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-03 15:53:50 +10:00
Peter Hutterer
f3a6b0c685 Add a flag for blocking read
Not all clients need nonblocking read, so add a flag to read
in blocking mode. In that mode, events are only read from the fd when
the queue is empty.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-02 10:59:01 +10:00
Peter Hutterer
0aa639b443 Disallow disabling of EV_SYN
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 10:10:25 +10:00
Peter Hutterer
5db85056a2 Require data be NULL when enabling a non-EV_ABS axis
In the future this may change, but for now enforce that callers use NULL.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 09:35:16 +10:00
Peter Hutterer
c22dd794bf Add more documentation to stop complaints about undocumented members
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-01 08:33:02 +10:00
Peter Hutterer
fe30bf7d96 Drop code for kernel-enabling bits
We can't enable axes on devices at runtime in the kernel, not even
for uinput devices. So this API can't work anyway, remove it before
someone thinks it does work.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-30 15:27:24 +10:00
Peter Hutterer
ea8c69c3e4 Change signature for kernel_enable_event_code to match enable_event_code
They do essentially the same thing, so the function signature should be null.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-29 18:29:41 +10:00
Peter Hutterer
bc285acd9a Add a flag for forcing a SYN_DROPPED event
uinput doesn't route a SYN_DROPPED, so we neeed to handle fds in
a rather complicated manner. For tests, avoid this and instead force
the library to sync if a specific flag is given.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-28 11:21:44 +10:00
Peter Hutterer
234bf1faa9 Expand main documentation to explain libevdev a bit more
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-28 09:31:55 +10:00
Peter Hutterer
7bf7b1d7c9 Improve documentation to libevdev_next_event
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-27 14:21:55 +10:00
Peter Hutterer
627b33cfe7 Require a flag for normal mode too
Makes the whole thing more explicit.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-27 14:20:03 +10:00
Peter Hutterer
b10444f82f Slots are now definitely zero-indexed, see recent kernel patch
doc: specify that ABS_MT_SLOT must have a minimum of 0

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-27 10:41:54 +10:00
Peter Hutterer
960dc91844 Documentation fixes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-27 10:41:54 +10:00
Peter Hutterer
479e16725d Use doxygen instead of man pages
Doxygen is bad for man pages, but having an online API documentation
is better and easier to maintain.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-27 10:41:54 +10:00
Peter Hutterer
90697197df Fix stray code tag in html
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-27 10:41:54 +10:00
Peter Hutterer
eda87cdf91 Add an API to get the repeat values
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-26 17:47:28 +10:00
Peter Hutterer
6019083a1a Add function to get max value for a given ev type
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-26 17:47:28 +10:00
Peter Hutterer
0e9ef8a22d Add functions to enable axis on the device in the kernel
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 20:17:27 +10:00
Peter Hutterer
91e95d2ff4 Expose API for retrieving event names
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:32 +10:00
Peter Hutterer
954fc8a70a Include stdarg for va_list.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:32 +10:00
Peter Hutterer
4318b73549 Expose phys/uniq to the caller
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 15:25:13 +10:00
Peter Hutterer
a98c9b3bee Export version fields as well
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 14:15:16 +10:00
Peter Hutterer
ba90eab419 Rename pid/vid to product-id and vendor-id
Slightly more expressive and it's not that painful to type.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 14:09:27 +10:00
Peter Hutterer
27528b9668 Change libevdev_grab to take an enum
Enum values fo 3 and 4 to avoid callers using true/false values for grabbing
and ungrabbing. If the evdev mute ioctl is merged, we can extend this
without having to worry about breaking callers.

[1] http://lwn.net/Articles/476830/

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-31 15:24:58 +10:00
Peter Hutterer
9dee4db9d7 Split libevdev_new() into _new and _new_from_fd()
libevdev_new() can only fail on allocation failures, but with an fd the
failure options are more. Split into a new function that can return an error
code.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-31 15:24:58 +10:00
Peter Hutterer
05ba468a27 Rename ER_SYNC flag to LIBEVDEV_READ_SYNC
ER dated to an earlier version of this library called libevdev_read.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 14:05:01 +10:00
Peter Hutterer
ee054e9cf9 Add a function to retrieve the current slot
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 14:02:27 +10:00
Peter Hutterer
f3d94ecfd7 Drop the callback interface, replace with libevdev_next_event
Callbacks looked good on paper, but synaptics ran into an issue already that
it just couldn't easily pass around the state needed in the actual event
processing function.

Replace with a new interface that only returns the next event (still reading
more off the fd while doing so).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 13:37:25 +10:00
Peter Hutterer
e19994c34c Add log func handling
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 13:25:58 +10:00
Peter Hutterer
a3255d3ec7 libevdev is a library to handle evdev devices
Two main goals of this library:
- 'transparently' handle SYN_DROPPED events
- avoid errors in ioctl handling by providing a simpler interface.

Keeps a cached copy of the device for quick querying.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-29 15:33:21 +10:00