• Dan Torop's avatar
    wayland: selectively cancel key repeat on key release · d9a9530f
    Dan Torop authored
    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
    d9a9530f
Name
Last commit
Last update
..
broadway Loading commit data...
deprecated Loading commit data...
mir Loading commit data...
quartz Loading commit data...
resources/glsl Loading commit data...
wayland Loading commit data...
win32 Loading commit data...
x11 Loading commit data...
COPYING Loading commit data...
Makefile.am Loading commit data...
fallback-c89.c Loading commit data...
gdk-autocleanup.h Loading commit data...
gdk-private.c Loading commit data...
gdk-private.h Loading commit data...
gdk.c Loading commit data...
gdk.h Loading commit data...
gdkapplaunchcontext.c Loading commit data...
gdkapplaunchcontext.h Loading commit data...
gdkapplaunchcontextprivate.h Loading commit data...
gdkcairo.c Loading commit data...
gdkcairo.h Loading commit data...
gdkconfig.h.win32 Loading commit data...
gdkconfig.h.win32_broadway Loading commit data...
gdkcursor.c Loading commit data...
gdkcursor.h Loading commit data...
gdkcursorprivate.h Loading commit data...
gdkdeprecated.c Loading commit data...
gdkdevice.c Loading commit data...
gdkdevice.h Loading commit data...
gdkdevicemanager.c Loading commit data...
gdkdevicemanager.h Loading commit data...
gdkdevicemanagerprivate.h Loading commit data...
gdkdevicepad.c Loading commit data...
gdkdevicepad.h Loading commit data...
gdkdevicepadprivate.h Loading commit data...
gdkdeviceprivate.h Loading commit data...
gdkdevicetool.c Loading commit data...
gdkdevicetool.h Loading commit data...
gdkdevicetoolprivate.h Loading commit data...
gdkdisplay.c Loading commit data...
gdkdisplay.h Loading commit data...
gdkdisplaymanager.c Loading commit data...
gdkdisplaymanager.h Loading commit data...
gdkdisplaymanagerprivate.h Loading commit data...
gdkdisplayprivate.h Loading commit data...
gdkdnd.c Loading commit data...
gdkdnd.h Loading commit data...
gdkdndprivate.h Loading commit data...
gdkdrawingcontext.c Loading commit data...
gdkdrawingcontext.h Loading commit data...
gdkdrawingcontextprivate.h Loading commit data...
gdkenumtypes.c.template Loading commit data...
gdkenumtypes.h.template Loading commit data...
gdkevents.c Loading commit data...
gdkevents.h Loading commit data...
gdkframeclock.c Loading commit data...
gdkframeclock.h Loading commit data...
gdkframeclockidle.c Loading commit data...
gdkframeclockidle.h Loading commit data...
gdkframeclockprivate.h Loading commit data...
gdkframetimings.c Loading commit data...
gdkframetimings.h Loading commit data...
gdkgl.c Loading commit data...
gdkglcontext.c Loading commit data...
gdkglcontext.h Loading commit data...
gdkglcontextprivate.h Loading commit data...
gdkglobals.c Loading commit data...
gdkinternals.h Loading commit data...
gdkintl.h Loading commit data...
gdkkeynames.c Loading commit data...
gdkkeys.c Loading commit data...
gdkkeys.h Loading commit data...
gdkkeysprivate.h Loading commit data...
gdkkeysyms-compat.h Loading commit data...
gdkkeysyms-update.pl Loading commit data...
gdkkeysyms.h Loading commit data...
gdkkeyuni.c Loading commit data...
gdkmain.h Loading commit data...
gdkmarshalers.list Loading commit data...
gdkmonitor.c Loading commit data...
gdkmonitor.h Loading commit data...
gdkmonitorprivate.h Loading commit data...
gdkoffscreenwindow.c Loading commit data...
gdkpango.c Loading commit data...
gdkpango.h Loading commit data...
gdkpixbuf-drawable.c Loading commit data...
gdkpixbuf.h Loading commit data...
gdkprivate.h Loading commit data...
gdkproperty.c Loading commit data...
gdkproperty.h Loading commit data...
gdkrectangle.c Loading commit data...
gdkrectangle.h Loading commit data...
gdkrgba.c Loading commit data...
gdkrgba.h Loading commit data...
gdkscreen.c Loading commit data...
gdkscreen.h Loading commit data...
gdkscreenprivate.h Loading commit data...
gdkseat.c Loading commit data...
gdkseat.h Loading commit data...
gdkseatdefault.c Loading commit data...
gdkseatdefaultprivate.h Loading commit data...
gdkseatprivate.h Loading commit data...
gdkselection.c Loading commit data...
gdkselection.h Loading commit data...
gdktestutils.h Loading commit data...
gdkthreads.h Loading commit data...
gdktypes.h Loading commit data...
gdkversionmacros.h.in Loading commit data...
gdkvisual.c Loading commit data...
gdkvisual.h Loading commit data...
gdkvisualprivate.h Loading commit data...
gdkwindow.c Loading commit data...
gdkwindow.h Loading commit data...
gdkwindowimpl.c Loading commit data...
gdkwindowimpl.h Loading commit data...
gdkx.h Loading commit data...
gen-keyname-table.pl Loading commit data...
keyname-table.h Loading commit data...
keynames-translate.txt Loading commit data...
keynames.txt Loading commit data...
makefile.msc Loading commit data...