Matthias Clasen
26d3fc311b
wayland: Keep hotspot when changing cursors
...
We need to pass the delta between the old and new hotspot
when attaching the new cursor surface, to keep the hotspot
at the same position. We can't deal with this in the compositor,
since the set_cursor call already overwrites the old hotspot,
so the information is lost by the time the attach happens.
Unfortunately, we can't query the initial hotspot from
the compositor, so the first cursor change will make the
hotspot jump.
https://bugzilla.gnome.org/show_bug.cgi?id=695512
2013-03-20 22:21:15 -04:00
Scott Moreau
50cde3658a
wayland: Remove unneeded semicolons
...
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2013-03-18 12:01:55 +00:00
Matthias Clasen
5da58aa71d
wayland: Rename GdkDeviceManagerCore to GdkWaylandDeviceManager
...
The 'core' naming is just an artifact of having several generations
of input extensions in X11, no need to propagate that into other
backends.
2013-03-15 09:19:35 -04:00
Thomas Wood
fbc0572068
wayland: attempt to determine the possible parent surface for popups
...
Use the surface beneath the device that created the grab as the transient
parent for the popup surfaces.
https://bugzilla.gnome.org/show_bug.cgi?id=693913
2013-02-18 19:38:21 -05:00
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
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
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
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
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
Rob Bradford
b5773b89cf
wayland: Remove annoying whitespace
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
5b81186be3
wayland: Protocol update: wl_pointer_set_cursor takes a serial
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
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
93a338245a
wayland: Switch to new wayland cursors mechanism
2012-07-12 15:58:38 +01:00
Rob Bradford
3eb0b195ed
wayland: Port to new input protocol mechanism
...
This replaces the wl_input_device with wl_pointer, wl_keyboard, wl_touch all
tied together under a wl_seat.
This is quite a radical change in protocol and for now keyboard handling is
disabled.
2012-07-12 15:58:38 +01:00
Rob Bradford
a9dc48ce94
wayland: Update to new header path for xkbcommon
2012-07-12 15:58:37 +01:00
Rob Bradford
fc58ff1e6a
wayland: Rename GdkDisplayWayland to GdkWaylandDisplay
...
This makes it consistent with the functions in the vtable and also consistent
with other backends.
2012-04-17 14:11:31 +01:00
Benjamin Otte
114b45c7eb
gdk: Make query_state() vfunc a void vfunc
...
... and make sure the backends implement it that way.
query_state() return value was ignored in all of GDK and caused crashes
when it failed.
2012-03-09 13:23:05 +01:00
Rob Bradford
99e0f4b62c
wayland: Don't try and reset the pointer window grab if there wasn't one
2012-03-06 21:24:41 +00:00
Rob Bradford
bdca0520e6
wayland: Store the device that does a grab for a window on the window
...
This allows us to get the device if we need to make the window a popup. This
relies on the side effect that GTK calls into GDK to take a grab before the
popup window is shown.
2012-02-27 17:15:12 +00:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
Kristian Høgsberg
4c79e25915
wayland: Report middle and right buttons correctly
...
The linux evdev button codes have right as 274 and left as 273.
2012-01-18 12:04:18 -05:00
Kristian Høgsberg
b9509ec15d
wayland: Handle request for selection atoms when there's no selection
2012-01-17 11:10:59 -05:00
Kristian Høgsberg
7328cc73aa
wayland: Set GdkWindow focused state based on keyboard focus
2012-01-16 15:36:28 -05:00
Kristian Høgsberg
5f07e937c8
wayland: Implement client side keyboard repeat
2012-01-16 15:36:27 -05:00
Rob Bradford
08f5483fb7
wayland: Free the internal selection data when the selection is cleared
2012-01-13 16:50:47 +00:00
Rob Bradford
1e0b22c176
wayland: Fix memory handling for the selection callbacks
2012-01-13 16:50:47 +00:00
Rob Bradford
368d6c50b7
wayland: Add basic API for setting and clearing the selection on the device
2012-01-13 16:50:47 +00:00
Rob Bradford
cd795de6bf
wayland: Expose basic mechanism for getting selection content by callback
...
This version has a couple of TODOs/FIXMEs:
* We should do something better than g_io_channel_read_to_end
* Need to check the mime type is valid
2012-01-13 16:50:47 +00:00
Rob Bradford
9d90a17a7c
wayland: Add call to get types available for the selection as atoms
2012-01-13 16:50:47 +00:00
Rob Bradford
fe3f275945
wayland: Remove unused variables to silence compiler warning
2012-01-13 16:50:47 +00:00
Rob Bradford
e7e86ba5f4
wayland: Remove unused variable from grab implementation
2012-01-12 13:48:57 +00:00
Rob Bradford
0aa210866c
wayland: Fix compilation warning for destroy function implementation
2012-01-12 13:48:57 +00:00
Kristian Høgsberg
e5283122fd
wayland: Add implementations for the device_grab / device_ungrab vfuncs
...
This allows the correct implementation of breaking the grab in pointer driven
resize and move.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-01-09 15:59:02 +00:00
Rob Bradford
ff016a7857
wayland: Set a default cursor when the window cursor is set to NULL
...
This change follows on from a change in semantics in Wayland where calling
wl_input_device_attach with nil would make the compositor set the pointer
sprite to it's default cursor sprite.
2012-01-05 17:39:14 +00:00
Javier Jardón
24360a8076
gdk/*: Use g_list_free_full convenience function
2012-01-05 04:22:42 +01:00
Rob Bradford
8c1f8c0668
wayland: Add dummy implementation of the wl_data_device functionality
...
Setup listener functions for the drag and drop events as well as the selection
events. Then create and save a data structure representing the data offer from
the other client.
2011-12-14 14:47:27 +00:00
Rob Bradford
b165c1bac8
wayland: Get the data device during input device setup
...
The data device is a associated with the input device - fetch the data device
from the data manager for the current input device.
2011-12-14 14:44:44 +00:00
Rob Bradford
32c9251b1e
wayland: Don't use deprecated function: gdk_window_get_pointer
...
Replace it with gdk_window_get_device_position.
2011-12-14 14:43:29 +00:00
Kristian Høgsberg
1cd65aea53
wayland: Only set x, y, and modifiers if the pointers are non-NULL
2011-02-11 17:07:19 -05:00
Kristian Høgsberg
ffe3af7f1c
wayland: There's only one screen
2011-02-11 09:56:58 -05:00
Kristian Høgsberg
cfb9c840e5
wayland: Remove some fprintf debug messages
2011-02-10 22:22:42 -05:00
Kristian Høgsberg
f0fe810999
wayland: Adjust the hw keycode in key events for min_key_code
2011-02-10 16:34:40 -05:00
Kristian Høgsberg
df0815470c
wayland: Return surface coordinates and mask in window_at_position
2011-02-10 13:42:59 -05:00
Kristian Høgsberg
9e1a0a1bec
wayland: Fix indentation
2011-02-10 11:02:15 -05:00
Kristian Høgsberg
df57389190
wayland: Unref the keyboard focus surface when losing keyboard focus
2011-02-10 11:02:15 -05:00
Kristian Høgsberg
f62e4a02b6
wayland: Use GDK_NOTE for logging event debug messages
2011-02-10 11:02:15 -05:00
Kristian Høgsberg
9f0ed18d5a
wayland: Set event screen
2011-02-10 10:57:33 -05:00
Kristian Høgsberg
3beb09adca
wayland: Copy translate_keyboard_string() form x11 backend
2011-02-10 10:53:31 -05:00
Kristian Høgsberg
0583603b09
wayland: Actually return device in _gdk_wayland_device_get_device()
2011-02-10 10:49:51 -05:00
Kristian Høgsberg
de82b82dd8
wayland: Clear modifier mask before restoring from keyboard_focus value
2011-02-09 16:36:15 -05:00
Kristian Høgsberg
c36dfccc64
wayland: Consolidate device and devicemanager implementation
2011-02-09 15:27:08 -05:00
Kristian Høgsberg
3ef3433511
wayland: Support setting cursors
...
And a handful unrelated cleanups. Still doesn't really have an answer
for cursor themes.
2011-02-09 14:48:31 -05:00
Kristian Høgsberg
590f3dfa1f
Add Wayland backend
2011-02-05 16:11:54 -05:00