platform/upstream/libevdev.git
4 years agogitlab CI: remove a reference to libinput
Peter Hutterer [Thu, 13 Feb 2020 22:38:32 +0000 (08:38 +1000)]
gitlab CI: remove a reference to libinput

That's what you get for copy/paste...

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: add a check-commit stage
Peter Hutterer [Thu, 13 Feb 2020 22:20:27 +0000 (08:20 +1000)]
gitlab CI: add a check-commit stage

Taken from libinput, checks for signed-off-by and other things.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoconfigure.ac: add a toggle to enable the special coverity options
Peter Hutterer [Wed, 12 Feb 2020 22:06:33 +0000 (08:06 +1000)]
configure.ac: add a toggle to enable the special coverity options

Coverity tries to supply system headers and fails badly at it. A bunch of
_Float... sizes are pulled in by math.h but not provided anywhere. So as a
workaround, let's add an option to explicitly enable coverity support that
simply #defines those types to ones we do know about and let's go on hoping
it'll eventually work.

See the equivalent addition to libinput in commit 8178339b5baa717.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoAdd queue_push_event as shortcut for the two-liner we use everywhere
Peter Hutterer [Tue, 11 Feb 2020 03:51:17 +0000 (13:51 +1000)]
Add queue_push_event as shortcut for the two-liner we use everywhere

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoSimplify some error handling by assuming a >=3.4 kernel
Peter Hutterer [Tue, 11 Feb 2020 03:23:44 +0000 (13:23 +1000)]
Simplify some error handling by assuming a >=3.4 kernel

v3.4 was released in 2012, every kernel since has that ioctl. So instead of
assuming you're running new libevdev on an 8 year old kernel, let's assume
that any error from the ioctl() is an actual error and handle it accordingly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: slightly modernize some of the tests
Peter Hutterer [Tue, 11 Feb 2020 09:46:59 +0000 (19:46 +1000)]
test: slightly modernize some of the tests

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: provide a function to print an event
Peter Hutterer [Tue, 11 Feb 2020 10:44:25 +0000 (20:44 +1000)]
test: provide a function to print an event

Easy to copy/paste into a test that needs a bit of debugging, otherwise unused.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: split the tests into one test case each
Peter Hutterer [Tue, 11 Feb 2020 10:37:01 +0000 (20:37 +1000)]
test: split the tests into one test case each

For debugging it's more important to be able to quickly run a single test
rather than grouping them together, we don't have thousands of tests here
anyway. So let's add a macro to put every test func into its own TCase,
allowing for test selection via the environment variable CK_RUN_CASE.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: wrap the event checks into a macro
Peter Hutterer [Mon, 10 Feb 2020 09:10:05 +0000 (19:10 +1000)]
test: wrap the event checks into a macro

One-liner to check an event rather than three separate statements in every
test.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agodoc: add markdown for monospace rendering of defines
Peter Hutterer [Mon, 10 Feb 2020 09:46:07 +0000 (19:46 +1000)]
doc: add markdown for monospace rendering of defines

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoOnly use GCC pragma on GCC
Michael Forney [Mon, 17 Jun 2019 00:18:00 +0000 (17:18 -0700)]
Only use GCC pragma on GCC

Signed-off-by: Michael Forney <mforney@mforney.org>
4 years agoAvoid initializer index range
Michael Forney [Mon, 17 Jun 2019 00:14:18 +0000 (17:14 -0700)]
Avoid initializer index range

This is a GNU C extension, and is not available in ISO C.

Instead, just explicitly initialize other indices to -1.

Signed-off-by: Michael Forney <mforney@mforney.org>
4 years agoAdd fallback min/max for compilers that don't have statement expressions
Michael Forney [Mon, 17 Jun 2019 00:05:30 +0000 (17:05 -0700)]
Add fallback min/max for compilers that don't have statement expressions

Statement expressions are a GNU C extension and are not available
in ISO C.

On compilers that don't have them, define these macros as plain
conditional expressions, since they are only ever used with expressions
that have no side-effects.

The statement-expression version is still retained as an added
safety measure on GNU-compatible compilers.

Signed-off-by: Michael Forney <mforney@mforney.org>
4 years agotest: add mangle_path to the excluded symbols leak list
Peter Hutterer [Thu, 6 Feb 2020 00:36:17 +0000 (10:36 +1000)]
test: add mangle_path to the excluded symbols leak list

