Thomas Wood
bfd7137ffb
wayland: skip pointer and keyboard events without a surface
...
Pointer and keyboard events can be received after the surface has been
destroyed, in which case the surface will be NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=693338
2013-02-12 15:30:56 +00:00
Thomas Wood
a8862727c9
wayland: set the "transient inactive" flag on tooltip surfaces
...
This prevents the tooltip surfaces from taking the focus away from the
parent surface.
https://bugzilla.gnome.org/show_bug.cgi?id=693313
2013-02-12 15:30:56 +00:00
Rob Bradford
f6383ebf9e
wayland: React to G_IO_ERR and G_IO_HUP on the wayland socket
...
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=692728
2013-02-06 18:08:58 +00:00
Thomas Wood
2935b97b31
wayland: remove debug message
...
https://bugzilla.gnome.org/show_bug.cgi?id=693253
2013-02-06 16:56:44 +00:00
Thomas Wood
6657479c72
wayland: avoid returning NULL when getting a cursor
...
https://bugzilla.gnome.org/show_bug.cgi?id=693257
2013-02-06 16:56:44 +00:00
Thomas Wood
4f6d535626
wayland: use the GdkCursorType enum information to lookup the cursor name
...
Use the enum information to generate the cursor name rather than using a
lookup table.
https://bugzilla.gnome.org/show_bug.cgi?id=693256
2013-02-06 16:56:44 +00:00
Thomas Wood
69ac91b4b3
wayland: fix the direction of scrolling
...
Fix the direction of scrolling and convert the delta values into the
expected range.
https://bugzilla.gnome.org/show_bug.cgi?id=693251
2013-02-06 16:56:43 +00:00
Rob Bradford
b43d36d43d
wayland: Use g_value_set_static to avoid string copies
2013-02-05 18:28:43 +00:00
Rob Bradford
93c3fec125
wayland: Pull the cursor theme name out from the setting for it
...
This avoids us using the default theme and allows us to use a wider range of
cursors.
2013-02-05 13:25:20 +00:00
Rob Bradford
69e9ecf90a
wayland: Advertise the cursor theme through GtkSettings as Adwaita
...
... as per the way we advertise a GTK theme to use.
2013-02-05 13:25:20 +00:00
Jan Arne Petersen
e335a3fd31
wayland: Add global_remove handler
...
Do not crash on wl_registry.global_remove events anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=692899
2013-02-01 23:04:16 -05:00
Jan Arne Petersen
e437016a65
wayland: Make GdkWaylandDevice public
...
Rename GdkDeviceCore to GdkWaylandDevice and export it properly in a
header file. Add public accessors for wl_seat, wl_pointer and
wl_keyboard.
https://bugzilla.gnome.org/show_bug.cgi?id=692823
2013-02-01 23:03:17 -05:00
Jan Arne Petersen
363eea659c
wayland: Rename GdkWaylandDevice
...
Rename GdkWaylandDevice to GdkWaylandDeviceData so that GdkDeviceCore
can be renamed to GdkWaylandDevice.
https://bugzilla.gnome.org/show_bug.cgi?id=692823
2013-02-01 23:03:15 -05:00
Jan Arne Petersen
ac3a50bfe6
wayland: Remove unused, commented out code
...
https://bugzilla.gnome.org/show_bug.cgi?id=692823
2013-02-01 23:03:12 -05:00
Rob Bradford
a687cbaae8
wayland: Implement gdk_window_fullscreen & gdk_window_unfullscreen
2013-01-29 18:42:44 +00:00
Rico Tzschichholz
22bad6a240
wayland: Add missing reference to gdkwaylandwindow.h
...
Missing bit of 01c0dd9182
2013-01-27 16:32:44 +01:00
Jan Arne Petersen
01c0dd9182
wayland: Make GdkWaylandWindow public
...
Allows to access Wayland specific window information like wl_surface and
wl_shell_surface.
Add gdk_wayland_window_get_wl_surface for getting the Wayland wl_surface
and gdk_wayland_window_get_wl_shell_surface for getting the Wayland
wl_shell_surface.
2013-01-23 22:26:27 +01:00
Jan Arne Petersen
2b9f0b4817
wayland: Make GdkWaylandDisplay public
...
Allows to access Wayland specific display information like wl_display
etc.
Add gdk_wayland_display_get_wl_display for getting the Wayland
wl_display.
2013-01-23 22:26:27 +01:00
Rob Bradford
2d676f32b1
wayland: Handle the keymap being needed before we know about seats
...
In the Wayland backend implementation for gdk_display_get_keymap we enumerate
the known devices and look for an core keyboard device. These device objects
are created when we receive the capabilities for the seat. The seat
capabilities may be received after a request for the keymap so we handle this
by creating a temporary keymap which we then free later when we have the real
one.
2013-01-22 19:12:29 +00:00
Rob Bradford
d4a9863e19
wayland: Drop code to use cairo-gl for rendering
...
The APIs that this code relied upon were removed in Wayland 1.0 and as such
this code has been broken since then.
2013-01-18 08:56:47 +00:00
Ran Benita
21cf5a7e00
wayland: update to work with stable libxkbcommon
...
libxkbcommon has had some changes to its API. However, it now has a
stable release (0.2.0), so this makes the necessary changes, and
replaces all uses of the deprecated API.
Signed-off-by: Ran Benita <ran234@gmail.com>
2012-10-29 15:45:31 +00:00
Scott Moreau
e5b88f1bdd
wayland: Update to reflect protocol changes
2012-10-19 12:21:35 +01:00
Matthias Clasen
144a5687c9
gdk: Don't use GDK_THREADS_ENTER/LEAVE macros internally
...
These are just wrappers for the functions, and we want to
deprecate them. Stopping to use them internally is a good
first step.
2012-07-30 18:01:47 +02:00
Rob Bradford
7c51d67e7c
wayland: Fallback to setting transient windows if no seat available
...
If we don't have a wl_seat - because a grab hasn't been initialised by GTK+
then fallback to making the shell surface transient to the parent rather than
a popup surface.
2012-07-18 16:16:56 +01:00
Rob Bradford
8a39d2269e
wayland: Don't compare against GdkWindowTypeHint as a bitmask
...
The hint was being compared as a bitmask which means types that were not in
the list were being erroneously matched
2012-07-18 16:08:36 +01:00
José Dapena Paz
c5ef4e660b
wayland: Add default settings implementation for Wayland backend.
...
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-07-17 11:31:54 +01:00
José Dapena Paz
33e928e472
wayland: Initial version of keyboard key event handling
...
Review comment: I think the implementation of the vfuncs in gdkkeys-wayland.c
depend on that we're using the keysysm as the hardware keycode. I think that
needs to be evaluated for the future. But for now this patch gives reasonably
complete keyboard input.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-07-16 20:11:41 +01:00
José Dapena Paz
d2c66e5afd
wayland: Hook up _get_num_lock / _get_caps_lock to read from XKB state
...
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-07-16 20:11:41 +01:00
Rob Bradford
bef037f5d2
wayland: Remove unused function declaration
2012-07-16 20:11:41 +01:00
Rob Bradford
b5773b89cf
wayland: Remove annoying whitespace
2012-07-16 20:11:41 +01:00
José Dapena Paz
a4c80bd9cb
wayland: Create and expose an xkb_state on the keymap object
...
This is then logically associated with the input device since each (keyboard)
input device has its own keymap.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-07-16 20:11:41 +01:00
José Dapena Paz
d2267824b3
wayland: Refactor the keymap handling so it is associated with device
...
Although GDK expects the keymap to be associated with the display under
Wayland this is really associated with the input device so expose this by
finding the first keyboard device.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-07-16 20:11:41 +01:00
Rob Bradford
21f4b1cb35
wayland: Use the correct union member for axis events
...
Otherwise we end up overriding other members of the struct (in this case the
device pointer) and generate an error.
2012-07-16 15:38:09 +01:00
José Dapena Paz
a93f246056
wayland: implementation of pointer_handle_axis.
...
We translate wayland pointer axis events to GDK smooth scroll events, to
implement pointer_handle_axis events.
https://bugzilla.gnome.org/show_bug.cgi?id=679986
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-07-16 15:37:53 +01:00
Rob Bradford
d8d4eb3faa
wayland: Implement the keyboard_enter/keyboard_leave events
...
This code is derived from the old keyboard focus change event handling.
2012-07-16 13:44:29 +01:00
Rob Bradford
3f0f328fd1
wayland: data_device.data_offer now has a safe object wrapper
...
The prototype for the listener has changed to provide a typesafe object rather
than an id that you have to bind into an object yourself.
2012-07-16 13:44:29 +01:00
Rob Bradford
1d080a01c1
wayland: Process the keymap that is sent over from the compositor
...
Load the keymap from the file descriptor that the compositor has sent us and
then save that into our internal object for future use.
2012-07-16 13:44:29 +01:00
Rob Bradford
19d16f8b80
wayland: Expose _gdk_wayland_display_get_keymap internally
2012-07-16 13:44:29 +01:00
Rob Bradford
91a11ee277
wayland: Ensure we destroy the shell surface when destroying the surface
...
Otherwise we can try and use an invalid object that the compositor has already
deleted.
2012-07-12 15:58:38 +01:00
Rob Bradford
8bd1478596
wayland: wl_shell_surface_set_popup requires a valid seat and serial
...
If we don't have our own grab then get the grab from the parent.
2012-07-12 15:58:38 +01:00
Rob Bradford
5b81186be3
wayland: Protocol update: wl_pointer_set_cursor takes a serial
2012-07-12 15:58:38 +01:00
Rob Bradford
310fd40357
wayland: Protocol update: wl_shell_surface_resize and _move take serials
2012-07-12 15:58:38 +01:00
Rob Bradford
9f039e5b74
wayland: Save the serial number for the ping event
2012-07-12 15:58:38 +01:00
Rob Bradford
a4f032f1ea
wayland: Save the serial numbers for the pointer events
2012-07-12 15:58:38 +01:00
Rob Bradford
7fe87016f3
wayland: Add internal API for handling Wayland serial numbers
...
We need to keep track of the serial numbers for various API requests.
2012-07-12 15:58:38 +01:00
Rob Bradford
17d1c3c833
wayland: Ensure that _get_client_pointer returns a pointer
...
The previous implementation could return a device that is a keyboard.
2012-07-12 15:58:38 +01:00
Rob Bradford
77791f0708
wayland: Port to libxkbcommon API changes
...
xkb_string_to_keysym -> xkb_keysym_from_name
xkb_keysym_get_name -> xkb_keysym_get_name
2012-07-12 15:58:38 +01:00
Rob Bradford
93a338245a
wayland: Switch to new wayland cursors mechanism
2012-07-12 15:58:38 +01:00
Rob Bradford
33b9f8e1b8
wayland: Protocol change: wl_buffer_damage
...
wl_buffer_damage is no longer necessary - it is sufficient to damage the
surface that the buffer is attached to instead.
2012-07-12 15:58:38 +01:00
Rob Bradford
6cdb75256e
wayland: Protocol change: configure event
...
The 'time' value has been removed.
2012-07-12 15:58:38 +01:00