gtk2/gdk/wayland
Dan Torop a23ad61a25 wayland: selectively cancel key repeat on key release
Under Wayland, when multiple keys are pressed and the user releases a
key, key repeat should continue unless the key released is the one
currently repeating.

In the case of:

- key1 press
- key1 repeat
- key2 press -> key1 repeat stopped
- key2 repeat
- key2 release

The behavior should be to cancel keyboard repeat, though key1 is still
held down. This is consistent with prior X11/XWayland behavior.

The following also must work:

- key1 press
- key2 press
- key2 release
- key2 press
- key1 release
- key2 should continue to repeat

The fix for bug #778019 should continue to work:

- key1 press
- key1 repeat
- key2 press -> key1 repeat stopped
- key1 release
- key2 should repeat

The choice to change the counter nkeys to the flag repeat_active
helps to solve the second test case.

https://bugzilla.gnome.org/show_bug.cgi?id=781285
2017-06-02 19:13:03 +02:00
..
protocol wayland: Get tiled state from gtk_shell instead of xdg_shell 2016-08-25 12:31:40 +08:00
gdkapplaunchcontext-wayland.c wayland: Formatting fixes 2015-02-28 00:02:30 -05:00
gdkcursor-wayland.c Reduce a warning to a message 2016-10-17 19:11:32 -04:00
gdkdevice-wayland.c wayland: selectively cancel key repeat on key release 2017-06-02 19:13:03 +02:00
gdkdisplay-wayland.c wayland: Include generated sources from builddir, not srcdir 2017-05-03 15:10:51 +01:00
gdkdisplay-wayland.h wayland: Warn when an application tries to map popup incorrectly 2016-09-02 18:56:03 +08:00
gdkdnd-wayland.c API: gdk: Add gdk_window_new_popup() 2016-11-06 23:47:56 +01:00
gdkeventsource.c wayland: Don't warn if the display is lost, skip exit handlers 2017-05-30 09:15:57 +02:00
gdkglcontext-wayland.c Work around a wayland crash 2017-03-30 09:15:29 -04:00
gdkglcontext-wayland.h gdk: Large GL refactoring 2016-12-05 15:02:47 +01:00
gdkkeys-wayland.c gdk/wayland: Don't add GDK_META_MASK to gdk mod masks if MOD1 is set 2017-01-17 18:24:28 +01:00
gdkmonitor-wayland.c wayland: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkmonitor-wayland.h wayland: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkprivate-wayland.h wayland: Sync attributes also when drawing with GL 2016-12-06 18:02:11 +01:00
gdkscreen-wayland.c gdk/wayland: Handle non-existant gsettings keys 2017-01-10 15:17:32 +01:00
gdkseat-wayland.h wayland: Remove GdkWaylandDataDevice typedef 2016-03-21 17:15:59 +01:00
gdkselection-wayland.c wayland: Mark private function as static 2017-04-28 22:21:19 +01:00
gdkvulkancontext-wayland.c vulkan: Use LGPL v2 2017-01-04 16:02:44 -02:00
gdkvulkancontext-wayland.h vulkan: Use LGPL v2 2017-01-04 16:02:44 -02:00
gdkwayland.h wayland: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkwaylanddevice.h wayland: Offer wayland-specific method to set pad actions feedback 2016-08-23 21:01:45 +02:00
gdkwaylanddisplay.h gdkdisplay-wayland: Add API to set startup notification ID 2016-11-09 14:18:14 -05:00
gdkwaylandglcontext.h GL: Follow naming conventions 2014-10-21 23:48:12 -04:00
gdkwaylandmonitor.h wayland: Port to new monitor api 2016-04-27 23:18:16 -04:00
gdkwaylandselection.h Drop gdk_wayland_drag_context_get_dnd_window 2015-12-02 00:47:53 -05:00
gdkwaylandwindow.h API: wayland: Add gdk_wayland_window_new_subsurface() 2016-11-06 21:36:43 +01:00
gdkwindow-wayland.c wayland: fix xdg_surface test in move/resize drag 2017-06-02 16:19:00 +02:00
genprotocolfiles.py build: Clean up Wayland protocol code generation 2017-05-03 15:10:57 +01:00
Makefile.am wayland: Add support for Vulkan renderer 2017-01-04 13:24:08 +01:00
meson.build meson: Remove G_LOG_USE_STRUCTURED from target C flags 2017-05-03 16:22:52 +01:00
wm-button-layout-translation.c gdk: Relicense translate_wm_button_layout_to_gtk() 2017-04-27 21:05:12 +02:00
wm-button-layout-translation.h gdk: Relicense translate_wm_button_layout_to_gtk() 2017-04-27 21:05:12 +02:00