Don't 100% know where it comes from but it's not ours, so...

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: some more centos deduplication
Peter Hutterer [Thu, 6 Feb 2020 00:23:45 +0000 (10:23 +1000)]
gitlab CI: some more centos deduplication

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: don't run distcheck on centos 7 anymore
Peter Hutterer [Thu, 6 Feb 2020 00:22:48 +0000 (10:22 +1000)]
gitlab CI: don't run distcheck on centos 7 anymore

With b65be7aa79 the centos 7 RPMs don't include doxygen anymore, so let's drop
the distcheck job. Centos 7 is old enough at this point that we don't need to
care too much.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: force a rebuild of all the docker containers
Peter Hutterer [Mon, 3 Feb 2020 10:38:26 +0000 (20:38 +1000)]
gitlab CI: force a rebuild of all the docker containers

To make sure the current pipeline is correct

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: switch the custom builds to Fedora 31
Peter Hutterer [Mon, 3 Feb 2020 10:35:44 +0000 (20:35 +1000)]
gitlab CI: switch the custom builds to Fedora 31

With b65be7aa79 the centos 7 RPMs don't include doxygen anymore, causing a CI
pipeline failure (but only where the centos image is being rebuilt).

Fedora is a better early-warning system about possible breakages than Centos -
which was originally chosen precisely because it doesn't update much and was
faster to run in the CI (this was before custom docker images).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: replace the SW_LID tests with SW_HEADPHONE_INSERT
Peter Hutterer [Mon, 18 Nov 2019 03:42:40 +0000 (13:42 +1000)]
test: replace the SW_LID tests with SW_HEADPHONE_INSERT

We're only testing EV_SW event delivery here and SW_LID has the tendency to
suspend the host when we don't specifically inhibit it. So let's just swap for
the next one.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoCI: add a Centos 8 container build
Peter Hutterer [Thu, 24 Oct 2019 23:50:48 +0000 (09:50 +1000)]
CI: add a Centos 8 container build

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoCI: deduplicate distcheck by making it a variable
Peter Hutterer [Fri, 15 Nov 2019 04:40:08 +0000 (14:40 +1000)]
CI: deduplicate distcheck by making it a variable

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoCI: move the configure flags into a variable
Peter Hutterer [Fri, 15 Nov 2019 04:32:07 +0000 (14:32 +1000)]
CI: move the configure flags into a variable

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoCI: extend the CI to work with containers
Peter Hutterer [Fri, 25 Oct 2019 00:17:46 +0000 (00:17 +0000)]
CI: extend the CI to work with containers

Mostly copy/paste from libinput but we do build on debian and centos as well.
The special builds are basically the same as before.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agomake-event-names.py should take the files as argument
Peter Hutterer [Wed, 23 Oct 2019 03:13:50 +0000 (03:13 +0000)]
make-event-names.py should take the files as argument

Don't rely on cat, just let our script read everything as required.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: Fix function names in simple code example
Alexander Dahl [Thu, 12 Sep 2019 13:43:11 +0000 (15:43 +0200)]
doc: Fix function names in simple code example

That code did not compile because those functions were only renamed in
header and code back then, but not in the example.

Fixes: ab2f20bfd6ad ("Revamp the API once again")
Signed-off-by: Alexander Dahl <ada@thorsis.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agolibevdev 1.8.0 upstream_work_20200211 upstream_work_20210106 libevdev-1.8.0
Peter Hutterer [Mon, 26 Aug 2019 04:35:54 +0000 (14:35 +1000)]
libevdev 1.8.0

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoinclude: sync event codes with kernel 5.2
Peter Hutterer [Mon, 26 Aug 2019 04:33:19 +0000 (14:33 +1000)]
include: sync event codes with kernel 5.2

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: add a note regarding truncation of id_* fields
Nayan Deshmukh [Sun, 4 Aug 2019 11:58:56 +0000 (20:58 +0900)]
doc: add a note regarding truncation of id_* fields

The id_* fields are 16 bits in linux/input.h and we mirror
the kernel API here. Even though we accept an int for this
fields in ABI the value is truncated at 16 bits.

Signed-off-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoInitialize the slots correctly when enabling ABS_MT_SLOT
Peter Hutterer [Fri, 14 Jun 2019 01:18:37 +0000 (11:18 +1000)]
Initialize the slots correctly when enabling ABS_MT_SLOT

