diff -Nurd -x'*~' gnome-settings-daemon-2.28.1.orig/plugins/mouse/gsd-mouse-manager.c gnome-settings-daemon-2.28.1/plugins/mouse/gsd-mouse-manager.c
--- gnome-settings-daemon-2.28.1.orig/plugins/mouse/gsd-mouse-manager.c	2009-09-21 06:24:02.000000000 -0400
+++ gnome-settings-daemon-2.28.1/plugins/mouse/gsd-mouse-manager.c	2010-03-03 00:58:19.000000000 -0500
@@ -84,7 +84,9 @@
 static void     gsd_mouse_manager_init        (GsdMouseManager      *mouse_manager);
 static void     gsd_mouse_manager_finalize    (GObject             *object);
 static void     set_mouse_settings            (GsdMouseManager      *manager);
+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
 static XDevice* device_is_touchpad            (XDeviceInfo deviceinfo);
+#endif
 
 G_DEFINE_TYPE (GsdMouseManager, gsd_mouse_manager, G_TYPE_OBJECT)
 
@@ -460,6 +462,7 @@
                                0, 0, motion_threshold);
 }
 
+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
 static XDevice*
 device_is_touchpad (XDeviceInfo deviceinfo)
 {
@@ -494,6 +497,7 @@
         XCloseDevice (GDK_DISPLAY (), device);
         return NULL;
 }
+#endif
 
 static int
 set_disable_w_typing (GsdMouseManager *manager, gboolean state)
@@ -539,6 +543,7 @@
         return 0;
 }
 
+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
 static int
 set_tap_to_click (gboolean state)
 {
@@ -716,6 +721,7 @@
         XFreeDeviceList (devicelist);
         return 0;
 }
+#endif
 
 static void
 set_locate_pointer (GsdMouseManager *manager,
@@ -818,9 +824,11 @@
         set_motion_threshold (manager, gconf_client_get_int (client, KEY_MOTION_THRESHOLD, NULL));
 
         set_disable_w_typing (manager, gconf_client_get_bool (client, KEY_TOUCHPAD_DISABLE_W_TYPING, NULL));
+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
         set_tap_to_click (gconf_client_get_bool (client, KEY_TAP_TO_CLICK, NULL));
         set_edge_scroll (gconf_client_get_int (client, KEY_SCROLL_METHOD, NULL));
         set_horiz_scroll (gconf_client_get_bool (client, KEY_PAD_HORIZ_SCROLL, NULL));
+#endif
 
         g_object_unref (client);
 }
@@ -846,6 +854,7 @@
         } else if (! strcmp (entry->key, KEY_TOUCHPAD_DISABLE_W_TYPING)) {
                 if (entry->value->type == GCONF_VALUE_BOOL)
                         set_disable_w_typing (manager, gconf_value_get_bool (entry->value));
+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
         } else if (! strcmp (entry->key, KEY_TAP_TO_CLICK)) {
                 if (entry->value->type == GCONF_VALUE_BOOL)
                         set_tap_to_click (gconf_value_get_bool (entry->value));
@@ -857,6 +866,7 @@
         } else if (! strcmp (entry->key, KEY_PAD_HORIZ_SCROLL)) {
                 if (entry->value->type == GCONF_VALUE_BOOL)
                         set_horiz_scroll (gconf_value_get_bool (entry->value));
+#endif
         } else if (! strcmp (entry->key, KEY_LOCATE_POINTER)) {
                 if (entry->value->type == GCONF_VALUE_BOOL) {
                         set_locate_pointer (manager, gconf_value_get_bool (entry->value));
@@ -928,9 +938,11 @@
                                 gconf_client_get_bool (client, KEY_DELAY_ENABLE, NULL));
 
         set_disable_w_typing (manager, gconf_client_get_bool (client, KEY_TOUCHPAD_DISABLE_W_TYPING, NULL));
+#ifdef HAVE_X11_EXTENSIONS_XINPUT_H
         set_tap_to_click (gconf_client_get_bool (client, KEY_TAP_TO_CLICK, NULL));
         set_edge_scroll (gconf_client_get_int (client, KEY_SCROLL_METHOD, NULL));
         set_horiz_scroll (gconf_client_get_bool (client, KEY_PAD_HORIZ_SCROLL, NULL));
+#endif
 
         g_object_unref (client);
 
