Add more keyboards for the RDP compositor

This patch complements the table that contains matches between RDP
and xkb keyboard layouts. We now handle variants too.
Use FreeRDP buildin functions to get scancodes

This patch make use of the functions available in FreeRDP to retrieve
the scancode to inject.
compositor: raise errors when bad scale or transform values are used
libinput: Use floating point instead of fixed point numbers

Also update configure.ac to require libinput 0.3 when enabled, as it is
the version where double replaced li_fixed_t.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Add a simple client for testing compositor damage handling

This allows for easily testing a compositor's damage tracking in all
currently available configurations including wl_surface.buffer_transform,
wl_surface.buffer_scale, and wl_viewport.  It also includes a
--rotating-damage that flag instructs the client to change the
wl_surface.buffer_transform on every commit.  This tests the compositor for
proper handling of texture uploads even when the transform has changed but
the buffer size hasn't.
compositor: unmap subsurface views before destroying the subsurfaces

This is to avoid recursing into weston_compositor_build_view_list()
and therefore fix crashing when destroying a stack of visible subsurfaces
due to weston_compositor_build_view_list() being called recursively
and corrupting the lists it works on.

https://bugs.freedesktop.org/show_bug.cgi?id=79684
animation: fix move scale animation

Both weston_move_scale_run() and weston_slide_run() were broken in
commit 3a869019. Commit a4a6f161 fixed and explained the problem for
weston_slide_run() but weston_move_scale_run() remained broken.

To fix weston_move_scale_run(), weston_view_animation_run() is also
required. It was removed when _run() was split into two functions
_create() and _run() in commit f5cc2b56, but _run() was not added in
this commit.
exposay: fix crash when navigating with the keyboard

Commit a7592019 introduced an optimization that caused some
exposay struct members to not be properly initialized, particularly
cur_output, leading to crashes in some circumstances (e.g. pressing
the down arrow key after going to exposay).

Signed-off-by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
animation: ensure repaints are always scheduled during animations

Animations are run off the repaint cycle so if there's nothing to
repaint, an animation will stop running. This is usually not a problem
as each frame function of an animation causes something to change and
therefore a repaint to happen. This patch helps detect when the
animation isn't in said case and triggers a repaint to keep the
animation running.

This problem was found by using weston_move_scale_run() to move a view
onscreen from completely off. The very first time the animation frame
function was called the progress wasn't enough to move it into
view. The compositor saw there was nothing to repaint and stopped
doing anything else. When something else (like a pointer move) forced
a redraw, the view's position was very much onscreen and jumped into
view in an ugly way.
desktop-shell: make background applications less dark
build: Silence libtoolize warnings

When running the autogen.sh script, libtoolize complains thusly:

	libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
	libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
	libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

Silence the warnings by following libtoolize's advice.

Signed-off-by: Thierry Reding <treding@nvidia.com>
compositor-wayland: Fix compiler warning

sizeof returns size_t, for which the correct printf specifier is %zu.
Fixes the following warning when building for ARMv7.

	src/compositor-wayland.c: In function 'wayland_output_get_shm_buffer':
	src/compositor-wayland.c:260:3: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'unsigned int' [-Wformat=]
	   weston_log("could not zalloc %ld memory for sb: %m\n", sizeof *sb);
	   ^

Signed-off-by: Thierry Reding <treding@nvidia.com>
weston: Fix memleak issue in compositor.c

Based on a previous patch by Hardening <rdp.effort@gmail.com>.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
compositor: update the surface size when there is a size change without a buffer attach

This fixes at least the case where you want to do wl_viewport.set_destination
to resize the surface but without attaching new content in it.
weston-build: Fix aclocal error during autogen.sh

This is a fix to the following bug:
https://bugs.freedesktop.org/show_bug.cgi?id=80214

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
desktop-shell: Don't assume there is a pointer when resizing

Fixes a crash on touch devices without a pointer, when touching
the window frame of a client.

Signed-off-by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
xdg-shell: Fix a typo in description

Signed-off-by: Boyan Ding <stu_dby@126.com>
Clients: Fix memleak issues in various clients of weston

In many clients of weston, Display was not being destroyed so added it.
Also destroy windows, widgets which were not being destroyed.

Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewed-by: Pekka Paalanen <ppaalanen@gmail.com>
Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
Fix a comment
Change the defacto output transform from flipped-270 to flipped-90

It turns out that flipped-270 is the second-simplest transformation besides
normal because it is a direct swapping of the x and y axes.  Having that as
the default encourages people to use flipped-270 as the default test for "I
want to try this with a transform".  Unfortunately, because flipped-270 is
so simple, it is really easy to have something that works for normal,
flipped-270, and nothing else.  This encourages people to test with a
transform thats actually "hard".