Previously, enabling or disabling ABS_MT_SLOT would not change the actual
slots, it was treated as a normal bitflag. This means we couldn't initialize a
libevdev context from scratch and have it behave like a correct MT context.

Fixes #4

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: fix a typo
Peter Hutterer [Tue, 11 Jun 2019 22:16:12 +0000 (08:16 +1000)]
doc: fix a typo

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agolibevdev 1.7.0 libevdev-1.7.0
Peter Hutterer [Wed, 5 Jun 2019 01:36:08 +0000 (11:36 +1000)]
libevdev 1.7.0

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: fix distcheck
Peter Hutterer [Wed, 5 Jun 2019 01:15:12 +0000 (11:15 +1000)]
doc: fix distcheck

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: minor documentation updates
Peter Hutterer [Wed, 5 Jun 2019 00:52:01 +0000 (10:52 +1000)]
doc: minor documentation updates

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: add libinput's doxygen styles
Peter Hutterer [Wed, 5 Jun 2019 00:36:24 +0000 (10:36 +1000)]
doc: add libinput's doxygen styles

Minor modifications to the style, but at least this is readable now.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: drop the custom stylesheet
Peter Hutterer [Mon, 3 Jun 2019 07:40:06 +0000 (17:40 +1000)]
doc: drop the custom stylesheet

Revert back to the normal doxygen looks, even though they're pretty awful. But
at least they're consistent, the custom stylesheets had all sorts of weird
corner cases that didnt' render correctly and I don't have enough CSS
knowledge to fix this correctly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: a change of the CSS needs to trigger a doxygen rebuild
Peter Hutterer [Mon, 3 Jun 2019 07:37:30 +0000 (17:37 +1000)]
doc: a change of the CSS needs to trigger a doxygen rebuild

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: change @retval documentation to help doxygen with rendering
Peter Hutterer [Mon, 3 Jun 2019 07:01:52 +0000 (17:01 +1000)]
doc: change @retval documentation to help doxygen with rendering

This causes some weird rendering, let's split it into a list (which also
happens to be more readable).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: fix some doxygen layout
Peter Hutterer [Mon, 3 Jun 2019 06:50:31 +0000 (16:50 +1000)]
doc: fix some doxygen layout

The linewrapped 1 caused doxygen to start a list

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: fix some doxygen warnings
Peter Hutterer [Mon, 3 Jun 2019 06:38:09 +0000 (16:38 +1000)]
doc: fix some doxygen warnings

warning: explicit link request to 'defines' could not be resolved

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agolibevdev 1.7rc1 libevdev-1.6.901
Peter Hutterer [Fri, 24 May 2019 00:54:14 +0000 (10:54 +1000)]
libevdev 1.7rc1

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoinclude: sync event codes with kernel 5.1
Peter Hutterer [Tue, 7 May 2019 00:30:40 +0000 (10:30 +1000)]
include: sync event codes with kernel 5.1

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoAdd a code-based name lookup function
Peter Hutterer [Tue, 19 Mar 2019 01:44:33 +0000 (11:44 +1000)]
Add a code-based name lookup function

Two new function pairs:
libevdev_event_code_from_code_name()
libevdev_event_type_from_code_name()

libevdev_event_code_from_code_name_n()
libevdev_event_type_from_code_name_n()

These functions look up event codes/types by the name of the event code only,
removing the need to figure out what event type an event code has. So if all
you have is "BTN_TOUCH", you can now look up the type and code for that,
without having to check the prefix yourself to guess at the type.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoDon't read events unless required
Peter Hutterer [Wed, 16 Jan 2019 03:55:25 +0000 (13:55 +1000)]
Don't read events unless required

With the previous approach, every libevdev_next_event() invocation triggered a
read() on the device fd. This is not efficient, the kernel provides whole
event frames at a time so we're guaranteed to have more events waiting unless
the current event is a SYN_REPORT.

Assuming a fast-enough client and e.g. a touchpad device with multiple axes
per frame, we'd thus trigger several unnecessary read() calls per event frame.

Drop this behavior, instead only trigger the read when our internal queue is
empty and we need more events.

