[Xfce4-commits] <xfce4-settings:master> Fix expiration of sticky, slow, bounce and mouse keys (bug #6305).

Jérôme Guelfucci noreply at xfce.org
Thu Mar 31 23:18:01 CEST 2011


Updating branch refs/heads/master
         to b71dc8a4956809ec8f18c960f9f672913807960f (commit)
       from bd723130d93d959db99847907f66bd7f9df7cd45 (commit)

commit b71dc8a4956809ec8f18c960f9f672913807960f
Author: Amcnabb <amcnabb-xfce at mcnabbs.org>
Date:   Thu Mar 31 23:15:46 2011 +0200

    Fix expiration of sticky, slow, bounce and mouse keys (bug #6305).
    
    Original patch rebased by Maks Verver.

 xfsettingsd/accessibility.c |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/xfsettingsd/accessibility.c b/xfsettingsd/accessibility.c
index 3bf5f21..85f4d54 100644
--- a/xfsettingsd/accessibility.c
+++ b/xfsettingsd/accessibility.c
@@ -188,7 +188,10 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
         SET_FLAG (mask, XkbControlsEnabledMask);
 
         /* if setting sticky keys, we set expiration too */
-        if (HAS_FLAG (mask, XkbStickyKeysMask))
+        if (HAS_FLAG (mask, XkbStickyKeysMask) ||
+                HAS_FLAG (mask, XkbSlowKeysMask) ||
+                HAS_FLAG (mask, XkbBounceKeysMask) ||
+                HAS_FLAG (mask, XkbMouseKeysMask))
           SET_FLAG (mask, XkbAccessXTimeoutMask);
 
         /* add the mouse keys values mask if needed */
@@ -236,6 +239,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
             if (xfconf_channel_get_bool (helper->channel, "/SlowKeys", FALSE))
             {
                 SET_FLAG (xkb->ctrls->enabled_ctrls, XkbSlowKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbSlowKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbSlowKeysMask);
 
                 delay = xfconf_channel_get_int (helper->channel, "/SlowKeys/Delay", 100);
                 xkb->ctrls->slow_keys_delay = CLAMP (delay, 1, G_MAXUSHORT);
@@ -246,6 +251,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
             else
             {
                 UNSET_FLAG (xkb->ctrls->enabled_ctrls, XkbSlowKeysMask);
+                SET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbSlowKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbSlowKeysMask);
 
                 xfsettings_dbg (XFSD_DEBUG_ACCESSIBILITY, "slowkeys disabled");
             }
@@ -257,6 +264,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
             if (xfconf_channel_get_bool (helper->channel, "/BounceKeys", FALSE))
             {
                 SET_FLAG (xkb->ctrls->enabled_ctrls, XkbBounceKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbBounceKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbBounceKeysMask);
 
                 delay = xfconf_channel_get_int (helper->channel, "/BounceKeys/Delay", 100);
                 xkb->ctrls->debounce_delay = CLAMP (delay, 1, G_MAXUSHORT);
@@ -267,6 +276,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
             else
             {
                 UNSET_FLAG (xkb->ctrls->enabled_ctrls, XkbBounceKeysMask);
+                SET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbBounceKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbBounceKeysMask);
 
                 xfsettings_dbg (XFSD_DEBUG_ACCESSIBILITY, "bouncekeys disabled");
             }
@@ -278,6 +289,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
             if (xfconf_channel_get_bool (helper->channel, "/MouseKeys", FALSE))
             {
                 SET_FLAG (xkb->ctrls->enabled_ctrls, XkbMouseKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbMouseKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbMouseKeysMask);
 
                 /* get values */
                 delay = xfconf_channel_get_int (helper->channel, "/MouseKeys/Delay", 160);
@@ -307,6 +320,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
             else
             {
                 UNSET_FLAG (xkb->ctrls->enabled_ctrls, XkbMouseKeysMask);
+                SET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbMouseKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbMouseKeysMask);
                 UNSET_FLAG (mask, XkbMouseKeysAccelMask);
 
                 xfsettings_dbg (XFSD_DEBUG_ACCESSIBILITY, "mousekeys disabled");



More information about the Xfce4-commits mailing list