xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Fri Apr 15 20:20:14 UTC 2016


 xkb/xkbAccessX.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit f9b5bbaa3a7fce1a4efb2084b8d9d82b98d4ee83
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Tue Mar 8 15:42:42 2016 +1000

    xkb: fix SlowKeys release/reject beeps
    
    Wrong use of the mask here caused a beep whenever a key was rejected but
    also when it was released after being accepted. Fix the mask to check
    for the correct enabled controls.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Daniel Stone <daniels at collabora.com>

diff --git a/xkb/xkbAccessX.c b/xkb/xkbAccessX.c
index 02e820b..892cb30 100644
--- a/xkb/xkbAccessX.c
+++ b/xkb/xkbAccessX.c
@@ -618,6 +618,7 @@ AccessXFilterReleaseEvent(DeviceEvent *event, DeviceIntPtr keybd)
     if (ctrls->enabled_ctrls & XkbSlowKeysMask) {
         xkbAccessXNotify ev;
         unsigned beep_type;
+        unsigned mask;
 
         ev.keycode = key;
         ev.slowKeysDelay = ctrls->slow_keys_delay;
@@ -625,14 +626,16 @@ AccessXFilterReleaseEvent(DeviceEvent *event, DeviceIntPtr keybd)
         if (BitIsOn(keybd->key->down, key) || (xkbi->mouseKey == key)) {
             ev.detail = XkbAXN_SKRelease;
             beep_type = _BEEP_SLOW_RELEASE;
+            mask = XkbAX_SKReleaseFBMask;
         }
         else {
             ev.detail = XkbAXN_SKReject;
             beep_type = _BEEP_SLOW_REJECT;
+            mask = XkbAX_SKRejectFBMask;
             ignoreKeyEvent = TRUE;
         }
         XkbSendAccessXNotify(keybd, &ev);
-        if (XkbAX_NeedFeedback(ctrls, XkbAX_SKRejectFBMask)) {
+        if (XkbAX_NeedFeedback(ctrls, mask)) {
             XkbDDXAccessXBeep(keybd, beep_type, XkbSlowKeysMask);
         }
         if (xkbi->slowKey == key)


More information about the xorg-commit mailing list