Fallout:
- we don't have any warning about a too-slow sync, i.e. if a SYN_DROPPED
  arrives while we're syncing, we don't get a warning in the log anymore.
  the test for this was removed.
- the tests that required the specific behavior were rewritten accordingly
- a revoke on a kernel device doesn't return ENODEV until already-received
  events have been processed

The above shouldn't be an issue for existing real-world clients.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoinclude: sync event codes with kernel 5.0
Peter Hutterer [Wed, 6 Mar 2019 00:56:28 +0000 (10:56 +1000)]
include: sync event codes with kernel 5.0

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoReplace ABS_MT_SLOT - 1 with the v4.20 ABS_RESERVED define
Peter Hutterer [Wed, 16 Jan 2019 03:17:33 +0000 (13:17 +1000)]
Replace ABS_MT_SLOT - 1 with the v4.20 ABS_RESERVED define

ABS_RESERVED was added to 4.20 for that reason, to keep that event code
reserved so we can't use it for anything else (and thus mess up the fake MT
detection).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoinclude: sync event codes with kernel 4.20
Peter Hutterer [Wed, 16 Jan 2019 03:15:05 +0000 (13:15 +1000)]
include: sync event codes with kernel 4.20

6 years agolibevdev 1.6.0 libevdev-1.6.0
Peter Hutterer [Thu, 25 Oct 2018 23:50:23 +0000 (09:50 +1000)]
libevdev 1.6.0

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoinclude: sync event codes with kernel 4.19
Peter Hutterer [Mon, 22 Oct 2018 08:49:33 +0000 (18:49 +1000)]
include: sync event codes with kernel 4.19

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoAdd libevdev_event_value_get_name() to resolve ABS_MT_TOOL_TYPE values
Peter Hutterer [Fri, 15 Jun 2018 03:51:43 +0000 (13:51 +1000)]
Add libevdev_event_value_get_name() to resolve ABS_MT_TOOL_TYPE values

ABS_MT_TOOL_TYPE values are an enum, not a numerical value like all other
axes. So let's allow converting those values to string.

Fixes https://gitlab.freedesktop.org/libevdev/libevdev/issues/1

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
6 years agoResolve the names "SW_MAX" and friends
Peter Hutterer [Mon, 18 Jun 2018 04:18:07 +0000 (14:18 +1000)]
Resolve the names "SW_MAX" and friends

Some of the *_MAX names are duplicates and have a real define. These were not
resolved until now.

Fixes https://gitlab.freedesktop.org/libevdev/libevdev/issues/3

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
6 years agomake-event-names: minor cleanups for readability
Peter Hutterer [Mon, 18 Jun 2018 04:45:07 +0000 (14:45 +1000)]
make-event-names: minor cleanups for readability

Two variable renames for less ambiguity
Two changes from an long if condition to a "if foo in [...]"

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
6 years agotest: add a test timeout multiplier for valgrind
Peter Hutterer [Mon, 9 Jul 2018 01:48:21 +0000 (11:48 +1000)]
test: add a test timeout multiplier for valgrind

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoGitLab CI: actually reference the default artifacts
Peter Hutterer [Mon, 9 Jul 2018 01:13:03 +0000 (11:13 +1000)]
GitLab CI: actually reference the default artifacts

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoGitLab CI: build with the various options
Peter Hutterer [Fri, 29 Jun 2018 01:23:36 +0000 (11:23 +1000)]
GitLab CI: build with the various options

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoAdd GitLab CI
Peter Hutterer [Fri, 15 Jun 2018 05:41:01 +0000 (15:41 +1000)]
Add GitLab CI

A simple version of it, we just pull down a few popular distros, build on them
and make sure distcheck passes.

https://gitlab.freedesktop.org/libevdev/libevdev/issues/2

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoconfigure.ac: remove --disable-test-run
Peter Hutterer [Fri, 15 Jun 2018 06:23:04 +0000 (16:23 +1000)]
configure.ac: remove --disable-test-run

This flag was used to disable test runs during make distcheck. Now that we
have more checks and the environment variable, we can drop this flag.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoconfigure.ac: fix the gcov linker flags
Peter Hutterer [Fri, 29 Jun 2018 01:49:51 +0000 (11:49 +1000)]
configure.ac: fix the gcov linker flags

