diff options
Diffstat (limited to 'xkb')
-rw-r--r-- | xkb/xkb.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -915,9 +915,14 @@ ProcXkbSetControls(ClientPtr client) stuff->axtOptsMask); } - if (stuff->changeCtrls & XkbPerKeyRepeatMask) + if (stuff->changeCtrls & XkbPerKeyRepeatMask) { memcpy(new.per_key_repeat, stuff->perKeyRepeat, XkbPerKeyBitArraySize); + if (xkbi->repeatKey && + !BitIsOn(new.per_key_repeat, xkbi->repeatKey)) { + AccessXCancelRepeatKey(xkbi, xkbi->repeatKey); + } + } old= *ctrl; *ctrl= new; |