Peter Hutterer
31961e8d59
Use a macro for type_to_mask
...
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
03fa066aec
Default to a max of -1 for undefined EV_foo bits
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-26 17:47:28 +10:00
Peter Hutterer
dc27c627a7
Fix type_to_mask to return -1
...
EV_SYN doesn't have a max, so 0 is not enough.
returning 0 on failure is a bad idea, as mask is unset.
2013-06-26 17:47:28 +10:00
Peter Hutterer
645d5d3a64
test: add infrastructure for uinput device tests
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-26 17:47:24 +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
aff1db36da
Inline the type-to-mask helpers
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 15:55:20 +10:00
Peter Hutterer
f65a1932c1
Move utility functions to a separate header
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 15:46:03 +10:00
Peter Hutterer
57ba888d43
Add a few includes the libevdev-int.h needs
...
These were hidden due to the include order from the .c files, but really,
libevdev-int should include them.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 15:44:51 +10:00
Peter Hutterer
a7c5ae50f4
Protect against NULL device on log handler
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 14:53:30 +10:00
Peter Hutterer
7c860d6002
Set up a test harness
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:33 +10:00
Peter Hutterer
c92f81b648
Blacklist some key names that resolve to other names
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:33 +10:00
Peter Hutterer
b3c661d397
Switch tools to use libevdev_get_event_*_name interface
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:33 +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
d029e6ddbf
Add man page for libevdev_get_event_value and friends
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:32 +10:00
Peter Hutterer
fe34f7cff7
Move libevdev-events over to a tools directory
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:32 +10:00
Peter Hutterer
ea705612e1
Merge libevdev-print and libevdev-events into one binary
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:32 +10:00
Peter Hutterer
2159a7b154
test: drop unused function print_code_bits
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:32 +10:00
Peter Hutterer
a3f89c647d
Drop requirement on ffi - copy/paste leftover
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:32 +10:00
Peter Hutterer
c19463eff5
Allow libevdev_free on a NULL pointer.
...
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
999c89083e
Skip over ABS_MT_SLOT when syncing MT axis values
...
The slot event is already on the queue.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 16:36:34 +10:00
Peter Hutterer
b01c94a762
Fix invalid abs_info read
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 16:36:10 +10:00
Peter Hutterer
1927b2024f
Fill in the last event time for synced events
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 16:20:35 +10:00
Peter Hutterer
bfc41a9ab9
Update README
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 15:25:15 +10:00
Peter Hutterer
46b829a4f2
Let the name be dynamically allocated
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 15:25:15 +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
e8e4bc37c7
Add man-pages for the current interface
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 14:15:14 +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
0797c0035b
Add a FIXME for lack of O_NONBLOCK
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 14:09:27 +10:00
Peter Hutterer
897dfba2ef
Add a fixme: if we're dropping sync event, libedev loses state info too
...
If a client doesn't care about syncing that's one thing, but
libevdev functions still need to return the right _current_ (i.e. synced)
value.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 14:09:27 +10:00
Peter Hutterer
20c4c73adf
Don't allow re-setting the fd
...
If a caller needs to re-init a device, libevdev_new_from_fd() is a better
choice.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-03 14:09:25 +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
cfcfa4c159
gitignore: Ignore tarballs
...
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
0867f2f10a
Free the event queue on cleanup.
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-31 15:24:39 +10:00
Peter Hutterer
8bdd0639a6
Check for allocation failure in libevdev_new()
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-31 15:22:50 +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
4ae4f24ef7
Update the MT state properly
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 13:58:45 +10:00
Peter Hutterer
3e22ef86ab
If a client doesn't sync when it should, drop all sync events
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 13:37:44 +10:00
Peter Hutterer
ec093aa398
After a SYN_DROPPED, drop all events in the queue
...
Ideally, we could sync by pre-pending all the sync events and then pretend
nothing happened but our queue is too small and likely too full for any
extra events. So drop all events, then add the sync events to the queue.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 13:37:44 +10:00
Peter Hutterer
549f0f0bcd
Abstract the event queue away
...
Provide a couple of handler functions to avoid erroneous queue updates. This
will make it easier if we need to swap queue implementation later.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 13:37:43 +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
8034fdd0d7
Fix MT slot index handling
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-05-30 13:25:44 +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