Presumably this worked, but it certainly doesn't work anymore (neither on
RHEL7 nor on Fedora 28)

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: add LIBEVDEV_SKIP_ROOT_TESTS environment variable check
Peter Hutterer [Fri, 29 Jun 2018 01:13:44 +0000 (11:13 +1000)]
test: add LIBEVDEV_SKIP_ROOT_TESTS environment variable check

Depending on the container, or other checks don't always work. Add an extra
environment variable instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: move the kernel test to the same infrastructure
Peter Hutterer [Fri, 15 Jun 2018 05:18:17 +0000 (15:18 +1000)]
test: move the kernel test to the same infrastructure

We previously had this separate because it tested separate things. Now the
setup is generic enough that we should just re-use it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: check for the device nodes to exist before testing
Peter Hutterer [Fri, 15 Jun 2018 05:08:53 +0000 (15:08 +1000)]
test: check for the device nodes to exist before testing

Even if we're root we may be running in a container without input device
nodes. In which case we should skip the test, not fail.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: split some non-root tests into separate binaries
Peter Hutterer [Fri, 15 Jun 2018 04:40:18 +0000 (14:40 +1000)]
test: split some non-root tests into separate binaries

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: sort-of autodetect whether we need root privileges
Peter Hutterer [Fri, 15 Jun 2018 04:51:19 +0000 (14:51 +1000)]
test: sort-of autodetect whether we need root privileges

It's not really autodetection, we just declare the test suites that need root
privs. But this way we can generically check for it from the main() that we
re-use across tests.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: automate test suite handling
Peter Hutterer [Fri, 15 Jun 2018 04:36:37 +0000 (14:36 +1000)]
test: automate test suite handling

Move all tests to a special section, then loop through that section
to fetch all test suite. The result is that new tests only need to add the
source files without having to update everything else as well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: rename some tests for less ambiguity
Peter Hutterer [Fri, 15 Jun 2018 04:13:59 +0000 (14:13 +1000)]
test: rename some tests for less ambiguity

"key" usually refers to one of KEY_ of EV_KEY in general, but here we're
testing event codes.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoChange all URLs to gitlab.fdo
Peter Hutterer [Wed, 6 Jun 2018 08:20:03 +0000 (18:20 +1000)]
Change all URLs to gitlab.fdo

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoUpdate struct input_event
Deepa Dinamani [Tue, 16 Jan 2018 00:21:08 +0000 (16:21 -0800)]
Update struct input_event

The struct input_event is not y2038 safe.
Update the struct according to the kernel patch:
https://lkml.org/lkml/2018/1/6/324

Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoinclude: sync event codes with kernel 4.16
Peter Hutterer [Mon, 2 Apr 2018 21:04:12 +0000 (07:04 +1000)]
include: sync event codes with kernel 4.16

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agolibevdev 1.5.9 libevdev-1.5.9
Peter Hutterer [Thu, 8 Mar 2018 05:25:28 +0000 (15:25 +1000)]
libevdev 1.5.9

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: skip tests when we're not root
Peter Hutterer [Mon, 26 Feb 2018 07:09:48 +0000 (17:09 +1000)]
test: skip tests when we're not root

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
6 years agoBlacklist SW_MAX so it doesn't shadow SW_PEN_INSERTED
Peter Hutterer [Mon, 26 Feb 2018 07:02:41 +0000 (17:02 +1000)]
Blacklist SW_MAX so it doesn't shadow SW_PEN_INSERTED

They have the same value, so the _MAX code would shadow the real code, causing
issues in any client that needs to get all event names from libevdev.
Specifically, the loop of:
  for each code in 0 to max-for-type:
      print(name)
would not show up the code (but the _MAX) code instead. This causes issues
with clients that rely on name resolution that works. And the _MAX values are
special values anyway.

Blacklist it in the script here, causing it to resolve from name to code, but
not from code to name (like other duplicated codes).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
6 years agoBlacklist REP_MAX so it doesn't shadow REP_PERIOD
Peter Hutterer [Mon, 26 Feb 2018 06:59:58 +0000 (16:59 +1000)]
Blacklist REP_MAX so it doesn't shadow REP_PERIOD

They have the same value, so the _MAX code would shadow the real code, causing
issues in any client that needs to get all event names from libevdev.
Specifically, the loop of:
  for each code in 0 to max-for-type:
      print(name)
