| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Rename from LIBEVDEV_READ_foo to LIBEVDEV_READ_FLAG_foo to differentiate
better from LIBEVDEV_READ_STATUS_foo.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
|
| |
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are several gcc/ld flags that optimize size and performance without
requiring explicit code changes. In no particular order, this adds:
- gcc -pipe to avoid temporary files and use pipes during compilation
- gcc -fno-common avoids putting uninitialized global variables not
marked as "extern" into a common section. This catches compilation
errors if we didn't mark global variables explicitly as "extern".
- gcc -fno-strict-aliasing allows us to use unions for some binary magic.
Otherwise, -O2 might assume that two different types never point at the
same memory. We currently don't rely on this but it's common practice
so avoid any non-obvious runtime errors later.
- gcc -ffunction-sections and -fdata-sections put each function and
variable into a separate section. This enables ld's --gc-sections to
drop any unused sections (sections which aren't referenced from an
exported section). This is very useful to avoid putting dead code into
DSOs. We can now link any helper function into libevdev and the linker
removes all of them if they're unused.
- gcc -fstack-protector adds small stack-corruption protectors in
functions which have big buffers on the stack (>8bytes). If the
stack-protectors are corrupted, the process is aborted. This is highly
useful to debug stack-corruption issues which often are nearly
impossible to catch without this.
- ld --as-needed drops all linked libraries that are not actually
required by libevdev. So we can link to whatever we want and the linker
will drop everything which is not actually used.
- ld -z now, resolve symbols during linking, not during runtime.
- ld -z relro, add relocation-read-only section. This allows to put
read-only global variables and alike into a read-only section. This is
useful for variables that need a relocation and thus cannot be
explicitly put into a read-only section. This option tells the linker
to mark them read-only after relocations are done. (that's why -z now
makes sense in combination with this)
All of these options are common in other open-source projects, including
systemd and weston. Don't ask me why they are not marked as default..
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This lets libevdev provide a relatively generic interface for the
creation of uinput devices so we don't need to duplicate this across
multiple projects.
Most of this is lifted from the current test implementation, with a
couple of minor changes.
EV_REP needs special handling:
Kernel allows to set the EV_REP bit, it doesn't set REP_* bits (which we
wrap anyway) but it will also set the default values (500, 33).
Device node is guessed based on the sysfs path:
The sysfs path contains a eventN file, that corresponds to our
/dev/input/eventN number. Use it so clients can quickly get the device
node, without a libudev dependency.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
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>
|