rpms/control-center/devel control-center-2.11.91-help-left-handed-dual-mice-users.patch, 1.2, 1.3 control-center.spec, 1.89, 1.90

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Aug 31 19:29:39 UTC 2005


Author: rstrode

Update of /cvs/dist/rpms/control-center/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv13258

Modified Files:
	control-center-2.11.91-help-left-handed-dual-mice-users.patch 
	control-center.spec 
Log Message:
- Potentially fix tablet bustage (bug 167227)


control-center-2.11.91-help-left-handed-dual-mice-users.patch:
 0 files changed

Index: control-center-2.11.91-help-left-handed-dual-mice-users.patch
===================================================================
RCS file: /cvs/dist/rpms/control-center/devel/control-center-2.11.91-help-left-handed-dual-mice-users.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- control-center-2.11.91-help-left-handed-dual-mice-users.patch	24 Aug 2005 18:06:29 -0000	1.2
+++ control-center-2.11.91-help-left-handed-dual-mice-users.patch	31 Aug 2005 19:29:36 -0000	1.3
@@ -1,217 +0,0 @@
---- control-center-2.11.91/gnome-settings-daemon/gnome-settings-mouse.c.help-left-handed-dual-mice-users	2005-05-22 11:46:43.000000000 -0400
-+++ control-center-2.11.91/gnome-settings-daemon/gnome-settings-mouse.c	2005-08-24 11:32:48.000000000 -0400
-@@ -1,3 +1,5 @@
-+#include <config.h>
-+
- #include <string.h>
- #include <math.h>
- 
-@@ -6,43 +8,162 @@
- #include <gdk/gdkkeysyms.h>
- #include <X11/keysym.h>
- 
-+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
-+#include <X11/extensions/XInput.h>
-+#endif
-+
- #include <gconf/gconf.h>
- 
- #include "gnome-settings-locate-pointer.h"
- #include "gnome-settings-daemon.h"
- 
--#define DEFAULT_PTR_MAP_SIZE 128
-+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
-+static gboolean
-+supports_xinput_devices (void)
-+{
-+  gint op_code, event, error;
- 
--static void
--set_left_handed (gboolean left_handed)
-+  return XQueryExtension (GDK_DISPLAY (), "XInputExtension",
-+                          &op_code, &event, &error);
-+}
-+#endif
-+
-+static void 
-+configure_button_layout (guchar   *buttons,
-+                         gint      n_buttons,
-+                         gboolean  left_handed)
- {
--  unsigned char *buttons;
--  gint n_buttons, i;
--  gint idx_1 = 0, idx_3 = 1;
--
--  buttons = g_alloca (DEFAULT_PTR_MAP_SIZE);
--  n_buttons = XGetPointerMapping (GDK_DISPLAY (), buttons, DEFAULT_PTR_MAP_SIZE);
--  if (n_buttons > DEFAULT_PTR_MAP_SIZE) {
--    buttons = g_alloca (n_buttons);
--    n_buttons = XGetPointerMapping (GDK_DISPLAY (), buttons, n_buttons);
--  }
-+  const gint left_button = 0;
-+  gint right_button;
- 
--  for (i = 0; i < n_buttons; i++)
-+  /* if the button is higher than 2 (3rd button) then it's
-+   * probably one direction of a scroll wheel or something else
-+   * uninteresting
-+   */
-+  right_button = MIN (n_buttons - 1, 2);
-+
-+  if (left_handed)
-+    {
-+      buttons[left_button] = right_button + 1;
-+      buttons[right_button] = left_button + 1;
-+    }
-+  else
-     {
--      if (buttons[i] == 1)
--	idx_1 = i;
--      else if (buttons[i] == ((n_buttons < 3) ? 2 : 3))
--	idx_3 = i;
-+      buttons[left_button] = left_button + 1;
-+      buttons[right_button] = right_button + 1;
-     }
-+}
-+
-+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
-+static gboolean
-+xinput_device_has_buttons (XDeviceInfo *device_info)
-+{
-+  int i;
-+  XAnyClassInfo *class_info;
- 
--  if ((left_handed && idx_1 < idx_3) ||
--      (!left_handed && idx_1 > idx_3))
-+  class_info = device_info->inputclassinfo;
-+  for (i = 0; i < device_info->num_classes; i++)
-     {
--      buttons[idx_1] = ((n_buttons < 3) ? 2 : 3);
--      buttons[idx_3] = 1;
-+
-+      if (class_info->class == ButtonClass)
-+        {
-+          XButtonInfo *button_info;
-+
-+          button_info = (XButtonInfo *) class_info;
-+          if (button_info->num_buttons > 0)
-+            return TRUE;
-+        }
-+
-+      class_info = (XAnyClassInfo *) (((guchar *) class_info) + 
-+                                      class_info->length);
-     }
-+  return FALSE;
-+}
-+
-+static void
-+set_xinput_devices_left_handed (gboolean left_handed)
-+{
-+  XDeviceInfo *device_info;
-+  gint n_devices;
-+  guchar *buttons;
-+  gsize buttons_capacity = 16;
-+  gint n_buttons;
-+  gint i;
-+
-+  device_info = XListInputDevices (GDK_DISPLAY (), &n_devices);
-+
-+  if (n_devices > 0)
-+    buttons = g_new (guchar, buttons_capacity);
-+  else
-+    buttons = NULL;
-+   
-+  for (i = 0; i < n_devices; i++)
-+    {
-+      XDevice *device;
-+
-+      if ((device_info[i].use != IsXExtensionDevice) ||
-+          (!xinput_device_has_buttons (&device_info[i])))
-+        continue;
-+
-+      device = XOpenDevice (GDK_DISPLAY (), device_info[i].id);
-+
-+      n_buttons = XGetDeviceButtonMapping (GDK_DISPLAY (), device,
-+                                           buttons, 
-+                                           buttons_capacity);
-+
-+      while (n_buttons > buttons_capacity)
-+        {
-+          buttons_capacity = n_buttons;
-+          buttons = (guchar *) g_realloc (buttons, 
-+                                          buttons_capacity * sizeof (guchar));
-+
-+          n_buttons = XGetDeviceButtonMapping (GDK_DISPLAY (), device,
-+                                               buttons, 
-+                                               buttons_capacity);
-+        }
-+
-+      configure_button_layout (buttons, n_buttons, left_handed);
-+      
-+      XSetDeviceButtonMapping (GDK_DISPLAY (), device, buttons, n_buttons);
-+      XCloseDevice (GDK_DISPLAY (), device);
-+    }
-+  g_free (buttons);
-+
-+  if (device_info != NULL)
-+    XFreeDeviceList (device_info);
-+}
-+#endif
-+
-+static void
-+set_left_handed (gboolean left_handed)
-+{
-+  guchar *buttons ;
-+  gsize buttons_capacity = 16;
-+  gint n_buttons;
-+
-+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
-+  if (supports_xinput_devices ())
-+    set_xinput_devices_left_handed (left_handed);
-+#endif
-+
-+  buttons = g_new (guchar, buttons_capacity);
-+  n_buttons = XGetPointerMapping (GDK_DISPLAY (), buttons, 
-+                                  (gint) buttons_capacity);
-+  while (n_buttons > buttons_capacity)
-+    {
-+      buttons_capacity = n_buttons;
-+      buttons = (guchar *) g_realloc (buttons, 
-+                                      buttons_capacity * sizeof (guchar));
-+
-+      n_buttons = XGetPointerMapping (GDK_DISPLAY (), buttons, 
-+                                      (gint) buttons_capacity);
-+    }
-+
-+  configure_button_layout (buttons, n_buttons, left_handed);
-+
-+  XSetPointerMapping (GDK_DISPLAY (), buttons, n_buttons); 
- 
--  XSetPointerMapping (GDK_DISPLAY (), buttons, n_buttons);
-+  g_free (buttons);
- }
- 
- static void
-@@ -271,7 +392,7 @@
-   if (! strcmp (entry->key, "/desktop/gnome/peripherals/mouse/left_handed"))
-     {
-       if (entry->value->type == GCONF_VALUE_BOOL)
--	set_left_handed (gconf_value_get_bool (entry->value));
-+        set_left_handed (gconf_value_get_bool (entry->value));
-     }
-   else if (! strcmp (entry->key, "/desktop/gnome/peripherals/mouse/motion_acceleration"))
-     {
---- control-center-2.11.91/configure.in.help-left-handed-dual-mice-users	2005-08-24 10:41:50.000000000 -0400
-+++ control-center-2.11.91/configure.in	2005-08-24 10:41:50.000000000 -0400
-@@ -83,9 +83,11 @@
- ])
- AC_SUBST(XF86MISC_LIBS)
- AC_CHECK_HEADERS(X11/extensions/XKB.h)
-+AC_CHECK_HEADERS(X11/extensions/XInput.h)
- CPPFLAGS=$savecppflags
- 
- 
-+
- dnl ==============================================
- dnl Check that we meet the  dependencies
- dnl ==============================================


Index: control-center.spec
===================================================================
RCS file: /cvs/dist/rpms/control-center/devel/control-center.spec,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- control-center.spec	24 Aug 2005 18:35:36 -0000	1.89
+++ control-center.spec	31 Aug 2005 19:29:36 -0000	1.90
@@ -20,7 +20,7 @@
 Summary: GNOME Control Center.
 Name: control-center
 Version: 2.11.91
-Release: 3
+Release: 4
 Epoch: 1
 License: GPL/LGPL
 Group: User Interface/Desktops
@@ -207,6 +207,9 @@
 # (also its headers)
 
 %changelog
+* Wed Aug 31 2005 Ray Strode <rstrode at redhat.com> - 1:2.11.91-4
+- Potentially fix tablet bustage (bug 167227)
+
 * Tue Aug 23 2005 Ray Strode <rstrode at redhat.com> - 1:2.11.91-3
 - Configure all mice for left-handed mode in left-handed 
   mode (bug 126420)




More information about the fedora-cvs-commits mailing list