would not show up the code (but the _MAX) code instead. This causes issues
with clients that rely on name resolution that works. And the _MAX values are
special values anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
6 years agoDrop the python map printing
Peter Hutterer [Mon, 26 Feb 2018 06:53:55 +0000 (16:53 +1000)]
Drop the python map printing

leftover from when this was part of evemu

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
6 years agolibevdev 1.5.8 libevdev-1.5.8
Peter Hutterer [Mon, 29 Jan 2018 04:17:50 +0000 (14:17 +1000)]
libevdev 1.5.8

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoSync with kernel 4.15 (BTN_STYLUS3)
Peter Hutterer [Sun, 28 Jan 2018 21:59:49 +0000 (07:59 +1000)]
Sync with kernel 4.15 (BTN_STYLUS3)

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agotest: add --no-install flag to be able to debug directly
Peter Hutterer [Tue, 12 Dec 2017 23:46:15 +0000 (09:46 +1000)]
test: add --no-install flag to be able to debug directly

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
6 years agoWhen changing the fd, reset our grab state to ungrabbed
Peter Hutterer [Tue, 12 Dec 2017 23:20:55 +0000 (09:20 +1000)]
When changing the fd, reset our grab state to ungrabbed

Previously, calling grabbing a device after changing the fd was a no-op
because libevdev's grab state didn't match the fd:

libevdev_grab(LIBEVDEV_GRAB);
  .. fd is grabbed
  .. internal state is 'grabbed'
libevdev_change_fd();
  .. new fd is ungrabbed
  .. internal state is 'grabbed'
libevdev_grab(LIBEVDEV_GRAB);
  .. argument matches internal state and we exit without grabbing the device

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agoinclude: sync with kernel 4.13
Peter Hutterer [Mon, 4 Sep 2017 02:44:14 +0000 (12:44 +1000)]
include: sync with kernel 4.13

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agotools: add a script to sync the kernel header files
Peter Hutterer [Mon, 3 Jul 2017 00:13:06 +0000 (10:13 +1000)]
tools: add a script to sync the kernel header files

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agoinclude: sync with kernel v4.12
Peter Hutterer [Mon, 3 Jul 2017 00:12:56 +0000 (10:12 +1000)]
include: sync with kernel v4.12

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agouinput: make a note that the syspath we return is the input node
Peter Hutterer [Wed, 31 May 2017 23:28:57 +0000 (09:28 +1000)]
uinput: make a note that the syspath we return is the input node

And not the syspath for the /dev/input/eventX node

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agotest: remove test for ULONG_MAX queue allocation
Peter Hutterer [Tue, 9 May 2017 03:39:46 +0000 (13:39 +1000)]
test: remove test for ULONG_MAX queue allocation

Fixes the warning:
../libevdev/libevdev-int.h:231:15: warning: argument 1 value
18446744073709551615’ exceeds maximum object size 9223372036854775807
[-Walloc-size-larger-than=]

That's now part of gcc's -Wall, so let's rely on that for code. Arguably, the
queue code is simple enough that we don't need a test for ENOMEM anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
7 years agotest: drop unused parameters from test's main()
Peter Hutterer [Mon, 8 May 2017 22:13:53 +0000 (08:13 +1000)]
test: drop unused parameters from test's main()

Not needed, so let's get rid of the compiler warning.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
7 years agotest: disable coredumps during test suite runs
Peter Hutterer [Mon, 8 May 2017 22:12:43 +0000 (08:12 +1000)]
test: disable coredumps during test suite runs

It's a test suite, it shouldn't fill up the file system or the journal with
coredumps.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
7 years agolibevdev 1.5.7 upstream_bkup_20200211 libevdev-1.5.7
Peter Hutterer [Thu, 4 May 2017 00:31:51 +0000 (10:31 +1000)]
libevdev 1.5.7

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agoFix an indentation issues
Peter Hutterer [Mon, 24 Apr 2017 23:27:16 +0000 (09:27 +1000)]
Fix an indentation issues

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agodoc: add links to git repositories on the main page
Peter Hutterer [Fri, 24 Mar 2017 04:42:00 +0000 (14:42 +1000)]
doc: add links to git repositories on the main page

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agoautogen: add default patch prefix
Mihail Konev [Thu, 26 Jan 2017 04:24:42 +0000 (14:24 +1000)]
autogen: add default patch prefix

