Commit 5927e070 authored by Erkki Seppälä's avatar Erkki Seppälä Committed by Peter Hutterer

xkb: Cancel a key's repetition when its autorepeat is disabled.

When XkbChangeEnabledControls is called to disable key repetition of a
certain key (or keys), currently ongoing repetition of that key was
not cancelled. It was cancelled if ChangeKeyboardControl was used to
disable key repetition globally.
Reviewed-by: 's avatarRami Ylimäki <>
Reviewed-by: 's avatarDirk Wallenstein <>
Signed-off-by: 's avatarPeter Hutterer <>
parent be3be758
......@@ -915,9 +915,14 @@ ProcXkbSetControls(ClientPtr client)
if (stuff->changeCtrls & XkbPerKeyRepeatMask)
if (stuff->changeCtrls & XkbPerKeyRepeatMask) {
memcpy(new.per_key_repeat, stuff->perKeyRepeat,
if (xkbi->repeatKey &&
!BitIsOn(new.per_key_repeat, xkbi->repeatKey)) {
AccessXCancelRepeatKey(xkbi, xkbi->repeatKey);
old= *ctrl;
*ctrl= new;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment