diff --git a/xfce4-settings-helper/accessibility.c b/xfce4-settings-helper/accessibility.c index b21d3d4..c278b1f 100644 --- a/xfce4-settings-helper/accessibility.c +++ b/xfce4-settings-helper/accessibility.c @@ -192,6 +192,10 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper, /* we always change this, so add it to the mask */ SET_FLAG (mask, XkbControlsEnabledMask); + /* if setting sticky keys, we set expiration too */ + if (HAS_FLAG (mask, XkbStickyKeysMask)) + SET_FLAG (mask, XkbAccessXTimeoutMask); + /* add the mouse keys values mask if needed */ if (HAS_FLAG (mask, XkbMouseKeysMask)) SET_FLAG (mask, XkbMouseKeysAccelMask); @@ -205,6 +209,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper, if (xfconf_channel_get_bool (helper->channel, "/StickyKeys", FALSE)) { SET_FLAG (xkb->ctrls->enabled_ctrls, XkbStickyKeysMask); + UNSET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbStickyKeysMask); + UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbStickyKeysMask); if (xfconf_channel_get_bool (helper->channel, "/StickyKeys/LatchToLock", FALSE)) SET_FLAG (xkb->ctrls->ax_options, XkbAX_LatchToLockMask); @@ -219,6 +225,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper, else { UNSET_FLAG (xkb->ctrls->enabled_ctrls, XkbStickyKeysMask); + SET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbStickyKeysMask); + UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbStickyKeysMask); } }