Signed-off-by: Mihail Konev <k.mvc@ya.ru>
7 years agoautogen.sh: use exec for configure
Peter Hutterer [Thu, 26 Jan 2017 04:23:18 +0000 (14:23 +1000)]
autogen.sh: use exec for configure

No point in waiting around until it finishes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agoautogen.sh: escape $srcdir before configure
Peter Hutterer [Thu, 26 Jan 2017 04:22:34 +0000 (14:22 +1000)]
autogen.sh: escape $srcdir before configure

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agotools: print an error if we don't have any matching events in the dpi tool
Peter Hutterer [Tue, 17 Jan 2017 04:42:48 +0000 (14:42 +1000)]
tools: print an error if we don't have any matching events in the dpi tool

Beats crashing by dereferencing a null-pointer (when we access
m->frequencies[idx])

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
7 years agotools: move udev printf into the print_summary() helper
Peter Hutterer [Tue, 17 Jan 2017 04:42:13 +0000 (14:42 +1000)]
tools: move udev printf into the print_summary() helper

No functional changes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
7 years agoconfigure.ac: enable subdir-objects
Peter Hutterer [Thu, 5 Jan 2017 23:48:48 +0000 (09:48 +1000)]
configure.ac: enable subdir-objects

The main thing holding us back here was our gcov hacks. We used to rebuild the
libevdev sources locally inside test/ with the gcov flags so that we could
leave the main libevdev sources untouched. This doesn't work well with
subdir-objects - we have to link to libevdev.la instead.

To enable gcov, we now have to apply the gcov flags to the main library
object. But this also means that when running, the notes files will be
somewhere within the libevdev/ directory, not the test/ directory. Working
around this in automake gets nasty quickly, so just add a script that knows
how to search for things.

No functional changes unless --enable-gcov is given at configure time - then
don't install the library.

The gcov reports are now in test/gcov-reports/

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
7 years agotest: fix a Makefile.am comment
Peter Hutterer [Fri, 6 Jan 2017 01:20:04 +0000 (11:20 +1000)]
test: fix a Makefile.am comment

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agolibevdev 1.5.6 libevdev-1.5.6
Peter Hutterer [Wed, 4 Jan 2017 03:04:58 +0000 (13:04 +1000)]
libevdev 1.5.6

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agoFix typos in Documentation
Nayan Deshmukh [Sun, 1 Jan 2017 12:13:26 +0000 (17:43 +0530)]
Fix typos in Documentation

Signed-off-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agoinclude: update to v4.9 linux/input.h headers
Peter Hutterer [Mon, 12 Dec 2016 00:07:07 +0000 (10:07 +1000)]
include: update to v4.9 linux/input.h headers

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agolibevdev 1.5.5 libevdev-1.5.5
Peter Hutterer [Tue, 29 Nov 2016 23:52:11 +0000 (09:52 +1000)]
libevdev 1.5.5

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
7 years agoDisable test runs on make distcheck
Peter Hutterer [Wed, 30 Nov 2016 00:13:22 +0000 (10:13 +1000)]
Disable test runs on make distcheck

The tests all need root, but running distcheck as root is not ideal. Disable
the test runs (but not the build) to make it easier to verify distcheck works
as intended.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
7 years agoFix minor error in doxygen example code
Nathan Baker [Thu, 10 Nov 2016 15:08:11 +0000 (10:08 -0500)]
Fix minor error in doxygen example code

The incorrect variable was checked as a return code in an example, and
that can be confusing for people trying to learn or use the example code
as a starting point.

8 years agotools: print the mean frequency together with the max frequency
Peter Hutterer [Mon, 19 Sep 2016 00:51:52 +0000 (10:51 +1000)]
tools: print the mean frequency together with the max frequency

And if they're 30% out, print a warning. On the ThinkPad X1 Wireless Touch
Mouse (when connected via bluetooth) we get a bunch of events at the start of
the movement, all less than 1ms apart. Best guess is that the device goes to
low-power, then notices the movement and buffers the event until the BT
connection is back up. Then it sends all events at once. Usually they're less
than 1ms apart, but at one recording showed a 37ms delay before we go back to
the normal 70ms (~15Hz) the mouse has otherwise.

This is unpredictable enough that we can't just work around it so instead
print a warning to the user so they can go investigate.

https://bugs.freedesktop.org/show_bug.cgi?id=97812

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>