[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