[Xfce4-commits] <xfce4-settings:master> Make sure AccessXKeys control is disabled by default.

Jérôme Guelfucci noreply at xfce.org
Sun Aug 19 22:36:01 CEST 2012


Updating branch refs/heads/master
         to 153b19efaff6577b80d1d396c35c4dd688512da7 (commit)
       from e66a10099be1bfe88ba9b37ce05ed1d420e1d099 (commit)

commit 153b19efaff6577b80d1d396c35c4dd688512da7
Author: Jérôme Guelfucci <jeromeg at xfce.org>
Date:   Sun Aug 19 22:30:44 2012 +0200

    Make sure AccessXKeys control is disabled by default.
    
    Also add an Xfconf property to configure that, the UI still needs to be
    written.

 xfsettingsd/accessibility.c |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/xfsettingsd/accessibility.c b/xfsettingsd/accessibility.c
index edaf1d2..f79d130 100644
--- a/xfsettingsd/accessibility.c
+++ b/xfsettingsd/accessibility.c
@@ -127,7 +127,7 @@ xfce_accessibility_helper_init (XfceAccessibilityHelper *helper)
         g_signal_connect (G_OBJECT (helper->channel), "property-changed", G_CALLBACK (xfce_accessibility_helper_channel_property_changed), helper);
 
         /* restore the xbd configuration */
-        xfce_accessibility_helper_set_xkb (helper, XkbStickyKeysMask | XkbSlowKeysMask | XkbBounceKeysMask | XkbMouseKeysMask);
+        xfce_accessibility_helper_set_xkb (helper, XkbStickyKeysMask | XkbSlowKeysMask | XkbBounceKeysMask | XkbMouseKeysMask | XkbAccessXKeysMask);
 
 #ifdef HAVE_LIBNOTIFY
         /* setup a connection with the notification daemon */
@@ -188,7 +188,8 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
         if (HAS_FLAG (mask, XkbStickyKeysMask) ||
                 HAS_FLAG (mask, XkbSlowKeysMask) ||
                 HAS_FLAG (mask, XkbBounceKeysMask) ||
-                HAS_FLAG (mask, XkbMouseKeysMask))
+                HAS_FLAG (mask, XkbMouseKeysMask) ||
+                HAS_FLAG (mask, XkbAccessXKeysMask))
           SET_FLAG (mask, XkbAccessXTimeoutMask);
 
         /* add the mouse keys values mask if needed */
@@ -198,6 +199,27 @@ xfce_accessibility_helper_set_xkb (XfceAccessibilityHelper *helper,
         /* load the xkb controls into the structure */
         XkbGetControls (GDK_DISPLAY (), mask, xkb);
 
+        /* AccessXKeys */
+        if (HAS_FLAG (mask, XkbAccessXKeysMask))
+        {
+            if (xfconf_channel_get_bool (helper->channel, "/AccessXKeys", FALSE))
+            {
+                SET_FLAG (xkb->ctrls->enabled_ctrls, XkbAccessXKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbAccessXKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbAccessXKeysMask);
+
+                xfsettings_dbg (XFSD_DEBUG_ACCESSIBILITY, "AccessXKeys enabled");
+            }
+            else
+            {
+                UNSET_FLAG (xkb->ctrls->enabled_ctrls, XkbAccessXKeysMask);
+                SET_FLAG (xkb->ctrls->axt_ctrls_mask, XkbAccessXKeysMask);
+                UNSET_FLAG (xkb->ctrls->axt_ctrls_values, XkbAccessXKeysMask);
+
+                xfsettings_dbg (XFSD_DEBUG_ACCESSIBILITY, "AccessXKeys disabled");
+            }
+        }
+
         /* Sticky keys */
         if (HAS_FLAG (mask, XkbStickyKeysMask))
         {


More information about the Xfce4-commits mailing list