[xfce4-settings/f14/master] Apply patch to make sticky keys never timeout. Upstream bug http://bugzilla.xfce.org/show_bug.cgi?id

Kevin Fenzi kevin at fedoraproject.org
Tue Mar 29 20:30:08 UTC 2011


commit 9bd7b4e39e04d44726587526fbbc385010033ea7
Author: Kevin Fenzi <kevin at tummy.com>
Date:   Tue Mar 29 14:29:56 2011 -0600

    Apply patch to make sticky keys never timeout.
    Upstream bug http://bugzilla.xfce.org/show_bug.cgi?id=6305
    https://bugzilla.redhat.com/show_bug.cgi?id=691637
    Already applied in 4.8
    Thanks to Andrew McNabb for the patch.

 xfce4-settings-sticky-keys-timeout.patch |   92 ++++++++++++++++++++++++++++++
 xfce4-settings.spec                      |   13 ++++-
 2 files changed, 104 insertions(+), 1 deletions(-)
---
diff --git a/xfce4-settings-sticky-keys-timeout.patch b/xfce4-settings-sticky-keys-timeout.patch
new file mode 100644
index 0000000..1b56068
--- /dev/null
+++ b/xfce4-settings-sticky-keys-timeout.patch
@@ -0,0 +1,92 @@
+--- xfce4-settings-4.6.5/xfce4-settings-helper/accessibility.c.xkbtimeout	2010-05-21 11:05:32.000000000 -0600
++++ xfce4-settings-4.6.5/xfce4-settings-helper/accessibility.c	2011-03-29 11:18:56.000000000 -0600
+@@ -192,6 +192,13 @@
+         /* 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) ||
++                HAS_FLAG (mask, XkbSlowKeysMask) ||
++                HAS_FLAG (mask, XkbBounceKeysMask) ||
++                HAS_FLAG (mask, XkbMouseKeysMask))
++            SET_FLAG (mask, XkbAccessXTimeoutMask);
++
+         /* add the mouse keys values mask if needed */
+         if (HAS_FLAG (mask, XkbMouseKeysMask))
+             SET_FLAG (mask, XkbMouseKeysAccelMask);
+@@ -205,6 +212,8 @@
+             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 +228,8 @@
+             else
+             {
+                 UNSET_FLAG (xkb->ctrls->enabled_ctrls, XkbStickyKeysMask);
++                SET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbStickyKeysMask);
++                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbStickyKeysMask);
+             }
+         }
+         
+@@ -228,13 +239,17 @@
+             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);
+             }
+             else
+             {
+                 UNSET_FLAG (xkb->ctrls->enabled_ctrls, XkbSlowKeysMask);
++                SET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbSlowKeysMask);
++                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbSlowKeysMask);
+             }
+         }
+         
+@@ -244,13 +259,17 @@
+             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);
+             }
+             else
+             {
+                 UNSET_FLAG (xkb->ctrls->enabled_ctrls, XkbBounceKeysMask);
++                SET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbBounceKeysMask);
++                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbBounceKeysMask);
+             }
+         }
+         
+@@ -260,7 +279,9 @@
+             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);
+                 interval = xfconf_channel_get_int (helper->channel, "/MouseKeys/Interval", 20);
+@@ -288,6 +309,8 @@
+             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);
+             }
+         }
diff --git a/xfce4-settings.spec b/xfce4-settings.spec
index 631b246..0b92a8f 100644
--- a/xfce4-settings.spec
+++ b/xfce4-settings.spec
@@ -2,7 +2,7 @@
 
 Name:           xfce4-settings
 Version:        4.6.5
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Settings Manager for Xfce
 
 Group:          User Interface/Desktops
@@ -12,6 +12,9 @@ URL:            http://www.xfce.org/
 Source0:        http://www.xfce.org/archive/src/xfce/%{name}/%{xfceversion}/%{name}-%{version}.tar.bz2
 # Upstream bug: http://bugzilla.xfce.org/show_bug.cgi?id=6236
 Patch1: 	xfce4-settings-4.6.4-dsofix.patch
+# Set sticky keys to always stay on. Upstream: http://bugzilla.xfce.org/show_bug.cgi?id=6305
+# Already applied in 4.8
+Patch2:		xfce4-settings-sticky-keys-timeout.patch
 # use vendor's artwork
 Patch10:        xfce4-settings-4.6.0-fedora.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -42,6 +45,7 @@ This package includes the settings manager applications for the Xfce desktop.
 %prep
 %setup -q
 %patch1 -p1 -b .dsofix
+%patch2 -p1 -b .sticky-keys
 %patch10 -p1 -b .vendor
 
 %build
@@ -120,6 +124,13 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/applications/xfce*.desktop
 
 %changelog
+* Tue Mar 29 2011 Kevin Fenzi <kevin at tummy.com> - 4.6.5-2
+- Apply patch to make sticky keys never timeout. 
+- Upstream bug http://bugzilla.xfce.org/show_bug.cgi?id=6305
+- https://bugzilla.redhat.com/show_bug.cgi?id=691637
+- Already applied in 4.8
+- Thanks to Andrew McNabb for the patch. 
+
 * Fri May 21 2010 Kevin Fenzi <kevin at tummy.com> - 4.6.5-1
 - Update to 4.6.5
 


More information about the scm-commits mailing list