Commit graph

16 commits

Author SHA1 Message Date
Daniel Stone
1605e9ab19 Add more missing config.h includes
config.h includes were missing in a few files, including input.c, the
lack of which caused the X11 backend to segfault instantly due to not
having an xkbcommon context.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2013-11-16 21:54:07 +01:00
Peter Hutterer
3cb516930f malloc + memset -> zalloc
And for clients using the xmalloc helper, use xzalloc.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-11-16 21:54:07 +01:00
Kristian Høgsberg
71d66e22e5 udev: Use WL_OUTPUT udev attribute for pairing touchscreens to outputs 2013-11-16 21:54:07 +01:00
Rob Bradford
dcaca098f8 compositor-drm: Enable seat constraining when configured in weston.ini
This change tweaks weston_pointer_clamp to take into consideration if a
seat is constrained to a particular output by only considering the
pointer position valid if it is within the output we a constrained to.
This function is also used for the initial warping of the pointer when a
constraint is first established.

The other two changes are the application of the constraint when either
a new device added or a new output created and therefore outputs and
input devices can be brought up in either order.

v2: the code in create_output_for_connector has been spun off into a
new function setup_output_seat_constraint (Ander). The inappropriate
warping behaviour has been resolved by using weston_pointer_clamp
(Pekka).
2013-11-16 21:54:07 +01:00
Rob Bradford
e2da4d888c udev-seat: Refactor out seat lookup and possible creation
This change spills the code for looking up a seat by name and then
potentially creating it if it doesn't exist into a new function called
udev_seat_get_named.

This change allows us to reuse this code when looking up the seat
when parsing seat constraints per output.
2013-11-16 21:54:07 +01:00
Daniel Stone
0a375ebb38 configure.ac: Enable AC_USE_SYSTEM_EXTENSIONS
AC_USE_SYSTEM_EXTENSIONS enables _XOPEN_SOURCE, _GNU_SOURCE and similar
macros to expose the largest extent of functionality supported by the
underlying system.  This is required since these macros are often
limiting rather than merely additive, e.g. _XOPEN_SOURCE will actually
on some systems hide declarations which are not part of the X/Open spec.

Since this goes into config.h rather than the command line, ensure all
source is consistently including config.h before anything else,
including system libraries.  This doesn't need to be guarded by a
HAVE_CONFIG_H ifdef, which was only ever a hangover from the X.Org
modular transition.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>

[pq: rebased and converted more files]
2013-11-16 21:54:06 +01:00
Rob Bradford
cb408b3acf udev-seat: Use udev rules to support multiple seats
By labelling devices with ENV{WL_SEAT} in udev rules the devices will be
pulled into multiple weston seats.

As a result you can get multiple independent seats under the DRM and
fbdev backends.
2013-11-16 21:54:06 +01:00
Rob Bradford
07b0da9c77 udev-seat: Separate the seat out to its own structure
Thie will allow us to instantiate multiple seats.
2013-11-16 21:54:06 +01:00
Rob Bradford
8065462d6d udev-seat: Make the udev_input structure an embedded structure
And as a result of this stop iterating through the compositor seat list
(of one item) and instead access the udev_input structure directly.

This enables a refactoring to pull out the weston_seat into a separate
structure permitting multiple seats.
2013-11-16 21:54:06 +01:00
Rob Bradford
a16790bcd7 udev-seat: Rename udev_seat to udev_input
This is a pure rename of the structure, functions and local variables in
preparation of the separation of the seat from the other udev input
handling.
2013-11-16 21:54:06 +01:00
Rob Bradford
56ed9258da input: Add a seat name parameter to weston_seat_init 2013-11-16 21:54:06 +01:00
Rob Bradford
a777610a77 udev-seat: Fail input setup only if no devices are found
Rather than failing if we cannot open any single device fail the input
setup if there are no input devices added.

https://bugs.freedesktop.org/show_bug.cgi?id=64506
2013-11-16 21:54:06 +01:00
Kristian Høgsberg
790c9a1faf input: Merge wl_seat into weston_seat 2013-11-16 21:54:06 +01:00
Kristian Høgsberg
43ff34cdae udev-seat: Simplfy enable/disable interface a bit
We always call enable_udev_monitor and add_devices together and always
disable_udev_monitor and remove_devices together.  Let's just have one
entry point for enable and one for disable.
2013-11-16 21:54:06 +01:00
Kristian Høgsberg
0b6adcd5e4 compositor-drm: Move udev_seat to its own file
We get to move the input code out of compositor-drm.c and we'll be
able to share it with the fbdev backend.
2013-11-16 21:54:06 +01:00
Kristian Høgsberg
9b1b1ba4df Initial commit.
This has the basic event loop, and a first cut of the libffi dispatcher.
2008-09-30 09:56:42 -04:00